К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Синхронизация данных. Пометка удаления подчиненных документов.

0 - 12.04.2023 - 16:34
Доброго времени суток, коллеги.
Проблемка такая - есть настроенная синхронизация БП 3 - УНФ. в УНФ делают реализацию. Она успешно передается в БП. в БП ее получают, проводят, делают по ней счет фактуру. Затем в УНФ помечают на удаление реализацию. В БП эта реализация также делается при синхронизации помеченной на удаление, а счет фактура по ней - так и висит проведенной.

Вопрос - как обычно, что сделать чтобы счет фактура тоже распроводилась автоматом при синхронизации ( и помечалась на удаление ) . это так синхронизация не умеет распроводить подчиненный документ или какие то настройки ( порылся ничего не нашел ) ?



Гость
1 - 12.04.2023 - 23:46
а с чего это она должна распроводиться, если она к синхронизации никакого отношения не имеет? вводить СФ в УНФ.
а еще в реализации есть кнопарик "УПД".
2 - 13.04.2023 - 08:53
Цитата:
Сообщение от 2Green Посмотреть сообщение
а с чего это она должна распроводиться, если она к синхронизации никакого отношения не имеет? вводить СФ в УНФ. а еще в реализации есть кнопарик "УПД".
Это понятно, потому что если вручную в БП удалять реализацию то автоматом и счф пометится на удаление. думалось что при синхронизации также должно отработать логично было бы.

а с кнопариком или без - без разницы.

Отредактировано specx; 13.04.2023 в 08:55. Причина: лгично
3 - 24.04.2023 - 10:52
В общем , проблему решил так :
сделал расширение, в него добавил процедуру УстановитьПометкуУдаленияУОбъекта из общего модуля ОбменДаннымиXDTOСервер :

&После("УстановитьПометкуУдаленияУОбъекта")
Процедура Синхр1_УстановитьПометкуУдаленияУОбъекта(Объект)


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



Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
Выборка = Запрос.Выполнить().Выбрать();


Пока Выборка.Следующий() Цикл
Если ТипЗнч(Выборка.Ссылка)=Тип("ДокументСсылка.СчетФак тураВыданный")
Или ТипЗнч(Выборка.Ссылка)=Тип("ДокументСсылка.СчетФак тураПолученный") Тогда

ДокументСчетФактураОбъект=Выборка.Ссылка.ПолучитьО бъект();

Если ДокументСчетФактураОбъект.Проведен Тогда
ДокументСчетФактураОбъект.Записать(РежимЗаписиДоку мента.ОтменаПроведения);
КонецЕсли;
ДокументСчетФактураОбъект.ПометкаУдаления=Истина;
ДокументСчетФактураОбъект.Записать();
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЕсли;

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


Теперь, если в источнике - помечают на удаление реализацию или поступление, а в приемнике сделали на их на основании счет фактуру, то при синхронизации в приемнике помечается на удаление и счет фактура.


К списку вопросов






Copyright ©, Все права защищены