|   |   | 
| 
 | КД выгрузка связанного документа | ☑ | ||
|---|---|---|---|---|
| 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 реквизиты. рукалицо. прошу прощения, что отвлек. всем спасибо. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |