Имя: Пароль:
1C
1С v8
обмен УПП 1.2 и БП 3.0 с помощью конвертации данных
0 st7421
 
08.07.16
13:24
Доброго всем дня!
Помогите разобраться с конвертацией данных. Я в не особо разбираюсь, камнями не кидаться ).
Есть правила обмена между УПП 1.2 и БП 3.0 документами поступления и счет-фактурами полученными.

Из УПП отправляется документ поступления, если у него есть в подчинении документ счет-фактура, то формирование этого СФ происходит в процедуре "После загрузки" на стороне БП с помощью стандартного механизма.
Тут возникает проблема: если для договора документа поступления УПП нет соответствия в БП, то возникает ошибка: программа не видит реквизиты договора, хотя правила для договора добавлены, все соответствия проставлены.

Почему при одновременной загрузке нового справочника "договоры контрагентов" и нового документа "Счет-фактура полученный" программа не видит реквизиты договора?
1 st7421
 
08.07.16
13:35
Дополнение: при создании стандартным механизмом счет-фактуры на основании поступления просматриваются реквизиты договора поступления: УчетАгентскогоНДС(бул.) и ВидДоговора. При получении их в процедуре реквизита УчетАгентскогоНДС программа пишет ошибку: " Преобразование значения к типу Булево не может быть выполнено". При этом программа видит что договор есть.
Само поступление приходит в БП без ошибок, договор создается согласно правилам ПКО.
2 st7421
 
12.07.16
05:31
Тем кто столкнется с такой же проблемой: Несмотря на то что в процедуре "после загрузки" создан объект, он еще не записан, поэтому при получении реквизитов договора в процедуре создания на основании СФ программа выдавала такие ошибки.
Я сделал следующим образом. В ПКО поступления в процедуре "после выгрузки" собрал структуру "входящие данные", затем с помощью функции передал в ПКО для СФ.

Конечно лучше было бы если СФ создавалась средствами конфигурации приемника, но я нашел такой выход.
3 Mikhail Volkov
 
12.07.16
05:43
(0) Вроде подобный вопрос был на http://forum.ru-board.com/topic.cgi?forum=33&topic=10715&start=8440#19, отвечал там же: Событие ПКО "после загрузки" наступает до записи объекта загрузки в базу, т.е. в базе приемника нет ни поступления товаров и услуг, ни договора. Поэтому процедура общего модуля УчетНДСВызовСервера.СоздатьСчетФактуруПолученныйНаОсновании(Основание, НомерСФ, ДатаСФ) может работать не корректно.
В ПКО "после загрузки" наверное существует типа
Если Объект.Проведен Тогда
    Параметры.ДокументыДляПроведения.Добавить(Объект);
КонецЕсли;  
составляется список документов для проведения после их записи в базу приемника. Советую из этого же списка брать документы поступления товаров и услуг для создания СФ, т.е. после их записи в базу приемника.
4 MaxS
 
12.07.16
07:55
(2) Дополню для полноты картины.
Есть решение для обмена УПП 1.2 с любой базой на основе универсального формата обмена (КД3). Там главное выгрузить корректно, процедуры загрузки в принимающей базе свои и можно не заморачиваться.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.