|
КД выгрузка связанного документа | ☑ | ||
---|---|---|---|---|
0
Cumpuciy
03.03.15
✎
11:33
|
Переделываю правила обмена под БП 3.0
Документ поступления товаров попадают в план обмена после установки соответствующего флага в документе. Надо, что бы вместе с ПТУ выгружалась и связанная с ним СФ входящая. При обмене с БП 2.0 прекрасно работала такая конструкция: НайденнаяСФ = НайтиПодчиненныйДокумент(Источник, "СчетФактураПолученный"); Если НайденнаяСФ <> Неопределено тогда ВыгрузитьПоПравилу(НайденнаяСФ,,,,"СчетФактураПолученный"); КонецЕсли; но когда выгружаю в БП 3.0, если ПТУ в БП ещё нет, то выдает ошибку. Поле объекта не обнаружено. Как бы так по хитрому, сперва выгрузить ПТУ, а затем СФ. |
|||
1
Naumov
03.03.15
✎
11:39
|
Обмен через ПланОбмена или через универсальныйобмен?
|
|||
2
Cumpuciy
03.03.15
✎
11:41
|
(1) Через обработку универсальный обмен данными, и регистрация в плане обмена. ПТУ при установке флага регистрируется в плане обмена, затем выгрузка только зарегистрированных объектов.
|
|||
3
Cumpuciy
03.03.15
✎
11:42
|
Конструкция:
НайденнаяСФ = НайтиПодчиненныйДокумент(Источник, "СчетФактураПолученный"); Если НайденнаяСФ <> Неопределено тогда ВыгрузитьПоПравилу(НайденнаяСФ,,,,"СчетФактураПолученный"); КонецЕсли; работала в ПКО ПоступлениеТоваровУслуг в обработчике После Выгрузки. |
|||
4
Naumov
03.03.15
✎
11:51
|
Если через универсальный обмен, то выгрузка через
НайденнаяСФ = НайтиПодчиненныйДокумент(Источник, "СчетФактураПолученный"); Если НайденнаяСФ <> Неопределено тогда ВыгрузитьПоПравилу(НайденнаяСФ,,,,"СчетФактураПолученный"); КонецЕсли; работала в ПКО ПоступлениеТоваровУслуг в обработчике После Выгрузки. Должна так же работать. |
|||
5
Cumpuciy
03.03.15
✎
11:57
|
(4) ну вот не работает. выгрузка останавливается с ошибкой
ошибка в обработчике ПослеВыгрузки Поле объекта не обнаружено. всё. какое поле, какого объекта, подробностей нет. НО! только если в БП поступления товаров ещё нет, т.е. это первая выгрузка объекта. Причем ПТУ в БП создается. И при повторной выгрузке этой ошибки нет. в ПКО СчетФактураПолученный в обработчике После Загрузки выполняется код: //добавим документ основание в тч Если Объект.ДокументыОснования.Количество() = 0 тогда НоваяСтрока = объект.ДокументыОснования.Добавить(); НоваяСтрока.ДокументОснование = Объект.ДокументОснование; конецесли; объект.КодВидаОперации = "01"; объект.КодСпособаПолучения = 1; объект.НДСПредъявленКВычету = истина; объект.ДоговорКонтрагента = Объект.ДокументОснование.ДоговорКонтрагента.Ссылка; объект.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыПолученного.НаПоступление; объект.Контрагент = Объект.ДокументОснование.Контрагент.Ссылка; Объект.Записать(); Есть подозрение, что ПТУ ещё не создан, а уже идёт выгрузка СФ, где есть ссылка на ПТУ. но ведь когда выгружал в 2.0 всё работало прекрасно. |
|||
6
стаканыч
03.03.15
✎
11:58
|
(5) ну так отладчиком чего ты
|
|||
7
Cumpuciy
03.03.15
✎
12:05
|
(6) ну видимо придется
|
|||
8
Naumov
03.03.15
✎
12:06
|
(5) Какое поле-то не обнаружено? при чем тут события, если код кривой?
|
|||
9
Naumov
03.03.15
✎
12:07
|
(5) а что у тебя за Объект?
При выгрузке есть Источник. |
|||
10
Naumov
03.03.15
✎
12:08
|
+Ты сам понимаешь, что пишешь:
"Есть подозрение, что ПТУ ещё не создан, а уже идёт выгрузка СФ, где есть ссылка на ПТУ. " У тебя событие из конвертации ПТУ обрабатывается. как его может не существовать? |
|||
11
Cumpuciy
03.03.15
✎
12:11
|
(8) Просто "Поле объекта не обнаружено". всё. на этом сообщение об ошибке заканчивается.
(9) ПКО СчетФактураПолученный в обработчике После Загрузки Объект - это Счет фактура полученный. |
|||
12
PLUT
03.03.15
✎
12:21
|
(11)
там обычно еще в тексте ашипки Объект= бла-бла-бла Обормотчик = бла-бла-бла Позиция модуля =(...) где ... - номер строки в модуле обормотчика |
|||
13
Cumpuciy
03.03.15
✎
12:47
|
(12)
ПКО = ПоступлениеТоваровУслуг (Документ: Поступление товаров и услуг) Объект = Поступление товаров и услуг И0000097 от 26.02.2015 12:00:00 (Поступление товаров и услуг) Обработчик = ПослеВыгрузкиОбъекта ОписаниеОшибки = Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(6964)}: Поле объекта не обнаружено ПозицияМодуля = Обработка.УниверсальныйОбменДаннымиXML(1238) КодСообщения = 43 |
|||
14
Йохохо
03.03.15
✎
12:49
|
(13) мб в Поступление товаров и услуг И0000097 от 26.02.2015 12:00:00 нет объект.ВидСчетаФактуры?
|
|||
15
Naumov
03.03.15
✎
13:06
|
сдается мне, что в правилах есть какое-то недозаполненное ПКС, вот и появляется поле, которого нет не обнаружено.
(11) А где текст обработчика "ПослеВыгрузки"? на кой нам после загрузки, если ошибка при выгрузке? |
|||
16
Cumpuciy
03.03.15
✎
13:08
|
(14) у Поступление товаров и услуг И0000097 есть СФ И0000091
Выгрузка обрывается, объект И0000097 появляется в базе, но без номенклатуры например. т.е. недогружен. если запустить выгрузку повторно, то всё ок, появляется и прикрепленная СФ и вообще всё ок. Если включить подробный комментарий выгрузки: -идет выгрузка ПТУ --выгружает реквизиты -- табличные части --выгружает СФ ---выгружает документ основание и тут я кажется понял, что самдурак. в СФ выгрузка документа основания - ПТУ идет по совсем другому ПКО, сделано было специально, чтоб не замещались найденные объекты при загрузке. и в этом правиле я прошляпил отключить выгрузку отсутствующих в БП 3.0 реквизиты. рукалицо. прошу прощения, что отвлек. всем спасибо. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |