Отменить выгрузку объекта в модуле обмена Конвертация данных 3.0
Как говорят на флоте: Нельзя забыть то чего не знал.
Никто не сталкивался с задачей Отменить выгрузку объекта в модуле обмена при обмене через универсальный формат Конвертация данных 3.0 ?
Правила регистрации не предлагать, т.к. объект может попасть в регистрацию, а потом в нем поменяют реквизит и в выгрузку он попасть не должен.
ПриОтправкеДанных - проверить и выкусить как было в КД 2.0 было бы логично.
Но что вместо Отказ нужно установить/очистить/присвоить ?
ДанныеXDTO очистить не проходит
Никто не сталкивался с задачей Отменить выгрузку объекта в модуле обмена при обмене через универсальный формат Конвертация данных 3.0 ?
Правила регистрации не предлагать, т.к. объект может попасть в регистрацию, а потом в нем поменяют реквизит и в выгрузку он попасть не должен.
ПриОтправкеДанных - проверить и выкусить как было в КД 2.0 было бы логично.
Но что вместо Отказ нужно установить/очистить/присвоить ?
ДанныеXDTO очистить не проходит
По теме из базы знаний
- Синхронизация и обмен для ERP 2.5, КА 2.5, УТ 11.5 БП 3.0, Розница, УНФ и других с EnterpriseData (универсальный формат обмена), правила обмена
- Механизмы и транспорт обмена данными. Пример создания в КД 2.1 правил обмена данными ЗУП 2.5 -> БП 3.0. Выгрузка ведомостей и банковских счетов. Передача параметров обмена из Источника в Приемник. ВыгрузитьПоПравилу(). ПередатьОдинПараметрВПриемник().
- Пример создания в КД 2.1 правил выгрузки данных регистра «Лицевые счета работников» из ЗУП 2.5 в справочник «Банковские счета» БП 3.0. Подробно, ясно и просто.
- Правила обмена больше не нужны
- Ускорение переноса остатков на примере из УПП в ERP
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Подсмотрел в типовом коде УТ:
Процедура ПОД_Документ_ВозвратТоваровПоставщику_ПриОбработке(ДанныеИБ, ИспользованиеПКО, КомпонентыОбмена)
// Провека на наличие записей в табличной части Товары.
// Если табличная часть пустая, то документ не выгружается, иначе он не пройдет проверку по схеме.
Запрос = Новый Запрос(
"ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА КАК ЕстьЗаписи
|ИЗ
| Документ.ВозвратТоваровПоставщику.ВидыЗапасов КАК ВидыЗапасов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика
| ПО ВидыЗапасов.АналитикаУчетаНоменклатуры = Аналитика.КлючАналитики
|ГДЕ
| ВидыЗапасов.Ссылка = &Ссылка
| И (Аналитика.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар)
| ИЛИ Аналитика.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))");
Запрос.УстановитьПараметр("Ссылка", ДанныеИБ.Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
Если Не Выборка.Следующий() Тогда
ИспользованиеПКО.Документ_ВозвратТоваровПоставщику_Отправка = Ложь;
КонецЕсли;
КонецПроцедуры Показать
Хоть тема и старая, но решение задачи не нашел.
Потребовалось в обмене УТ11-БП3 отключить выгрузку Заказов покупателей.
Решил так:
1. Доработаны правила регистрации - чтобы сами Заказы не регистрировались к обмена ("Перед обработкой": Отказ = Истина;)
При этом по ссылке Заказы всё равно выгружались.
2. В общем модуле МенеджерОбменаЧерезУниверсальныйФормат в процедуре ПКО_Документ_ЗаказКлиента_Отправка_ПриОтправкеДанных установил:
ДанныеXDTO = Неопределено;
Потребовалось в обмене УТ11-БП3 отключить выгрузку Заказов покупателей.
Решил так:
1. Доработаны правила регистрации - чтобы сами Заказы не регистрировались к обмена ("Перед обработкой": Отказ = Истина;)
При этом по ссылке Заказы всё равно выгружались.
2. В общем модуле МенеджерОбменаЧерезУниверсальныйФормат в процедуре ПКО_Документ_ЗаказКлиента_Отправка_ПриОтправкеДанных установил:
ДанныеXDTO = Неопределено;
(7)
Процедура ПКО_***_Отправка_ПриОтправкеДанных(ДанныеИБ, ДанныеXDTO, КомпонентыОбмена, СтекВыгрузки)
мДогвор = ДанныеИБ.Договор;
Если НЕ ОбщегоНазначения.ЗначениеРеквизитаОбъекта(мДогвор, "Выгружать") = Истина Тогда
ДанныеXDTO = Неопределено;
Возврат;
//Выгружать(реквизит объекта)-признак для контроля пользователем выгружать/нет договор.
КонецЕсли;ДанныеXDTO = Неопределено;
Прекрасное решение!
Я зашел через модуль ОбменДаннымиXDTOСервер
Вывел в расширение Вместо процедуру ВыполнитьВыгрузкуЗарегистрированныхДанныхБезПакетнойРегистра ции
и там выбрал что выгрузить а что удалить из из плана обмена
Вывел в расширение Вместо процедуру ВыполнитьВыгрузкуЗарегистрированныхДанныхБезПакетнойРегистра
и там выбрал что выгрузить а что удалить из из плана обмена
&Вместо("ВыполнитьВыгрузкуЗарегистрированныхДанныхБезПакетнойРегистрации")
Процедура Расш1_ВыполнитьВыгрузкуЗарегистрированныхДанныхБезПакетнойРе гистрации(КомпонентыОбмена, НомерСообщения, НачальнаяВыгрузкаДанных, УзелДляОбменаОбъект, СписокТипов)
УзелДляОбмена = КомпонентыОбмена.УзелКорреспондента;
ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения(УзелДляОбмена, НомерСообщения, СписокТипов);
Пока ВыборкаИзменений.Следующий() Цикл
Объект = ВыборкаИзменений.Получить();
Если ТипЗнч(Объект.Ссылка) = Тип("ДокументСсылка.ПлатежноеПоручение") Тогда
ВыгрузкаЗарегистрированногоОбъекта(КомпонентыОбмена, НачальнаяВыгрузкаДанных, УзелДляОбменаОбъект, Объект);
Иначе
ПланыОбмена.УдалитьРегистрациюИзменений(УзелДляОбмена, ОБъект.Ссылка);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот
