() есть версия с загрузкой заказов но сюда не выкладываю т.к написана для УТ11.4: Агент Плюс Мобильная Торговля.
#Область ДанныеИмпорта
Процедура ВывестиВПротоколЗагрузки(СпособЗагрузки,ЛогТекст,ТекстКомментария,ЭтоОшибка=Ложь) Экспорт
ЛогТекст.ДобавитьСтроку(Строка(ТекущаяДатаСеанса())+ " - "+ТекстКомментария);
КонецПроцедуры
Функция ПреобразоватьВДанные1С(Знач Знч,Знач ТипДанныхСтр,Знач соответствиеКэшСкладов=Неопределено)
Если ТипДанныхСтр="Число" Тогда
Возврат Число(Знч);
ИначеЕсли ТипДанныхСтр="Дата" Тогда
Возврат ?(ЗначениеЗаполнено(Знч),Дата(Знч),Дата('00010101'));
ИначеЕсли ТипДанныхСтр="DTLM" Тогда
Возврат ?(ЗначениеЗаполнено(Знч),Дата(СтрЗаменить(СтрЗаменить(Знч, " ",""),":","")),Дата('00010101'));
ИначеЕсли ТипДанныхСтр="Булево" Тогда
Возврат Булево(Знч);
ИначеЕсли ТипДанныхСтр="Строка" Тогда
Возврат СокрЛП(Строка(Знч));
ИначеЕсли ТипДанныхСтр="Агенты" Тогда
Если НЕ ЗначениеЗаполнено(Знч) Тогда
Возврат Неопределено;
КонецЕсли;
Возврат ПланыОбмена.апМобильноеПриложениеТорговыйПредставитель.НайтиПоКоду(СокрЛП(Знч));
ИначеЕсли ТипДанныхСтр="Номенклатура" Тогда
Если НЕ ЗначениеЗаполнено(Знч) Тогда
Возврат Неопределено;
КонецЕсли;
Возврат Справочники.Номенклатура.НайтиПоКоду(СокрЛП(Знч));
ИначеЕсли ТипДанныхСтр="Партнеры" Тогда
Если НЕ ЗначениеЗаполнено(Знч) Тогда
Возврат Неопределено;
КонецЕсли;
СтрокаЗнч=СокрЛП(Строка(Знч));
Если ЗначениеЗаполнено(СтрокаЗнч) Тогда
НашлиПартнера=Справочники.Партнеры.НайтиПоРеквизиту("rozКодКонтрагентаТочкиДоставкиКИС",СокрЛП(Знч));
Если ЗначениеЗаполнено(НашлиПартнера) Тогда
Возврат НашлиПартнера;
КонецЕсли;
НашлиПартнера=Справочники.Партнеры.НайтиПоКоду(СокрЛП(Знч));
Если ЗначениеЗаполнено(НашлиПартнера) Тогда
Возврат НашлиПартнера;
КонецЕсли;
КонецЕсли;
ИначеЕсли ТипДанныхСтр="Контрагенты" Тогда
Если НЕ ЗначениеЗаполнено(Знч) Тогда
Возврат Неопределено;
КонецЕсли;
СтрокаЗнч=СокрЛП(Строка(Знч));
Если ЗначениеЗаполнено(СтрокаЗнч) Тогда
НашлиКонтрагента=Справочники.Контрагенты.НайтиПоРеквизиту("rozКодКонтрагентаКИС",СокрЛП(Знч));
Если ЗначениеЗаполнено(НашлиКонтрагента) Тогда
Возврат НашлиКонтрагента;
КонецЕсли;
НашлиКонтрагента=Справочники.Контрагенты.НайтиПоКоду(СокрЛП(Знч));
Если ЗначениеЗаполнено(НашлиКонтрагента) Тогда
Возврат НашлиКонтрагента;
КонецЕсли;
КонецЕсли;
ИначеЕсли ТипДанныхСтр="Склады" Тогда
Если НЕ ЗначениеЗаполнено(Знч) Тогда
Возврат Неопределено;
КонецЕсли;
СтрокаЗнч=СокрЛП(Строка(Знч));
Если ЗначениеЗаполнено(СтрокаЗнч) Тогда
Возврат соответствиеКэшСкладов.Получить(СокрЛП(Знч));
КонецЕсли;
КонецЕсли;
Возврат Неопределено;
КонецФункции
Процедура ЗаполнитьУсловияПродажПоСоглашению(ОбъектДок, Соглашение)
Если Не ЗначениеЗаполнено(ОбъектДок.Склад) Тогда
ОбъектДок.Склад = Соглашение.Склад;
КонецЕсли;
ВалютаВзаиморасчетов = Соглашение.Валюта;
ОбъектДок.ХозяйственнаяОперация = Соглашение.ХозяйственнаяОперация;
ОбъектДок.ПорядокРасчетов = Соглашение.ПорядокРасчетов;
ОбъектДок.ЗаполнитьУсловияПродажПоСоглашению();
Если ЗначениеЗаполнено(Соглашение.ГрафикОплаты) Тогда
ОбъектДок.ГрафикОплаты = Соглашение.ГрафикОплаты;
Если Не ЗначениеЗаполнено(ОбъектДок.ФормаОплаты) Тогда
ОбъектДок.ФормаОплаты = Соглашение.ГрафикОплаты.ФормаОплаты;
КонецЕсли;
КонецЕсли;
ОбъектДок.БанковскийСчет = Справочники.БанковскиеСчетаОрганизаций.ПолучитьБанковскийСчетОрганизацииПоУмолчанию(ОбъектДок.Организация, Неопределено);
ОбъектДок.БанковскийСчетКонтрагента = ЗначениеНастроекПовтИсп.ПолучитьБанковскийСчетКонтрагентаПоУмолчанию(ОбъектДок.Контрагент, , ОбъектДок.БанковскийСчетКонтрагента);
ОбъектДок.ЦенаВключаетНДС = Соглашение.ЦенаВключаетНДС;
ОбъектДок.ГруппаФинансовогоУчета = Соглашение.ГруппаФинансовогоУчета;
СтруктураПараметров = Новый Структура();
СтруктураПараметров.Вставить("Организация", ОбъектДок.Организация);
СтруктураПараметров.Вставить("ФормаОплаты", ОбъектДок.ФормаОплаты);
СтруктураПараметров.Вставить("Касса", Справочники.Кассы.ПустаяСсылка());
СтруктураПараметров.Вставить("Валюта", ОбъектДок.Валюта);
СтруктураПараметров.Вставить("НаправлениеДеятельности", ОбъектДок.НаправлениеДеятельности);
ОбъектДок.Касса = ЗначениеНастроекПовтИсп.ПолучитьКассуОрганизацииПоУмолчанию(СтруктураПараметров);
Договор = ПродажиСервер.ПолучитьДоговорПоУмолчанию(
ОбъектДок,
ОбъектДок.ХозяйственнаяОперация,
ВалютаВзаиморасчетов
);
НалогообложениеНДС = ЗначениеНастроекПовтИсп.НалогообложениеНДС(ОбъектДок.Организация, ОбъектДок.Склад, Договор , ОбъектДок.НаправлениеДеятельности, ТекущаяДатаСеанса());
ОбъектДок.НалогообложениеНДС = НалогообложениеНДС;
Если Не Договор = ОбъектДок.Договор Тогда
ОбъектДок.Договор = Договор;
ПродажиСервер.ЗаполнитьБанковскиеСчетаПоДоговору(ОбъектДок.Договор, ОбъектДок.БанковскийСчет, ОбъектДок.БанковскийСчетКонтрагента);
КонецЕсли;
КонецПроцедуры
Процедура СоздатьЗаказы(XB_ЗаказыШапка,XB_ЗаказыСтроки,СпособЗагрузки,ЛогТекст)
Перем ДоляПрогресса;
Перем Прогресс;
XB_ЗаказыШапка.Первая();
ВсегоЗаписей_XB_ЗаказыШапка=XB_ЗаказыШапка.КоличествоЗаписей();
ДоляПрогресса=?(ВсегоЗаписей_XB_ЗаказыШапка>0,Окр(100/ВсегоЗаписей_XB_ЗаказыШапка,0),0);
Прогресс=0;
ДеревоЗаказов = Новый ДеревоЗначений;
ДеревоЗаказов.Колонки.Добавить("Order_No"); //Идентификатор документа
ДеревоЗаказов.Колонки.Добавить("OL_Code"); //Код ТТ
ДеревоЗаказов.Колонки.Добавить("Контрагент"); //Контрагент
ДеревоЗаказов.Колонки.Добавить("Order_Date"); //Время и дата создания документа
ДеревоЗаказов.Колонки.Добавить("Exec_Date"); //Дата, на которую должен быть выполнен (отгружен) заказ
ДеревоЗаказов.Колонки.Добавить("DOUBLED"); //Специальный атрибут повторного экспорта документа
ДеревоЗаказов.Колонки.Добавить("COMMENT"); //Произвольный комментарий к заявке
ДеревоЗаказов.Колонки.Добавить("DTLM"); //Дата и время модификации записи в SalesWorks.
ДеревоЗаказов.Колонки.Добавить("Pay_Date"); //Дата оплаты
ДеревоЗаказов.Колонки.Добавить("MERCH_CODE"); //Внешний код торгового представителя из учетной системы
ДеревоЗаказов.Колонки.Добавить("WAREH_CODE"); //Код склада
ДеревоЗаказов.Колонки.Добавить("LOCALCODE"); //Код локальной продукции
ДеревоЗаказов.Колонки.Добавить("Qty"); //Количество товара
МассивНомеровУспешноЗагруженныхЗаказов=Новый Массив();
Попытка
//шапки заказов
НомДокаИзФайла=0;
Пока НЕ XB_ЗаказыШапка.ВКонце() Цикл
НомДокаИзФайла=НомДокаИзФайла+1;
НомерЗаказа = ПреобразоватьВДанные1С(XB_ЗаказыШапка.ПолучитьЗначениеПоля("Order_No"),"Число");
Если НЕ ЗначениеЗаполнено(НомерЗаказа) Тогда
ВывестиВПротоколЗагрузки(СпособЗагрузки,ЛогТекст,"Пустой номер заказа. Пропуск строки "+СокрЛП(XB_ЗаказыШапка.НомерЗаписи())+" файла OLORDERH",Истина);
XB_ЗаказыШапка.Следующая();
Продолжить;
КонецЕсли;
ПредставлениеДокумента="№ "+СокрЛП(НомерЗаказа)+" от "+XB_ЗаказыШапка.ПолучитьЗначениеПоля("Order_Date");
ТочкаЗаказа = ПреобразоватьВДанные1С(XB_ЗаказыШапка.ПолучитьЗначениеПоля("OL_Code"),"Партнеры");
Если НЕ ЗначениеЗаполнено(ТочкаЗаказа) Тогда
ВывестиВПротоколЗагрузки(СпособЗагрузки,ЛогТекст,"Не найден партнер по коду """+XB_ЗаказыШапка.ПолучитьЗначениеПоля("OL_Code")+""". Пропуск документа "+ПредставлениеДокумента,Истина);
XB_ЗаказыШапка.Следующая();
Продолжить;
КонецЕсли;
Если ЗначениеЗаполнено(ТочкаЗаказа) И ТочкаЗаказа.ПометкаУдаления Тогда
ВывестиВПротоколЗагрузки(СпособЗагрузки,ЛогТекст,"Партнер помечен на удаление """+XB_ЗаказыШапка.ПолучитьЗначениеПоля("OL_Code")+""". Пропуск документа "+ПредставлениеДокумента,Истина);
XB_ЗаказыШапка.Следующая();
Продолжить;
КонецЕсли;
Контрагент = ПреобразоватьВДанные1С(XB_ЗаказыШапка.ПолучитьЗначениеПоля("PAYF_CODE"),"Контрагенты");
Если НЕ ЗначениеЗаполнено(Контрагент) Тогда
ВывестиВПротоколЗагрузки(СпособЗагрузки,ЛогТекст,"Не найден контрагент по коду """+XB_ЗаказыШапка.ПолучитьЗначениеПоля("PAYF_CODE")+""". Пропуск документа "+ПредставлениеДокумента,Истина);
XB_ЗаказыШапка.Следующая();
Продолжить;
КонецЕсли;
Если ЗначениеЗаполнено(Контрагент) И Контрагент.ПометкаУдаления Тогда
ВывестиВПротоколЗагрузки(СпособЗагрузки,ЛогТекст,"Контрагент помечен на удаление """+XB_ЗаказыШапка.ПолучитьЗначениеПоля("PAYF_CODE")+""". Пропуск документа "+ПредставлениеДокумента,Истина);
XB_ЗаказыШапка.Следующая();
Продолжить;
КонецЕсли;
АгентЗаказа = ПреобразоватьВДанные1С(XB_ЗаказыШапка.ПолучитьЗначениеПоля("MERCH_CODE"),"Агенты");
Если НЕ ЗначениеЗаполнено(АгентЗаказа) Тогда
ВывестиВПротоколЗагрузки(СпособЗагрузки,ЛогТекст,"Не найден агент по коду """+XB_ЗаказыШапка.ПолучитьЗначениеПоля("MERCH_CODE")+""". Пропуск документа "+ПредставлениеДокумента,Истина);
XB_ЗаказыШапка.Следующая();
Продолжить;
КонецЕсли;
НашлиЗаказВ1с=Документы.ЗаказКлиента.НайтиПоРеквизиту("rozКодSWE",НомерЗаказа);
Если ЗначениеЗаполнено(НашлиЗаказВ1с) Тогда
ВывестиВПротоколЗагрузки(СпособЗагрузки,ЛогТекст,"Заказ уже был загружен в КИС """+СокрЛП(НашлиЗаказВ1с)+""". Пропуск документа "+ПредставлениеДокумента,Истина);
МассивНомеровУспешноЗагруженныхЗаказов.Добавить(НомерЗаказа);
XB_ЗаказыШапка.Следующая();
Продолжить;
КонецЕсли;
СтрДеревоЗаказов=ДеревоЗаказов.Строки.Добавить();
СтрДеревоЗаказов.Order_No = НомерЗаказа;
СтрДеревоЗаказов.OL_Code = ТочкаЗаказа;
СтрДеревоЗаказов.Контрагент = Контрагент;
СтрДеревоЗаказов.MERCH_CODE = АгентЗаказа;
СтрДеревоЗаказов.Order_Date = ПреобразоватьВДанные1С(XB_ЗаказыШапка.ПолучитьЗначениеПоля("Order_Date"),"Дата");
СтрДеревоЗаказов.Exec_Date = ПреобразоватьВДанные1С(XB_ЗаказыШапка.ПолучитьЗначениеПоля("Exec_Date"),"Дата");
СтрДеревоЗаказов.DOUBLED = ПреобразоватьВДанные1С(XB_ЗаказыШапка.ПолучитьЗначениеПоля("DOUBLED"),"Булево");
СтрДеревоЗаказов.COMMENT = ПреобразоватьВДанные1С(XB_ЗаказыШапка.ПолучитьЗначениеПоля("COMMENT"),"Строка");
СтрДеревоЗаказов.DTLM = ПреобразоватьВДанные1С(XB_ЗаказыШапка.ПолучитьЗначениеПоля("DTLM"),"DTLM");
СтрДеревоЗаказов.Pay_Date = ПреобразоватьВДанные1С(XB_ЗаказыШапка.ПолучитьЗначениеПоля("Pay_Date"),"Дата");
СтрДеревоЗаказов.WAREH_CODE = ЭтотОбъект.ОсновнойСклад;
XB_ЗаказыШапка.Следующая();
КонецЦикла;
XB_ЗаказыСтроки.Первая();
ВсегоЗаписей_XB_ЗаказыСтроки=XB_ЗаказыСтроки.КоличествоЗаписей();
//строки заказов
НомДокаИзФайла=0;
Пока НЕ XB_ЗаказыСтроки.ВКонце() Цикл
НомДокаИзФайла=НомДокаИзФайла+1;
ПредставлениеДокумента="№ "+СокрЛП(XB_ЗаказыСтроки.ПолучитьЗначениеПоля("Order_No"));
НомерЗаказа = ПреобразоватьВДанные1С(XB_ЗаказыСтроки.ПолучитьЗначениеПоля("Order_No"),"Число");
НашлиСтрокуДерева=ДеревоЗаказов.Строки.Найти(НомерЗаказа,"Order_No");
Если НашлиСтрокуДерева<>Неопределено Тогда
ТоварКИС = ПреобразоватьВДанные1С(XB_ЗаказыСтроки.ПолучитьЗначениеПоля("LOCALCODE"),"Номенклатура");
Если НЕ ЗначениеЗаполнено(ТоварКИС) Тогда
ВывестиВПротоколЗагрузки(СпособЗагрузки,ЛогТекст,"Не найден товар по коду """+СокрЛП(XB_ЗаказыСтроки.ПолучитьЗначениеПоля("LOCALCODE"))+""". Пропуск строки документа "+ПредставлениеДокумента,Истина);
XB_ЗаказыСтроки.Следующая();
Продолжить;
КонецЕсли;
КолВо=ПреобразоватьВДанные1С(XB_ЗаказыСтроки.ПолучитьЗначениеПоля("Qty"),"Число");
Если НЕ КолВо>0 Тогда
ВывестиВПротоколЗагрузки(СпособЗагрузки,ЛогТекст,"Нулевое количество для товара """+СокрЛП(XB_ЗаказыСтроки.ПолучитьЗначениеПоля("LOCALCODE"))+""". Пропуск строки документа "+ПредставлениеДокумента,Истина);
XB_ЗаказыСтроки.Следующая();
Продолжить;
КонецЕсли;
СтрДеревоЗаказов=НашлиСтрокуДерева.Строки.Добавить();
СтрДеревоЗаказов.LOCALCODE = ТоварКИС;
СтрДеревоЗаказов.Qty = КолВо;
КонецЕсли;
XB_ЗаказыСтроки.Следующая();
КонецЦикла;
//загрузка заказов из деревазначений
ЗаказовКЗагрузке=ДеревоЗаказов.Строки.Количество();
ВывестиВПротоколЗагрузки(СпособЗагрузки,ЛогТекст,"Создание заказов ("+ЗаказовКЗагрузке+")");
ЗагруженоЗаказов=0;
Для каждого СтрШапка Из ДеревоЗаказов.Строки Цикл
ЗагруженоЗаказов=ЗагруженоЗаказов+1;
ОбъектДок = Документы.ЗаказКлиента.СоздатьДокумент();
ОбъектДок.Дата=ТекущаяДатаСеанса();
ОбъектДок.Заполнить(Неопределено);
ОбъектДок.rozКодSWE = СтрШапка.Order_No;
ОбъектДок.Комментарий = СтрШапка.COMMENT;
ОбъектДок.Менеджер = СтрШапка.MERCH_CODE.Пользователь;
ОбъектДок.Партнер = СтрШапка.OL_Code;
ОбъектДок.Контрагент = СтрШапка.Контрагент;
ОбъектДок.Склад = СтрШапка.WAREH_CODE;
ОбъектДок.Валюта = Константы.ВалютаУправленческогоУчета.Получить();
ОбъектДок.вртТранзитнаяДоставка = ЗначениеЗаполнено(ОбъектДок.Партнер.вртСкладКроссДок);
ОбъектДок.вртСкладКроссДок = ОбъектДок.Партнер.вртСкладКроссДок;
Если ЗначениеЗаполнено(ОбъектДок.Партнер) И ОбъектДок.Партнер.вртТипПартнераКлиента = Перечисления.вртТипПартнераКлиента.ТочкаДоставки Тогда
ОбъектДок.СпособДоставки = Перечисления.СпособыДоставки.ДоКлиента;
струкАдресДоставки = rozСервер.АдресДоставкиПартнераИзКонтактнойИнформации(ОбъектДок.Партнер);
ОбъектДок.АдресДоставки = струкАдресДоставки.АдресДоставки;
ОбъектДок.АдресДоставкиЗначенияПолей = струкАдресДоставки.АдресДоставкиЗначенияПолей;
Если ЗначениеЗаполнено(ОбъектДок.Партнер.вртПеревозчикПартнер) Тогда
ОбъектДок.СпособДоставки = Перечисления.СпособыДоставки.СиламиПеревозчикаПоАдресу;
ОбъектДок.ПеревозчикПартнер = ОбъектДок.Партнер.вртПеревозчикПартнер;
струкАдресДоставки = rozСервер.АдресДоставкиПартнераИзКонтактнойИнформации(ОбъектДок.Партнер.вртПеревозчикПартнер);
ОбъектДок.АдресДоставкиПеревозчика = струкАдресДоставки.АдресДоставки;
ОбъектДок.АдресДоставкиПеревозчикаЗначенияПолей = струкАдресДоставки.АдресДоставкиЗначенияПолей;
КонецЕсли;
КонецЕсли;
СтатусЗаказа = Перечисления.СтатусыЗаказовКлиентов.НеСогласован;
ОбъектДок.Приоритет = Справочники.Приоритеты.ПолучитьПриоритетПоУмолчанию(Справочники.Приоритеты.ПустаяСсылка());
ОбъектДок.Статус = СтатусЗаказа;
ОбъектДок.ЖелаемаяДатаОтгрузки = СтрШапка.Exec_Date;
ОбъектДок.ДатаОтгрузки = СтрШапка.Exec_Date;
Если Не ЗначениеЗаполнено(ОбъектДок.ХозяйственнаяОперация) Тогда
ОбъектДок.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияКлиенту;
КонецЕсли;
ОтветственныеЛицаСервер.ПриИзмененииСвязанныхРеквизитовДокумента(ОбъектДок);
Для каждого СтрТЧ Из СтрШапка.Строки Цикл
ТекНоменклатура=СтрТЧ.LOCALCODE;
НоваяСтрока=ОбъектДок.Товары.Найти(ТекНоменклатура,"Номенклатура");
Если НЕ НоваяСтрока=Неопределено Тогда
НоваяСтрока.Количество = НоваяСтрока.Количество+СтрТЧ.Qty;
Иначе
НоваяСтрока = ОбъектДок.Товары.Добавить();
НоваяСтрока.Номенклатура = ТекНоменклатура;
НоваяСтрока.Количество = СтрТЧ.Qty;
КонецЕсли;
ТекЕдиница = ТекНоменклатура.ЕдиницаИзмерения;
ТекВидЦены = ЭтотОбъект.ВидЦеныПрайс;
ТекСклад = ОбъектДок.Склад;
ТекХарактеристика=Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка();
ПроцентРучнойСкидки = 0;
Количество=НоваяСтрока.Количество;
Цена=0;
ИспХарактеристики = Константы.ИспользоватьХарактеристикиНоменклатуры.Получить();
ПоляСтруктуры = "Номенклатура, Характеристика, Упаковка, Склад, ВидЦены, Цена, КоличествоУпаковок, ПроцентРучнойСкидки, СрокПоставки, ДатаОтгрузки";
ДопПоля = "Количество, Сумма, СтавкаНДС, СуммаНДС, СуммаСНДС, СуммаРучнойСкидки, СуммаАвтоматическойСкидки," +
"ПроцентАвтоматическойСкидки, СтатусУказанияСерий, ПричинаОтмены, Содержание";
ВспомогательныеПоля = "ХарактеристикиИспользуются, Отменено, ТипНоменклатуры, ВариантОформленияПродажи, СуммаОтменено, СуммаНДСОтменено," +
"СуммаСНДСОтменено, СуммаАвтоматическойСкидкиОтменено, СуммаРучнойСкидкиОтменено";
ИтоговыеПоляСтруктуры = ПоляСтруктуры + "," + ВспомогательныеПоля + "," + ДопПоля;
СтруктураЗаполнения = Новый Структура(ИтоговыеПоляСтруктуры, ТекНоменклатура, ТекХарактеристика, ТекЕдиница, ТекСклад, ТекВидЦены, Цена,
Количество, ПроцентРучнойСкидки, ОбъектДок.Соглашение.СрокПоставки, ОбъектДок.ДатаОтгрузки, ИспХарактеристики, Ложь);
СтруктураПересчетаСуммы = ОбработкаТабличнойЧастиКлиентСервер.ПараметрыПересчетаСуммыНДСВСтрокеТЧ(ОбъектДок);
СтруктураДействий = Новый Структура;
СтруктураДействий.Вставить("ПроверитьХарактеристикуПоВладельцу", ТекХарактеристика);
СтруктураДействий.Вставить("ПроверитьЗаполнитьУпаковкуПоВладельцу", ТекЕдиница);
СтруктураДействий.Вставить("ПересчитатьКоличествоЕдиниц");
СтруктураДействий.Вставить("ЗаполнитьСтавкуНДС", Новый Структура("НалогообложениеНДС, Дата, ПоДатеОтгрузки", ОбъектДок.НалогообложениеНДС, ОбъектДок.Дата, Истина));
СтруктураДействий.Вставить("ЗаполнитьПризнакВариантОформленияПродажи", Новый Структура("Номенклатура", "ВариантОформленияПродажи"));
СтруктураДействий.Вставить("ЗаполнитьСодержание",ОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруЗаполненияСодержанияУслугиВСтрокеТЧ(
Новый Структура("ХозяйственнаяОперация", ОбъектДок.ХозяйственнаяОперация), Ложь));
СтруктураЗависимыхРеквизитов = Новый Структура("Отменено", "Сумма, СуммаНДС, СуммаСНДС, СуммаАвтоматическойСкидки, СуммаРучнойСкидки");
СтруктураДействий.Вставить("ЗаполнитьДубликатыЗависимыхРеквизитов", СтруктураЗависимыхРеквизитов);
СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы);
СтруктураДействий.Вставить("ПересчитатьСумму");
СтруктураДействий.Вставить("ПересчитатьСуммуСУчетомРучнойСкидки", Новый Структура("Очищать", Ложь));
СтруктураДействий.Вставить("ПересчитатьСуммуСУчетомАвтоматическойСкидки", Новый Структура("Очищать", Истина));
СтруктураДействий.Вставить("ЗаполнитьПризнакТипНоменклатуры", Новый Структура("Номенклатура", "ТипНоменклатуры"));
Если ЗначениеЗаполнено(ОбъектДок.Соглашение) Тогда
СтруктураДействий.Вставить("ЗаполнитьУсловияПродаж", ОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруЗаполненияУсловийПродажВСтрокеТЧ(ОбъектДок));
Иначе
СтруктураДействий.Вставить("ЗаполнитьЦенуПродажи", ОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруЗаполненияЦеныВСтрокеТЧ(ОбъектДок));
КонецЕсли;
КэшированныеЗначения = ОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруКэшируемыеЗначения();
ОбработкаТабличнойЧастиСервер.ОбработатьСтрокуТЧ(СтруктураЗаполнения, СтруктураДействий, КэшированныеЗначения);
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтруктураЗаполнения, ПоляСтруктуры + "," + ДопПоля);
РезервированиеЗаказа=Истина;
НоваяСтрока.ВариантОбеспечения = ?(РезервированиеЗаказа, Перечисления.ВариантыОбеспечения.Отгрузить, Перечисления.ВариантыОбеспечения.Требуется);
КонецЦикла; //строки дока
ОбъектДок.ЗаполнитьЭтапыГрафикаОплаты();
//расчет скидок ++
СтруктураПараметры = Новый Структура;
СтруктураПараметры.Вставить("ПрименятьКОбъекту", Истина);
СтруктураПараметры.Вставить("ТолькоПредварительныйРасчет", Ложь);
СтруктураПараметры.Вставить("ВосстанавливатьУправляемыеСкидки", Ложь);
СтруктураПараметры.Вставить("УправляемыеСкидки", Неопределено);
СкидкиНаценкиСервер.РассчитатьПоЗаказуКлиента(ОбъектДок, СтруктураПараметры);
//расчет скидок --
ВывестиВПротоколЗагрузки(СпособЗагрузки,ЛогТекст,"Попытка записи в КИС из документа "+"№ "+СокрЛП(СтрШапка.Order_No)+" от "+СокрЛП(СтрШапка.Order_Date));
ОбъектДок.Записать();
Если ЗначениеЗаполнено(ОбъектДок.Ссылка) Тогда
ВывестиВПротоколЗагрузки(СпособЗагрузки,ЛогТекст,"Создан документ в КИС "+СокрЛП(ОбъектДок)+". Загружен из документа "+"№ "+СокрЛП(СтрШапка.Order_No)+" от "+СокрЛП(СтрШапка.Order_Date));
МассивНомеровУспешноЗагруженныхЗаказов.Добавить(СтрШапка.Order_No);
КонецЕсли;
КонецЦикла; //шапки дока
Исключение
СтрИсключения="Ошибка при загрузке заказов - "+СокрЛП(ОписаниеОшибки());
ВывестиВПротоколЗагрузки(СпособЗагрузки,ЛогТекст,СтрИсключения,Истина);
УдалитьУспешноЗагруженныеЗаказыИзДБФ(XB_ЗаказыШапка,МассивНомеровУспешноЗагруженныхЗаказов);
УдалитьУспешноЗагруженныеЗаказыИзДБФ(XB_ЗаказыСтроки,МассивНомеровУспешноЗагруженныхЗаказов);
ВызватьИсключение СтрИсключения;
КонецПопытки;
УдалитьУспешноЗагруженныеЗаказыИзДБФ(XB_ЗаказыШапка,МассивНомеровУспешноЗагруженныхЗаказов);
УдалитьУспешноЗагруженныеЗаказыИзДБФ(XB_ЗаказыСтроки,МассивНомеровУспешноЗагруженныхЗаказов);
КонецПроцедуры
Процедура УдалитьУспешноЗагруженныеЗаказыИзДБФ(ДБФ_файл,МассивНомеровУспешноЗагруженныхЗаказов)
Для каждого СчЭл Из МассивНомеровУспешноЗагруженныхЗаказов Цикл
ДБФ_файл.Первая();
Пока НЕ ДБФ_файл.ВКонце() Цикл
Если ПреобразоватьВДанные1С(ДБФ_файл.ПолучитьЗначениеПоля("Order_No"),"Число")=СчЭл Тогда
ДБФ_файл.Удалить();
КонецЕсли;
ДБФ_файл.Следующая();
КонецЦикла;
КонецЦикла;
ДБФ_файл.Сжать();
ДБФ_файл.ЗакрытьФайл();
КонецПроцедуры
Процедура ЗагрузитьДанные(струкНастроек,СпособЗагрузки="Интерактивно") Экспорт
Если НЕ ПроверитьЗаполнение() Тогда
ОповеститьОбОшибке("Ошибки проверки заполнения");
Возврат;
КонецЕсли;
//Importexportyyyymm
ПутьКЛогу=ДополнитьСлешВПуть(ЭтотОбъект.КаталогЛогов)+"Import"+Формат(ТекущаяДатаСеанса(),"ДФ=yyyyММ")+".txt";
ЛогТекст = Новый ТекстовыйДокумент;
ФИ=Новый Файл(ПутьКЛогу);
Если ФИ.Существует() Тогда
ЛогТекст.Прочитать(ПутьКЛогу);
КонецЕсли;
ВывестиВПротоколЗагрузки(СпособЗагрузки,ЛогТекст,"Начало загрузки: "+ СпособЗагрузки);
Значение =Ложь;
ИмпортЭкспорт=Ложь;
ДирБлок(ИмпортЭкспорт,Значение);
Попытка
Если Значение = Истина Тогда
Если ЭтотОбъект.ИспользоватьФТП Тогда
ФТП_ВсеОК=ПолучитьСФТП(ЛогТекст);
Если НЕ ФТП_ВсеОК Тогда
ВывестиВПротоколЗагрузки(СпособЗагрузки,ЛогТекст,"Конец загрузки");
ЛогТекст.Записать(ПутьКЛогу,"windows-1251");
ЗакрытиеДирБлока(ИмпортЭкспорт);
Возврат;
КонецЕсли;
КонецЕсли;
ВывестиВПротоколЗагрузки(СпособЗагрузки,ЛогТекст,"Открытие файла для чтения: OLORDERH.DBF и OLORDERD.DBF");
XB_ЗаказыШапка=ОткрытьФайлИмпорта("OLORDERH.DBF",ЛогТекст);
XB_ЗаказыСтроки=ОткрытьФайлИмпорта("OLORDERD.DBF",ЛогТекст);
Если НЕ XB_ЗаказыШапка=Неопределено И НЕ XB_ЗаказыСтроки=Неопределено Тогда
СоздатьЗаказы(XB_ЗаказыШапка,XB_ЗаказыСтроки,СпособЗагрузки,ЛогТекст);
Иначе
Если XB_ЗаказыШапка<>Неопределено Тогда
XB_ЗаказыШапка.ЗакрытьФайл();
Иначе
ВывестиВПротоколЗагрузки(СпособЗагрузки,ЛогТекст,"Файл OLORDERH.DBF ошибка открытия!",Истина);
КонецЕсли;
Если XB_ЗаказыСтроки<>Неопределено Тогда
XB_ЗаказыСтроки.ЗакрытьФайл();
Иначе
ВывестиВПротоколЗагрузки(СпособЗагрузки,ЛогТекст,"Файл OLORDERD.DBF ошибка открытия!",Истина);
КонецЕсли;
КонецЕсли;
Иначе
ВывестиВПротоколЗагрузки(СпособЗагрузки,ЛогТекст,"Данные используются другим пользователем!",Истина);
ЛогТекст.Записать(ПутьКЛогу,"windows-1251");
Возврат;
КонецЕсли;
Исключение
//Если возникнут проблемы лог все равно записывать
ВывестиВПротоколЗагрузки(СпособЗагрузки,ЛогТекст,"Произошла ошибка: "+ОписаниеОшибки(),Истина);
ЛогТекст.Записать(ПутьКЛогу,"windows-1251");
ЗакрытиеДирБлока(ИмпортЭкспорт);
Возврат;
КонецПопытки;
ЗакрытиеДирБлока(ИмпортЭкспорт);
ВывестиВПротоколЗагрузки(СпособЗагрузки,ЛогТекст,"Конец загрузки: "+ СпособЗагрузки);
ЛогТекст.Записать(ПутьКЛогу,"windows-1251");
КонецПроцедуры
Функция ВернутьДеньДатыФайла(СтрИмяФайла)
СтрДаты=Сред(СокрЛП(СтрИмяФайла),9,14);
дГОД=Сред(СтрДаты,1,4);
дМЕС=Сред(СтрДаты,5,2);
дДЕНЬ=Сред(СтрДаты,7,2);
дЧАС=Сред(СтрДаты,9,2);
дМИН=Сред(СтрДаты,11,2);
дСЕК=Сред(СтрДаты,13,2);
Возврат Дата(дГОД,дМЕС,дДЕНЬ);
КонецФункции
Функция ВернутьПолнуюДатуФайла(СтрИмяФайла)
СтрДаты=Сред(СокрЛП(СтрИмяФайла),9,14);
дГОД=Сред(СтрДаты,1,4);
дМЕС=Сред(СтрДаты,5,2);
дДЕНЬ=Сред(СтрДаты,7,2);
дЧАС=Сред(СтрДаты,9,2);
дМИН=Сред(СтрДаты,11,2);
дСЕК=Сред(СтрДаты,13,2);
Возврат Дата(дГОД,дМЕС,дДЕНЬ,дЧАС,дМИН,дСЕК);
КонецФункции
Функция ПолученФайлОтFTP(Сервер,НайденФайлИмя,НайденФайлПолноеИмя,ТекстОшибки,ЛогТекст)
Попытка
масНайденныхФайловFTP=Сервер.НайтиФайлы(ДополнитьСлешВПутьФТП(ФТПКаталогИмпорта),"*.zip");
Если масНайденныхФайловFTP.Количество()=0 Тогда
ТекстОшибки="Нет данных от SWE.";
Возврат Ложь;
КонецЕсли;
ТЗФайлов=Новый ТаблицаЗначений();
ТЗФайлов.Колонки.Добавить("ИмяФайла",ОбщегоНазначенияБПКлиентСервер.ПолучитьОписаниеТиповСтроки(100));
ТЗФайлов.Колонки.Добавить("ПолноеИмяФайла",ОбщегоНазначенияБПКлиентСервер.ПолучитьОписаниеТиповСтроки(200));
ТЗФайлов.Колонки.Добавить("ДатаДеньФайла",ОбщегоНазначенияУТ.ПолучитьОписаниеТиповДаты(ЧастиДаты.Дата));
ТЗФайлов.Колонки.Добавить("ПолнаяДатаФайла",ОбщегоНазначенияУТ.ПолучитьОписаниеТиповДаты(ЧастиДаты.ДатаВремя));
Для Каждого Эл Из масНайденныхФайловFTP Цикл
НоваяСтрТЗФайлов = ТЗФайлов.Добавить();
НоваяСтрТЗФайлов.ИмяФайла = Эл.Имя;
НоваяСтрТЗФайлов.ПолноеИмяФайла = Эл.ПолноеИмя;
НоваяСтрТЗФайлов.ДатаДеньФайла = ВернутьДеньДатыФайла(Эл.Имя);
НоваяСтрТЗФайлов.ПолнаяДатаФайла = ВернутьПолнуюДатуФайла(Эл.Имя);
КонецЦикла;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ТЗФайлов.ДатаДеньФайла,
| ТЗФайлов.ПолнаяДатаФайла,
| ТЗФайлов.ИмяФайла,
| ТЗФайлов.ПолноеИмяФайла
|ПОМЕСТИТЬ ВТФайлов
|ИЗ
| &ТЗФайлов КАК ТЗФайлов
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТФайлов.ДатаДеньФайла,
| МАКСИМУМ(ВТФайлов.ПолнаяДатаФайла) КАК ПолнаяДатаФайла
|ПОМЕСТИТЬ ВТМаксДата
|ИЗ
| ВТФайлов КАК ВТФайлов
|
|СГРУППИРОВАТЬ ПО
| ВТФайлов.ДатаДеньФайла
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТФайлов.ПолнаяДатаФайла КАК ПолнаяДатаФайла,
| ВТФайлов.ИмяФайла,
| ВТФайлов.ПолноеИмяФайла
|ИЗ
| ВТФайлов КАК ВТФайлов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТМаксДата КАК ВТМаксДата
| ПО ВТФайлов.ПолнаяДатаФайла = ВТМаксДата.ПолнаяДатаФайла
|
|УПОРЯДОЧИТЬ ПО
| ПолнаяДатаФайла
|;
|
|////////////////////////////////////////////////////////////////////////////////
|УНИЧТОЖИТЬ ВТМаксДата
|;
|
|////////////////////////////////////////////////////////////////////////////////
|УНИЧТОЖИТЬ ВТФайлов";
Запрос.УстановитьПараметр("ТЗФайлов",ТЗФайлов);
ТЗОставляемыеФайлы = Запрос.Выполнить().Выгрузить();
Если ТЗОставляемыеФайлы.Количество()=0 Тогда
ТекстОшибки="нет данных от SWE.";
Возврат Ложь;
КонецЕсли;
Для Каждого Эл Из масНайденныхФайловFTP Цикл
Если ТЗОставляемыеФайлы.Найти(Эл.Имя,"ИмяФайла")=Неопределено Тогда
Попытка
Сервер.Удалить(Эл.ПолноеИмя);
Исключение
ТекстОповещения=Строка(ТекущаяДатаСеанса())+ " - Ошибка удаления на FTP SWE """+СокрЛП(Эл.ПолноеИмя)+""" при корректировке состава файлов в дате: "+СокрЛП(ОписаниеОшибки());
ЛогТекст.ДобавитьСтроку(ТекстОповещения);
ОповеститьОбОшибке(ТекстОповещения);
КонецПопытки;
КонецЕсли;
КонецЦикла;
НайденФайлИмя=СокрЛП(ТЗОставляемыеФайлы[0].ИмяФайла);
НайденФайлПолноеИмя=СокрЛП(ТЗОставляемыеФайлы[0].ПолноеИмяФайла);
Если ЗначениеЗаполнено(НайденФайлИмя) И ЗначениеЗаполнено(НайденФайлПолноеИмя) Тогда
Возврат Истина;
КонецЕсли;
Исключение
ВызватьИсключение "Ошибка при корректировке состава файлов FTP - "+СокрЛП(ОписаниеОшибки());
КонецПопытки;
ТекстОшибки="нет данных от SWE.";
Возврат Ложь;
КонецФункции
Функция ПолучитьСФТП(ЛогТекст)
Попытка
Сервер = Новый FTPСоединение(ЭтотОбъект.ФТПСервер, Неопределено, ЭтотОбъект.ПользовательФТП, ЭтотОбъект.ПарольФТП, Неопределено, ЭтотОбъект.ПассивныйРежим, Неопределено);
Исключение
ТекстОшибки=Строка(ТекущаяДатаСеанса())+ " - Произошла ошибка при подключении к FTP SWE: "+СокрЛП(ОписаниеОшибки());
ЛогТекст.ДобавитьСтроку(ТекстОшибки);
ОповеститьОбОшибке(ТекстОшибки);
Возврат Ложь;
КонецПопытки;
Попытка
ФайлДляЗагрузки=Неопределено;
ТолькоИмяФайлаДанныхZipFTP=Неопределено;
ТекстОшибки="";
Если НЕ ПолученФайлОтFTP(Сервер,ТолькоИмяФайлаДанныхZipFTP,ФайлДляЗагрузки,ТекстОшибки,ЛогТекст) Тогда
ТекстОшибки=Строка(ТекущаяДатаСеанса())+ " - "+ТекстОшибки;
ЛогТекст.ДобавитьСтроку(ТекстОшибки);
ОповеститьОбОшибке(ТекстОшибки);
Возврат Ложь;
КонецЕсли;
СтрФайлZip=ДополнитьСлешВПуть(ЭтотОбъект.КаталогИмпорта)+""+ТолькоИмяФайлаДанныхZipFTP;
//получение файла и распаковка
Сервер.Получить(ФайлДляЗагрузки,СтрФайлZip);
ТекстВЛог=Строка(ТекущаяДатаСеанса())+ " - Произведено получения данных c FTP SWE """+ТолькоИмяФайлаДанныхZipFTP+"""";
ЛогТекст.ДобавитьСтроку(ТекстВЛог);
АрхивИмяФайла=Новый ЧтениеZipФайла(СтрФайлZip);
АрхивИмяФайла.ИзвлечьВсе(ДополнитьСлешВПуть(ЭтотОбъект.КаталогИмпорта),РежимВосстановленияПутейФайловZIP.НеВосстанавливать);
//история загрузки
Попытка
ПутьКПапкеСАрхивами=ДополнитьСлешВПуть(ЭтотОбъект.КаталогИмпорта)+"Done";
ПапкаArhiv = Новый Файл(ПутьКПапкеСАрхивами);
Если НЕ ПапкаArhiv.Существует() Тогда
СоздатьКаталог(ПутьКПапкеСАрхивами);
КонецЕсли;
ПереместитьФайл(СтрФайлZip, ПутьКПапкеСАрхивами+"\"+ТолькоИмяФайлаДанныхZipFTP);
Исключение
ТекстОшибки=Строка(ТекущаяДатаСеанса())+ " - Произошла ошибка при перемещения в историю загрузки SWE """+ТолькоИмяФайлаДанныхZipFTP+""" c FTP: "+СокрЛП(ОписаниеОшибки());
ЛогТекст.ДобавитьСтроку(ТекстОшибки);
ОповеститьОбОшибке(ТекстОшибки);
КонецПопытки;
//удаление с FTP
Попытка
Сервер.Удалить(ФайлДляЗагрузки);
Исключение
ТекстОшибки=Строка(ТекущаяДатаСеанса())+ " - Произошла ошибка удаления файла на FTP SWE """+ФайлДляЗагрузки+""" : "+СокрЛП(ОписаниеОшибки());
ЛогТекст.ДобавитьСтроку(ТекстОшибки);
ОповеститьОбОшибке(ТекстОшибки);
КонецПопытки;
Исключение
ТекстОшибки=Строка(ТекущаяДатаСеанса())+ " - Произошла ошибка при получении и распаковки данных SWE """+ТолькоИмяФайлаДанныхZipFTP+""" c FTP: "+СокрЛП(ОписаниеОшибки());
ЛогТекст.ДобавитьСтроку(ТекстОшибки);
ОповеститьОбОшибке(ТекстОшибки);
Возврат Ложь;
КонецПопытки;
Возврат Истина;
КонецФункции
#КонецОбласти
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ПараметрыВыполненияКоманды = Неопределено) Экспорт
Если ИдентификаторКоманды = "ОткрытьФормуSWE" Тогда
ВосстановитьНастройкиИзХранилищеОбщихНастроек();
Если ПараметрыВыполненияКоманды.Свойство("РежимВыгрузки") Тогда
ВыгрузитьДанные(ПолучитьСтруктуруНастроекСервер(),"Интерактивно");
Иначе
ЭтотОбъект.НачДата=ТекущаяДатаСеанса();
ЭтотОбъект.КонДата=ТекущаяДатаСеанса();
ЭтотОбъект.ДатаСреза=ТекущаяДатаСеанса();
ЗагрузитьДанные(ПолучитьСтруктуруНастроекСервер(),"Интерактивно");
КонецЕсли;
ИначеЕсли ИдентификаторКоманды = "SWEВсе" Тогда
ВосстановитьНастройкиИзХранилищеОбщихНастроек();
ЭтотОбъект.ДолгиТорговыхТочек = Истина;
ЭтотОбъект.ТекОстаткиТоваров = Истина;
ЭтотОбъект.СтатусыЗаказов = Истина;
ЭтотОбъект.КаталогПродукции = Истина;
ЭтотОбъект.Прайс = Истина;
ЭтотОбъект.ТорговыеТочки = Истина;
ЭтотОбъект.ИнформацияОЗаказах = Истина;
ЭтотОбъект.ИнформацияОФактическихПродажах = Истина;
ЭтотОбъект.ИнформацияОПриходах = Истина;
ЭтотОбъект.ОстаткиТоваров = Истина;
Если День(ТекущаяДатаСеанса())>=1 И День(ТекущаяДатаСеанса())<=4 Тогда
НачДата=НачалоМесяца(ДобавитьМесяц(ТекущаяДатаСеанса(), -1));
Иначе
НачДата=НачалоМесяца(ТекущаяДатаСеанса());
КонецЕсли;
ЭтотОбъект.НачДата=НачДата;
ЭтотОбъект.КонДата=КонецДня(ТекущаяДатаСеанса());
ЭтотОбъект.ДатаСреза=ТекущаяДатаСеанса();
ЭтотОбъект.ЭтоЛайтВыгрузка = Ложь;
//Старт после ввода остатков
ЭтотОбъект.НачДата=Макс(ЭтотОбъект.НачДата, Дата("20200101"));
ЭтотОбъект.КонДата=Макс(ЭтотОбъект.КонДата, Дата("20200101"));
ВыгрузитьДанные(ПолучитьСтруктуруНастроекСервер(),"ПолнаяВыгрузкаФоновымЗаданием");
ИначеЕсли ИдентификаторКоманды = "SWEОперативно" Тогда
ВосстановитьНастройкиИзХранилищеОбщихНастроек();
ЭтотОбъект.ДолгиТорговыхТочек = Истина;
ЭтотОбъект.ТекОстаткиТоваров = Истина;
ЭтотОбъект.СтатусыЗаказов = Истина;
ЭтотОбъект.КаталогПродукции = Ложь;
ЭтотОбъект.Прайс = Ложь;
ЭтотОбъект.ТорговыеТочки = Ложь;
ЭтотОбъект.ИнформацияОЗаказах = Ложь;
ЭтотОбъект.ИнформацияОФактическихПродажах = Ложь;
ЭтотОбъект.ИнформацияОПриходах = Ложь;
ЭтотОбъект.ОстаткиТоваров = Ложь;
ЭтотОбъект.НачДата=НачалоДня(НачДата);
ЭтотОбъект.КонДата=КонецДня(ТекущаяДатаСеанса());
ЭтотОбъект.ДатаСреза=ТекущаяДатаСеанса();
ЭтотОбъект.ЭтоЛайтВыгрузка = Истина;
//Старт после ввода остатков
ЭтотОбъект.НачДата=Макс(ЭтотОбъект.НачДата, Дата("20200101"));
ЭтотОбъект.КонДата=Макс(ЭтотОбъект.КонДата, Дата("20200101"));
ВыгрузитьДанные(ПолучитьСтруктуруНастроекСервер(),"ОперативнаяВыгрузкаФоновымЗаданием");
ИначеЕсли ИдентификаторКоманды = "SWEИмпортРАБ" ИЛИ ИдентификаторКоманды = "SWEИмпортСБ" Тогда
ВосстановитьНастройкиИзХранилищеОбщихНастроек();
ЭтотОбъект.НачДата=ТекущаяДатаСеанса();
ЭтотОбъект.КонДата=ТекущаяДатаСеанса();
ЭтотОбъект.ДатаСреза=ТекущаяДатаСеанса();
ЗагрузитьДанные(ПолучитьСтруктуруНастроекСервер(),"ИмпортФоновымЗаданием");
КонецЕсли;
КонецПроцедуры
Показать