КД 2.1 Ошибка в ВыгрузитьПоПравилу #765938


#0 by vadim777
Документ ПоступлениеТоваров. В событии ПередВыгрузкой записан код: Если Источник.Склад.ТипСклада = Перечисления.ТипыСкладов.СкладЦентральногоОфиса Тогда Получаем ошибу: Начало выгрузки:   21.02.2016 14:24:42 Выгружаем Поставщик1 Ошибка получения значения свойства подчиненного объекта (по имени свойства источника)     ОписаниеОшибки         =  Получение элемента по индексу для значения не определено Ошибка в обработчике события ПередВыгрузкойОбъекта     ПКО                    =  ПоступлениеТоваровУслуг  (Документ: Поступление товаров)     Объект                 =  Поступление товаров АЛКАЛК00003 от 25.01.2016 0:00:00  (Поступление товаров)     Обработчик             =  ПередВыгрузкойОбъекта     ОписаниеОшибки         =  Ошибка получения значения свойства подчиненного объекта (по имени свойства источника)     ОписаниеОшибки         =  Получение элемента по индексу для значения не определено Ошибка при выгрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1587)}: Ошибка в обработчике события ПередВыгрузкойОбъекта     ПКО                    =  ПоступлениеТоваровУслуг  (Документ: Поступление товаров)     Объект                 =  Поступление товаров АЛКАЛК00003 от 25.01.2016 0:00:00  (Поступление товаров)     Обработчик             =  ПередВыгрузкойОбъекта     ОписаниеОшибки         =  Ошибка получения значения свойства подчиненного объекта (по имени свойства источника)     ОписаниеОшибки         =  Получение элемента по индексу для значения не определено Если вызов ВыгрузкаПоПравилу(..) закомментировать, то выгрузка контрагента происходит без ошибок. Почему по правилу не выгружается?
#1 by GrayT
Может ему туда объект отдать а не ссылку?
#2 by vadim777
Попробовал дать объект: В результате сообщений об ошибке еще больше: Начало выгрузки:   21.02.2016 15:55:22 Выгружаем Поставщик1 Ошибка получения значения свойства подчиненного объекта (по имени свойства источника)     ОписаниеОшибки         =  Получение элемента по индексу для значения не определено Ошибка в обработчике события ПередВыгрузкойОбъекта     ПКО                    =  ПоступлениеТоваровУслуг  (Документ: Поступление товаров)     Объект                 =  Поступление товаров АЛКАЛК00003 от 25.01.2016 0:00:00  (Поступление товаров)     Обработчик             =  ПередВыгрузкойОбъекта     ОписаниеОшибки         =  Ошибка получения значения свойства подчиненного объекта (по имени свойства источника)     ОписаниеОшибки         =  Получение элемента по индексу для значения не определено Ошибка при выгрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1587)}: Ошибка в обработчике события ПередВыгрузкойОбъекта     ПКО                    =  ПоступлениеТоваровУслуг  (Документ: Поступление товаров)     Объект                 =  Поступление товаров АЛКАЛК00003 от 25.01.2016 0:00:00  (Поступление товаров)     Обработчик             =  ПередВыгрузкойОбъекта     ОписаниеОшибки         =  Ошибка получения значения свойства подчиненного объекта (по имени свойства источника)     ОписаниеОшибки         =  Получение элемента по индексу для значения не определено
#3 by GrayT
С объектом я вообще тупанул. Это ни при чем. А зачем вообще потребовалось выгружать контрагента из ПередВыгрузкой документа?
#4 by vadim777
Это сделано в стандартной конфе Аптека для Украины 1.0. Видишь, там идет проверка на то, что контрагент уже обработан: Ну чтобы увеличить скорость загрузки данных.
#5 by GrayT
Что за глупость? Есть признак ЗапоминатьВыгруженное. Стандартная выгрузка запоминает ключ выгруженных объектов (ссылка для объектов ссылочного типа) и повторно их не выгружает. И ни какой специальной обработки не требуется. Иными словами - пусть данный контрагент хоть в сотне документов разных типов будет, в файл выгрузке он промишется один раз
#6 by vadim777
Да и я также подумал об этом признаке. Но сейчас пытаюсь выяснить, почему ВыгрузитьПоПравилу(..) не работает. Несколько раз использовал такой вызов - все было норм. А в этой конфе ни фига не могу побороть.
#7 by GrayT
Отладчиком посмотреть? Сам так (вызов из ПередВыгрузкой) раньше не делал. ВыгрузитьПоПравилу из ПВО нормально, а так... Мне вообще непонятно как мы оказались в ПКО ПоступлениеТоваровУслуг. Ведь по идее должны были сразу попасть в ПКО Контрагенты. Единственное объяснение - уже начали выгружать документ, открыли узел, а тут на тебе - выгружай контрагента
#8 by vadim777
Для отладки в событии ПередВыгрузкой документа ПоступлениеТоваров изменил текст: Также в ПКО Контрагенты в событие ПередВыгрузкой добавил текст: Выгружаю только один документ ПоступлениеТоваров. Результат: Начало выгрузки:   21.02.2016 19:49:59 ПКО ПоступлениеТоваровУслуг Поступление товаров АЛКАЛК00003 от 25.01.2016 0:00:00 ПКО Контрагенты Поставщик1 Контрагенты Окончание выгрузки: 21.02.2016 19:50:03 Выгружено объектов: 456 Видно, что процесс идет сначала в ПКО документа, а затем уже - в ПКО Контрагенты.
#9 by vadim777
Так вот, решил попробовать обмен по этим правилам непосредственно из 1С, а не через Универсальный обмен. Все работает! Беру эти-же правила, и пытаюсь сделать выгрузку через Универсальный обмен - та же ошибка. Почему?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С