Обмен через Конвертацию данных 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).

 

См. также

SALE! 15%

[ED3] Обмен для ERP 2.5, КА 2.5, УТ 11.5 БП 3.0, Розница, УНФ и других с EnterpriseData (универсальный формат обмена), правила обмена

Обмен между базами 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. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

25080 22572 руб.

12.06.2017    134918    722    291    

388

SALE! 20%

Перенос данных из ERP 2 / КА 2 / УТ 11 в БП 3.0. Переносятся документы, начальные остатки и справочники

Обмен между базами 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 | В продаже с 2019г. | Воспользовались более 176 предприятий! | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой, обращайтесь!

34650 27720 руб.

15.04.2019    68413    178    138    

111

SALE! 20%

Перенос данных из ERP 2 / КА 2 в ЗУП 3. Переносятся остатки, документы и справочники

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

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

43450 34760 руб.

03.12.2020    34167    80    58    

78

SALE! 10%

Перенос данных из УТ 10.3 в УТ 11.5. Переносятся документы (обороты за период), справочная информация и остатки

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

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

28000 25200 руб.

23.07.2020    46282    196    64    

157

Перенос данных из Парус 10 в ЗГУ ред.3

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

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 10 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

60000 руб.

05.10.2022    9205    9    8    

10

SALE! 10%

Перенос данных из УПП 1.3 в БП 3.0. Переносятся документы (обороты за период), справочная информация и остатки

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

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

28000 25200 руб.

15.12.2021    20233    132    38    

90

SALE! 10%

Перенос данных из БП 3.0 в УНФ 3.0 / УНФ 1.6. Переносятся остатки, документы и справочная информация

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

В продаже с 2018г. | Воспользовались более 41 предприятия! | Правила конвертации (КД 2) для переноса данных из БП 3 в УНФ | Переносятся все виды документов, начальные остатки и вся возможная справочная информация | Есть фильтр по организациям | Оперативно обновляем на новые релизы | Оказываем техподдержку | В комплект файлов входит инструкция, авторская версия обработки "Универсальный обмен...", актуальные правила переноса данных и архив старых версий переноса | Учет в БП 3 должен быть корректным, некорректные данные не переносятся | Можно бесплатно проверить на вашем сервере до покупки!

50722 45650 руб.

10.07.2018    67439    41    122    

46

Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2

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

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 11.12.2023, версия 9.5 - 9.9)

13200 руб.

20.11.2015    150702    367    375    

501
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. PLAstic 295 22.01.20 14:22 Сейчас в теме
А какова прикладная задача была?
2. John_d 5277 22.01.20 14:51 Сейчас в теме
(1) Настроить односторонний обмен (через конвертацию) между двумя базами
12. PLAstic 295 23.01.20 09:21 Сейчас в теме
(2) А почему нельзя было просто встроить свой план обмена в существующий механизм?
3. Kaval88 172 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 5277 23.01.20 11:49 Сейчас в теме
(15) Нельзя. Нужно дорабатывать конфигурацию.
Pipapalamm; +1 Ответить
21. glime 106 23.01.20 14:34 Сейчас в теме
(16)в легкую можно.
во внешнею обработку, в макет.
18. wtlz 272 23.01.20 12:12 Сейчас в теме
(15)можно использовать правила из файла:
Прикрепленные файлы:
19. Pipapalamm 23.01.20 12:32 Сейчас в теме
(18) Это правила КД 3. Мы говорим про обмен по правилам КД 2.
20. wtlz 272 23.01.20 12:36 Сейчас в теме
(19) КД 2 работает через это отлично, проверял лично, БСП 3.0.1.53
Pipapalamm; +1 Ответить
22. Pipapalamm 23.01.20 16:07 Сейчас в теме
(20) Ничоси! Проверю обязательно и выкину наконец свои велосипеды. Спасибо огромное!
4. dsdred 3251 22.01.20 16:29 Сейчас в теме
1 Нет проверки на удаленные объекты(битые ссылки). При попадании такого объекта обмен встанет.

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

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

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

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

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

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

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