Конвертация Данных 2.1. Не заполнен реквизит "Контрагент" в документе "Счет на оплату покупателя" в ПКО ПослеЗагрузки

1. Isakov_Artem 09.04.19 15:21 Сейчас в теме
Добрый день!
Модернизирую правила обмена для выгрузки/загрузки счетов из самописной конфигурации (на основе УПП) в БП 3.0.
Есть Счет, в котором есть реквизит "Контрагент" и реквизит "ДоговорКонтрагента". В обработчике "ПослеЗагрузки" программно создается "ДоговорКонтрагента" владелец которого должен быть "Объект.Контрагент". При записи договора контрагента возникает ошибка Рис 1.

Реквизит "Контрагент" в базе источнике заполнен, но обработчике пустая ссылка. Именно поэтому появляется ошибка.

Что нужно сделать, что бы подчиненный Счету реквизит "Контрагент" был заполнен в обработчике "ПослеЗагрузки"?

Спасибо!
Прикрепленные файлы:
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. tusv 212 09.04.19 15:36 Сейчас в теме
(1)То есть у Вас Контрагент не переноситься? Тогда ошибка в ПКО Счет на оплату покупателю
6. Isakov_Artem 09.04.19 15:59 Сейчас в теме
(2) Закомментировал программное создание договора контрагента и счет создался без ошибок.
8. Isakov_Artem 09.04.19 16:07 Сейчас в теме
(6) Как создать контрагента по ссылке раньше чем документ счет?
14. tusv 212 09.04.19 16:56 Сейчас в теме
(6)Странно как то.
Я бы от программирования в приемнике отказался. Все можно сделать Новым ПКО, скажем "ДоговорыСПокупателями. С признаками не замещать и не искать по Уиду. Объект - источник пустой
Поля поиска ВидДоговора, Организация,Владелец
Перед выгрузкой свойств:
ВалютаВзаиморасчетов -> Значение = Константы.ВалютаРегламентированногоУчета.Получить();
ВидДоговора -> Значение = "СПокупателем";
Владелец -> Значение = Источник.Контрагент;
Наименование Значение = "Основной договор с покупателем";
В самом ПКО "СчетНаОплатуПокупателю" в ПКС Договор устанавливаем имя правила и пишем Значение = Источник;
Все
Прикрепленные файлы:
3. platonov.e 161 09.04.19 15:36 Сейчас в теме
Может все таки в Объект.Контрагент что то не то?
4. Isakov_Artem 09.04.19 15:39 Сейчас в теме
(3) ну он пустой. В расходной накладной он заполняется.
Прикрепленные файлы:
5. platonov.e 161 09.04.19 15:43 Сейчас в теме
(4) ну это хорошо, что он в расходной накладной заполняется. заполняется ли он в счете на оплату? Если нет, то (1) либо ПВД смотреть.
7. Isakov_Artem 09.04.19 16:00 Сейчас в теме
(5) если закомментировать программное создание договора контрагента, то ошибок не появляется и счет с контрагентом создаются.
9. Isakov_Artem 09.04.19 16:08 Сейчас в теме
(5) Как создать контрагента по ссылке раньше чем документ счет?
10. palsergeich 09.04.19 16:09 Сейчас в теме
Можно сделать выгрузку в несколько этапов.
Сначала справочники, потом документы.
Ну это решение проблемы в лоб.
11. melenaspb 208 09.04.19 16:32 Сейчас в теме
Попробуйте в ПКО "СчетНаОплатуПокупателю", в ПКС "Контрагент", в событии "Перед выгрузкой" написать:
ВыгрузитьОбъект = Истина;
13. Isakov_Artem 09.04.19 16:45 Сейчас в теме
(11) Вы думаете сбрасывался этот флаг механизмом поиска контрагента, работающего через регистр "СоответствиеОбъектовДляОбмена"?
12. Isakov_Artem 09.04.19 16:34 Сейчас в теме
Перенакатил DT на базу приемника и ошибка исчезла. За время тестирования было создана куча объектов. Плюсом, поверх стандартного механизма поиска сделан поиск в соответствиях УИДов в регистре сведений. Возможно он как-то повлиял на то что контрагент был пустым. Но код который осуществлял поиск я проверял и контрагентов находило. Короче не понятно в итоге в чем было дело, на свежей базе все работает.
Всем спасибо.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот