Передача файла на сервер 1с.

{codecitation class="brush: vb; gutter: true;" width="500px" }

&НаКлиенте

Функция ПередатьФайлНаСервер(Путь)
Файл = Новый Файл(Путь);
ФайлИсточник = Файл.ПолноеИмя;
Адрес = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ФайлИсточник));
Возврат(Адрес);
КонецФункции // ПередатьНаСервер()
{/codecitation}

 

 

Прием на сервере 1с и сохранение на диске с:\

{codecitation class="brush: vb; gutter: true;" width="500px" }
&НаСервере
Функция ПолучитьФайлНаСервере(Адрес)
МоментСтрока=Сред(ТекущаяДата(),9,2)+Сред(ТекущаяДата(),4,2)+Сред(ТекущаяДата(),1,2)+Сред(ТекущаяДата(),12,2)+Сред(ТекущаяДата(),15,2)+Сред(ТекущаяДата(),18,2);
//ФайлПриемник = КаталогВременныхФайлов()+МоментСтрока+".dbf";
Последние8Символов=сред(МоментСтрока,СтрДлина(МоментСтрока)-8,8);
ФайлПриемник = "c:\"+Последние8Символов+".dbf";
ГдеИскать = ФайлПриемник;
ДанныеХранилища = ПолучитьИзВременногоХранилища(Адрес);
ДанныеХранилища.Записать(ФайлПриемник);
Возврат(ФайлПриемник);
КонецФункции // ПолучитьФайлНаСервере()

{/codecitation}

 

Процедура СохранитьТЗвБДФ(ТЗ, Файл, Кодировка = Неопределено)
    ДБФ = Новый XBase;
    Если Кодировка = Неопределено Тогда
        Кодировка = КодировкаXBase.OEM;
    КонецЕсли;    
    ДБФ.Кодировка = Кодировка;
    
    Для Каждого Колонка ИЗ ТЗ.Колонки Цикл
        Если Колонка.ТипЗначения.СодержитТип(Тип("Строка")) Тогда
            Тип = "S";
            Длина = Колонка.ТипЗначения.КвалификаторыСтроки.Длина;
            Если Длина = 0 Тогда
                Длина = 100;
            КонецЕсли;    
            Точность = 0;
            
        ИначеЕсли Колонка.ТипЗначения.СодержитТип(Тип("Число")) Тогда    
            Тип = "N";
            Длина = Колонка.ТипЗначения.КвалификаторыЧисла.Разрядность;
            Точность = Колонка.ТипЗначения.КвалификаторыЧисла.РазрядностьДробнойЧасти;
            Если Длина = 0 Тогда
                Длина = 15;
                Точность = 3;
            КонецЕсли;    
            
        ИначеЕсли Колонка.ТипЗначения.СодержитТип(Тип("Дата")) Тогда    
            Тип = "D";
            Длина = 0;
            Точность = 0;
            
        ИначеЕсли Колонка.ТипЗначения.СодержитТип(Тип("Булево")) Тогда    
            Тип = "L";
            Дина = 0;
            Точность = 0;
            
        Иначе
            Тип = "S";
            Длина = 100;
            Точность = 0;
        КонецЕсли;    
        
        ДБФ.поля.Добавить(Колонка.Имя, Тип, Длина, Точность);
    КонецЦикла;
    ДБФ.СоздатьФайл(Файл);
    
    Для Каждого Стр ИЗ ТЗ Цикл
        ДБФ.Добавить();
        ЗаполнитьЗначенияСвойств(ДБФ, Стр);
        ДБФ.Записать();
    КонецЦикла;    
КонецПроцедуры