Обмен через Конвертацию данных 2.1 во внешней обработке + Запуск внешней обработки по расписанию (БСП)

26.06.20

Интеграция - Файловый обмен (TXT, XML, DBF), FTP

Сделаем ежедневную выгрузку и загрузку данных через конвертацию данных 2.1 из одной базы в другую. Но весь код и правила конвертации будут располагаться во внешней обработке.

Создадим План обмена и два узла. В узел "Изменения" будут регистрироваться все изменения в базе источнике. В узел "Выгрузка" будем перед выгрузкой регистрировать изменения и очищать узел "Изменения". Делаю так, чтобы избежать блокировок и если что-то пойдет не так во время выгрузки, то в узле "Выгрузка" останутся объекты, которые небыли выгружены.

 

 

Создаем внешнюю обработку. В макет добавляем Правила обмена данными (Конвертация данных 2.1)

 

 

В модуле обработки описываем сведения о обработке. Тут важно указать НоваяКоманда.Использование = "ВызовСерверногоМетода";

 

 

Функция СведенияОВнешнейОбработке() Экспорт
		
	ТЗКоманды = Новый ТаблицаЗначений;
	ТЗКоманды.Колонки.Добавить("Представление");
	ТЗКоманды.Колонки.Добавить("Идентификатор");
	ТЗКоманды.Колонки.Добавить("Использование");
	ТЗКоманды.Колонки.Добавить("ПоказыватьОповещение"); 
	ТЗКоманды.Колонки.Добавить("Модификатор");
	
	НоваяКоманда = ТЗКоманды.Добавить();
	НоваяКоманда.Представление = "Выгрузка данных в базу Бухгалтерии";
	НоваяКоманда.Идентификатор = "ВыгрузкаДанныхВБазуБух";
	НоваяКоманда.Использование = "ВызовСерверногоМетода"; 
	НоваяКоманда.ПоказыватьОповещение = Истина;
	НоваяКоманда.Модификатор = "";
	
	ПараметрыРегистрации = Новый Структура;
	ПараметрыРегистрации.Вставить("Наименование", "Выгрузка данных в базу Бухгалтерии"); 
	ПараметрыРегистрации.Вставить("Информация", ""); 
	ПараметрыРегистрации.Вставить("Вид", "ДополнительнаяОбработка");  
	ПараметрыРегистрации.Вставить("Версия", "1.0");
	ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
	ПараметрыРегистрации.Вставить("Команды", ТЗКоманды);

	Возврат ПараметрыРегистрации;
	
КонецФункции

Добавляем процедуру ВыполнитьКоманду. Эта процедура и будет вызваться при Запуске по расписанию

 

 

Процедура ВыполнитьКоманду(ИдентификаторКоманды, ПараметрыВыполненияКоманды = Неопределено) Экспорт

КонецПроцедуры

Добавляем обработку в дополнительные обработки. Ставим галочку расписание и устанавливаем расписание.

 

 

В теле процедуры ВыполнитьКоманду:

1. - Определяем переменные, которые нам понадобятся.

- Запросом получаем "Дату запрета изменений" - эта дата будет датой начала выгрузки.

- Определяю массив выгружаемых объектов (по нему в цикле будем формировать текст запроса).

 

 

Запрос = Новый Запрос;
ДатаНачала = Дата(2019,1,1);
Запрос.Текст = 
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
	|	ДОБАВИТЬКДАТЕ(ДатыЗапретаИзменения.ДатаЗапрета, ДЕНЬ, 1) КАК ДатаЗапрета
	|ИЗ
	|	РегистрСведений.ДатыЗапретаИзменения КАК ДатыЗапретаИзменения
	|ГДЕ
	|	ДатыЗапретаИзменения.Раздел = ЗНАЧЕНИЕ(ПланВидовХарактеристик.РазделыДатЗапретаИзменения.ПустаяСсылка)
	|	И ДатыЗапретаИзменения.Объект = ЗНАЧЕНИЕ(ПланВидовХарактеристик.РазделыДатЗапретаИзменения.ПустаяСсылка)
	|	И ДатыЗапретаИзменения.Пользователь = ЗНАЧЕНИЕ(перечисление.ВидыНазначенияДатЗапрета.ДляВсехПользователей)";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
	ДатаНачала = ВыборкаДетальныеЗаписи.ДатаЗапрета;
КонецЦикла;
ДатаОкончания = ТекущаяДата();
ДатаОкончанияКонецДня = КонецДня(ДатаОкончания)+1;

ДатаВыгрузки  = Формат(ДатаОкончания, "ДФ=yyyy.MM.dd_hh.mm.ss");
ПутьНаДиске   = "\\server1c\obmen\";
ФайлПравил    = ПутьНаДиске  + "ПравилаВыгрузкиBuh.xml";
ФайлДанных    = ПутьНаДиске  + ДатаВыгрузки + "_DataBuh.xml";

МассивВыгружаемыхОбъектов = Новый Массив;	
МассивВыгружаемыхОбъектов.Добавить("Документ.РеализацияТоваровУслуг");		
МассивВыгружаемыхОбъектов.Добавить("Документ.ПриобретениеТоваровУслуг");
МассивВыгружаемыхОбъектов.Добавить("Документ.ПеремещениеТоваров");
МассивВыгружаемыхОбъектов.Добавить("Справочник.ДоговорыКонтрагентов");	
МассивВыгружаемыхОбъектов.Добавить("Справочник.Контрагенты");	
МассивВыгружаемыхОбъектов.Добавить("Справочник.Номенклатура");		
                                                                          
УзелВыгрузки = ПланыОбмена.ВыгрузкаВБазуБП.НайтиПоНаименованию("Выгрузка");
УзелИзменения = ПланыОбмена.ВыгрузкаВБазуБП.НайтиПоНаименованию("Изменения");

 

2. - Формирую запрос к изменениям в узле "Изменения". (намерено не пользуюсь функцией ВыбратьИзменения, чтобы избежать "Конфликта блокировок")

- Удаляю регистрацию с узла "Изменения" и регистрирую в узел "Выгрузка"

 

 

Запрос = Новый Запрос;
текстОбъединить = "";
Для Каждого текО Из МассивВыгружаемыхОбъектов Цикл
	текстИзменения = " 
	|ВЫБРАТЬ
	|	тИзменения.Ссылка КАК Ссылка,
	|	тИзменения.Узел КАК УзелИзменений
	|ИЗ
	|	%Объект%.Изменения КАК тИзменения
	|ГДЕ
	|	тИзменения.Узел = &УзелИзменения
	|";
	текстИзменения = СтрЗаменить(текстИзменения, "%Объект%", текО);
	Запрос.Текст = Запрос.Текст + текстОбъединить + текстИзменения;
	текстОбъединить = "
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|";
КонецЦикла;
Запрос.УстановитьПараметр("УзелИзменения",УзелИзменения);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
	Если НЕ ПланыОбмена.ИзменениеЗарегистрировано(УзелВыгрузки, ВыборкаДетальныеЗаписи.Ссылка) Тогда
		ПланыОбмена.ЗарегистрироватьИзменения(УзелВыгрузки, ВыборкаДетальныеЗаписи.Ссылка);
	КонецЕсли;
	ПланыОбмена.УдалитьРегистрациюИзменений(УзелИзменения, ВыборкаДетальныеЗаписи.Ссылка);
КонецЦикла;

 

3. -Сохраняю файл с Правилами обмена данными на диск

- Создаю Обработку УниверсальныйОбменДаннымиXML, заполняю необходимые для обмена параметры

- после выгрузки Удаляю файл с Правилами обмена с диска 

 

 

ДвоичныеДанные = ПолучитьМакет("Правила");
Попытка
    ДвоичныеДанные.Записать(ФайлПравил);
Исключение
	ЗаписьЖурналаРегистрации("Выгрузка в бухгалтерию",
		УровеньЖурналаРегистрации.Ошибка,
		Метаданные.Обработки.УниверсальныйОбменДаннымиXML,
    	Неопределено,
    	ОписаниеОшибки());
	Возврат;
КонецПопытки;

Обработка = Обработки.УниверсальныйОбменДаннымиXML.Создать();
Обработка.РежимОбмена = "Выгрузка";
Обработка.ВыводВОкноСообщенийИнформационныхСообщений = Ложь;
Обработка.ДатаНачала     = ДатаНачала;
Обработка.ДатаОкончания  = ДатаОкончанияКонецДня;
Обработка.ИмяФайлаПравилОбмена = ФайлПравил;
Обработка.ИмяФайлаОбмена = ФайлДанных; 
Обработка.ЗагрузитьПравилаОбмена();
Обработка.ВыполнитьВыгрузку();

Попытка
	УдалитьФайлы(ФайлПравил);  
Исключение
	Сообщить(ОписаниеОшибки());
КонецПопытки;

 

4. В Конвертации данных 2.1: 

 

 Перед выгрузкой данных определяем параметр узел "Выгрузка"

В правилах выгрузки данных каждого объекта (Перед обработкой):

В правилах конвертации объекто: в событии "При выгрузке" при удачной выгрузке удаляю регистрацию из узла "Выгрузка"

В итоге получаю файл с данными.

 

5. -Для загрузки файла в базе "Приемник" делаем такую же обработку. Также подключаем ее, чтобы она запускалась по расписанию.

-Для загрузки "Правила обмена данными" не нужны. Создаем Обработку УниверсальныйОбменДаннымиXML и загружаем файл.

-После удачной загрузки сам файл перемещаем в папку "Downloaded"

 

 

Процедура ВыполнитьКоманду(ИдентификаторКоманды, ПараметрыВыполненияКоманды = Неопределено) Экспорт
	
	ПутьНаДиске   = "\\server1c\obmen\";
	табФ = Новый ТаблицаЗначений;
	табФ.Колонки.Добавить("Путь");
	табФ.Колонки.Добавить("Имя");
	табФ.Колонки.Добавить("Диск");
	МассивФайлов = НайтиФайлы(ПутьНаДиске, "*.xml", Ложь);
	Если Не МассивФайлов.Количество() Тогда
		Возврат;
	КонецЕсли;
	Для Каждого текФ Из МассивФайлов Цикл
		НоваяСтр = табФ.Добавить();
		НоваяСтр.Путь = текФ.Путь;
		НоваяСтр.Имя  = текФ.Имя;
		НоваяСтр.Диск = текФ.ПолноеИмя;
	КонецЦикла;
	
	Обработка = Обработки.УниверсальныйОбменДаннымиXML.Создать();
	Для Каждого текСтр Из табФ Цикл
		Обработка.РежимОбмена = "Загрузка";
		Обработка.ИмяФайлаОбмена = текСтр.Диск;
		Обработка.ЗагружатьДанныеВРежимеОбмена = Истина;
		Обработка.ЗаписыватьВИнформационнуюБазуТолькоИзмененныеОбъекты = Истина;
		Обработка.ОбъектыПоСсылкеЗагружатьБезПометкиУдаления = Истина;
		Обработка.ОптимизированнаяЗаписьОбъектов = Истина;
		Обработка.ЗаписыватьРегистрыНаборамиЗаписей = Истина;
		Обработка.ОбрезатьСтрокиСправа = Истина;
		Обработка.ВыполнитьЗагрузку();
		ПереместитьФайл(текСтр.Диск, текСтр.Путь + "Downloaded\" + текСтр.Имя);
	КонецЦикла;
	
КонецПроцедуры

 

 
 Полный текст процедуры ВыполнитьКоманду (Выгрузка)

Тестировал на платформе 1С:Предприятие 8.3 (8.3.15.1747)

1С:Комплексная автоматизация 2 (2.4.9.98)

Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.74.63).

 

См. также

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

27660 руб.

12.06.2017    145109    843    297    

436

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.88.x) и УТ 11.5 (11.5.20.x), также подходят для релиза 11.5 (11.5.19.x).

35000 руб.

23.07.2020    55328    253    73    

207

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой

55778 50200 руб.

15.04.2019    73841    196    154    

133

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

53111 47800 руб.

03.12.2020    38005    106    69    

100

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 Платформа 1C v8.2 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием Россия Платные (руб)

Регулярный обмен, выгрузка, перенос из КА 1.1, УПП 1.3, УТ 10.3 для обмена с любыми конфигурациями, поддерживающими обмен в формате EnterpriseData (КД3) - БП 3.0, ERP, КА 2, УТ 11, Розница 2, УНФ 1.6 и другими. Правила для старых и доработанных конфигураций не требуют синхронного обновления и совместимы с новыми и будущими конфигурациями. Обмен по расписанию, через папку, FTP, почту.

16260 руб.

18.02.2016    188760    612    534    

534

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.240.x) и БП 3.0 (3.0.169.x). Правила подходят для версии ПРОФ и КОРП.

35000 руб.

15.12.2021    25754    182    55    

139

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

48278 43450 руб.

25.02.2015    173023    310    261    

386

SALE! 10%

Перенос данных 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Предлагаем качественное и проверенное временем решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам. При выходе новых релизов конфигураций 1C оперативно выпускаем обновление переноса данных.

55778 50200 руб.

24.04.2015    197193    157    244    

287
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. PLAstic 296 22.01.20 14:22 Сейчас в теме
А какова прикладная задача была?
2. John_d 5978 22.01.20 14:51 Сейчас в теме
(1) Настроить односторонний обмен (через конвертацию) между двумя базами
12. PLAstic 296 23.01.20 09:21 Сейчас в теме
(2) А почему нельзя было просто встроить свой план обмена в существующий механизм?
3. Kaval88 176 22.01.20 15:26 Сейчас в теме
на БСП проще сделать, только правила загрузить и все.
ivanov660; +1 Ответить
15. Pipapalamm 23.01.20 11:45 Сейчас в теме
(3) Подскажите пожалуйста, как можно правила конвертации 2.1 "загрузить" в БСП? Реально появилась такая возможность? Где почитать? А то на Инфостарте полно вот такого рода публикаций:
https://infostart.ru/public/461158/
"а мужики то не знают..."
16. John_d 5978 23.01.20 11:49 Сейчас в теме
(15) Нельзя. Нужно дорабатывать конфигурацию.
Pipapalamm; +1 Ответить
21. glime 106 23.01.20 14:34 Сейчас в теме
(16)в легкую можно.
во внешнею обработку, в макет.
18. wtlz 275 23.01.20 12:12 Сейчас в теме
(15)можно использовать правила из файла:
Прикрепленные файлы:
19. Pipapalamm 23.01.20 12:32 Сейчас в теме
(18) Это правила КД 3. Мы говорим про обмен по правилам КД 2.
20. wtlz 275 23.01.20 12:36 Сейчас в теме
(19) КД 2 работает через это отлично, проверял лично, БСП 3.0.1.53
Pipapalamm; +1 Ответить
22. Pipapalamm 23.01.20 16:07 Сейчас в теме
(20) Ничоси! Проверю обязательно и выкину наконец свои велосипеды. Спасибо огромное!
4. dsdred 3793 22.01.20 16:29 Сейчас в теме
1 Нет проверки на удаленные объекты(битые ссылки). При попадании такого объекта обмен встанет.

2 Почему не использовать"ПланыОбмена.ВыбратьИзменения"?
ПланыОбмена.ВыбратьИзменения позволяет более гибко делать, меньше кода и проще проверять битые ссылки.

3 Почему XML, а не JSON?
XML очень жирный...

4 Два узла на один обмен...

КД 2.1, файлы, xml, два узла... по мне больше на костыль похоже чем на нормальное решение.
Светлый ум; Xershi; acanta; +3 Ответить
5. John_d 5978 22.01.20 16:38 Сейчас в теме
(4) по 2 пункту много где писали.
ВыбратьИзменения() – это метод, с которым нужно быть очень осторожным, потому что обычно, когда возникают проблемы с производительностью обменов, именно из-за этого вызова возникают блокировки.
https://infostart.ru/public/899200/
7. John_d 5978 22.01.20 16:50 Сейчас в теме
(4)
1. согласен, надо сделать.
3. Конвертация Данных 3 тоже через XML.
4. выше писал для чего это делаю.
8. dsdred 3793 22.01.20 17:05 Сейчас в теме
(7)Я понимаю для чего. Я не понимаю почему именно КД.
Наверное фирма с небольшим документооборотом?

П.С. Не обращайте внимание на мои придирки. Просто дописываю мобильное приложение и не типовой обмен на http-сервисах и Вы прям на больную мозоль написали ;))
9. John_d 5978 22.01.20 17:22 Сейчас в теме
(8) КД 2 наименее трудозатратно. Кода минимум, одна процедура на выгрузку и одна на загрузку. Остальное отрабатывает КД 2.
11. improg 721 23.01.20 08:36 Сейчас в теме
(4) по 2-му пункту ВыбратьИзменения опасен тем что он не только читает изменения, но и записывает номера сообщений в записи регистрации изменений у которых номер сообщения null, все это в одной транзакции в следствии чего возникают избыточные блокировки. Ед. в выборке можно было в цикле открывать маленькие транзакции т.е разбить большую на маленькие. Это все выжимка из курса "1С:Эксперт" Виктора Богачева.
13. dsdred 3793 23.01.20 11:12 Сейчас в теме
(11)Это все понятно и в жизни я как раз разбиваю на небольшие порции.
Просто по публикации автора я понял, что обмен идет в одну сторону в одну базу и с довольно таки малым документооборотом.
Поэтому и предполагаю, что проблемы с организацией обмена через ПланыОбмена.ВыбратьИзменения быть не должно.
14. John_d 5978 23.01.20 11:16 Сейчас в теме
(13) Документооборот нормальный и как правило со временем он растет. С ВыбратьИзменения проблемы будут.
17. dsdred 3793 23.01.20 11:55 Сейчас в теме
(14)Тогда к сожалению я тем более не могу понять почему выбран такой подход к решению задачи.
6. acanta 22.01.20 16:46 Сейчас в теме
И при последних релизах БСП идентификации по гуид все равно отсутствуют.
10. metmetmet 82 23.01.20 06:54 Сейчас в теме
Для работы достаточно одной обработки Универсальный Обмен Данными XML в базе источнике и в базе приемнике? Или есть зависимые общие модули?
23. nt_ 5 31.01.20 12:29 Сейчас в теме
Не понял только где назначается узел обмена "Выгрузка" при обращении к обработке УниверсальныйОбменДаннымиXML?
24. John_d 5978 31.01.20 16:07 Сейчас в теме
(23) В КД 2. Перед выгрузкой данных:
 
Запрос = Новый Запрос;
Запрос.Текст = 
"ВЫБРАТЬ ПЕРВЫЕ 1
|	АТИ_ВыгрузкаВБазуБП.Ссылка КАК Узел
|ИЗ
|	ПланОбмена.ВыгрузкаВБазуБП КАК АТИ_ВыгрузкаВБазуБП
|ГДЕ
|	АТИ_ВыгрузкаВБазуБП.Наименование = ""Выгрузка""";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
	Параметры.УзелРегистрацииВыгруженных = ВыборкаДетальныеЗаписи.Узел;
КонецЦикла;
 
Показать
25. nt_ 5 01.02.20 03:48 Сейчас в теме
(24) Это для удаления регистрации источника. А как натравить обработку на обход элементов узла "выгрузка"? у меня все объекты выгружает по правилу, а не только зарегистрированные.
26. John_d 5978 03.02.20 09:58 Сейчас в теме
(25) При выгрузке данных.. Упустил этот момент. Дописал статью.
27. EAY 25.06.20 12:29 Сейчас в теме
День добрый. А можно картинку обновить, что в ПКО перед обработкой для каждого объекта?
Прикрепленные файлы:
28. EAY 25.06.20 16:39 Сейчас в теме
(27) В общем у меня в ПВД получилась следующая обработка

Запрос = Новый Запрос;
Запрос.Текст = " 
|ВЫБРАТЬ
|	тИзменения.Узел КАК Узел,
|	тИзменения.Ссылка КАК Ссылка
|ИЗ
|	Документ.ЗаказНаПеремещение.Изменения КАК тИзменения
|ГДЕ
|	тИзменения.Узел = &УзелВыгрузки";
Запрос.УстановитьПараметр("УзелВыгрузки", Параметры.УзелВыгрузки);

ВыборкаДетальныеЗаписи = Запрос.Выполнить().Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
	ВыгрузитьПоПравилу(ВыборкаДетальныеЗаписи.Ссылка,,,, "ЗаказНаПеремещение");
КонецЦикла;
Показать
Прикрепленные файлы:
29. John_d 5978 25.06.20 18:15 Сейчас в теме
(28) Думаю у меня примерно также было. Позже найду и выложу новый скриншот.
30. John_d 5978 26.06.20 10:38 Сейчас в теме
(28) Да, так и было. Поставил ваш скриншот.
31. dayra 15.11.20 00:20 Сейчас в теме
Спасибо, все очень подробно и понятно!
Очень нужная доработка
32. 2C_prog 9 25.05.21 19:49 Сейчас в теме
Добрый день!
В этом решении возможно использовать правила регистрации объектов? Скорей даже так - как правильно применить в данном решении правила регистрации объектов? =)
33. avbolshakov 09.01.23 17:16 Сейчас в теме
В ПВД для каждого объекта наверное нужно указывать Произвольный алгоритм? Там где вы выгружаете по правилу
34. spaceLama 16.06.23 10:08 Сейчас в теме
Знаете чего я не понимаю? Вот мы, согласно этой статье, в правилах обмена прописали, что выгрузка у нас должна быть ТОЛЬКО по объектам, зарегистрированным на определенном узле определенного плана обмена (если я всё правильно понимаю). И вот я теперь интерактивно загружаю эти правила в "Универсальный обмен данными", выставляю период в 3 месяца, НЕ УСТАНАВЛИВАЮ интерактивно ограничение на план обмена (ведь оно не нужно, у нас в правилах явно задан узел и план), нажимаю "Выгрузить", и выгружаются у меня документов явно больше, чем должно. Почему так?
35. Xershi 1565 28.04.24 13:28 Сейчас в теме
(34) наверное в правилах у вас больше объектов, это как догадка.
Оставьте свое сообщение