![]() |
Синхронизация данных. Пометка удаления подчиненных документов. Доброго времени суток, коллеги. Проблемка такая - есть настроенная синхронизация БП 3 - УНФ. в УНФ делают реализацию. Она успешно передается в БП. в БП ее получают, проводят, делают по ней счет фактуру. Затем в УНФ помечают на удаление реализацию. В БП эта реализация также делается при синхронизации помеченной на удаление, а счет фактура по ней - так и висит проведенной. Вопрос - как обычно, что сделать чтобы счет фактура тоже распроводилась автоматом при синхронизации ( и помечалась на удаление ) . это так синхронизация не умеет распроводить подчиненный документ или какие то настройки ( порылся ничего не нашел ) ? |
а с чего это она должна распроводиться, если она к синхронизации никакого отношения не имеет? вводить СФ в УНФ. а еще в реализации есть кнопарик "УПД". |
[quote=2Green;49112430] а с чего это она должна распроводиться, если она к синхронизации никакого отношения не имеет? вводить СФ в УНФ. а еще в реализации есть кнопарик "УПД". [/quote] Это понятно, потому что если вручную в БП удалять реализацию то автоматом и счф пометится на удаление. думалось что при синхронизации также должно отработать логично было бы. а с кнопариком или без - без разницы. |
В общем , проблему решил так : сделал расширение, в него добавил процедуру УстановитьПометкуУдаленияУОбъекта из общего модуля ОбменДаннымиXDTOСервер : &После("УстановитьПометкуУдаленияУОбъекта") Процедура Синхр1_УстановитьПометкуУдаленияУОбъекта(Объект) Если (ТипЗнч(Объект.Ссылка)=Тип("ДокументСсылка.РеализацияТоваровУслуг")) Или (ТипЗнч(Объект.Ссылка)=Тип("ДокументСсылка.ПоступлениеТоваровУслуг")) Тогда Если Объект.ОбменДанными.Загрузка Тогда Запрос=Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | СвязанныеДокументы.Ссылка |ИЗ | КритерийОтбора.СвязанныеДокументы(&Ссылка) КАК СвязанныеДокументы"; Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Если ТипЗнч(Выборка.Ссылка)=Тип("ДокументСсылка.СчетФактураВыданный") Или ТипЗнч(Выборка.Ссылка)=Тип("ДокументСсылка.СчетФактураПолученный") Тогда ДокументСчетФактураОбъект=Выборка.Ссылка.ПолучитьОбъект(); Если ДокументСчетФактураОбъект.Проведен Тогда ДокументСчетФактураОбъект.Записать(РежимЗаписиДокумента.ОтменаПроведения); КонецЕсли; ДокументСчетФактураОбъект.ПометкаУдаления=Истина; ДокументСчетФактураОбъект.Записать(); КонецЕсли; КонецЦикла; КонецЕсли; КонецЕсли; КонецПроцедуры Теперь, если в источнике - помечают на удаление реализацию или поступление, а в приемнике сделали на их на основании счет фактуру, то при синхронизации в приемнике помечается на удаление и счет фактура. |
Текущее время: 15:42. Часовой пояс GMT +3. |