Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
20 Янв 2018, 08:14
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Грабли с конвертацией  (Прочитано 1889 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн maks_20

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-09-27
  • Сайт: 
  • Профессия: Программист 1С
Всем привет. Делаю обмен с использованием конфигурации Интеграция 2is и конвертации. Набросал конвертацию, в ручном режиме при выгрузке с использованием обработки универсального обмена все гуд. Затык начинается при переносе обработчика выгрузки в глобальный обработчик конвертации ПередВыгрузкойОбъекта. А именно - передаю в правило выгрузки входящие данные, но при выгрузке вылетает ошибка, говорящая, что данная структура неопределена. Приведу куски кода, чтобы проще было понять, о чем речь.
ПередВыгрузкойОбъекта:
                ДопДанные   = Новый Структура;
      ДопДанные.Вставить("Контрагент", СсылкаРН.Контрагент);
      ДопДанные.Вставить("Склад",СсылкаРН.Склад);
      ДопДанные.Вставить("Дата", ДатаДокумента);
      ДопДанные.Вставить("Организация", СсылкаРН.Организация);
      ДопДанные.Вставить("Договор", СсылкаРН.Договор);
      ДопДанные.Вставить("Комментарий", ЦенаПлановая);
      ДопДанные.Вставить("ВалютаДокумента", СсылкаРН.ВалютаДокумента);
      ДопДанные.Вставить("Услуги", ТЗУслуги);
      ДопДанные.Вставить("Продукция", ТЗПродукция);
      ДопДанные.Вставить("ИспользованныеМатериалы", ТЗИспМатериалы);
      
      ВыгрузитьПоПравилу(Ссылка,,ДопДанные,, ИмяПКО, пУзелСсылки);
где СсылкаРН - ссылка на зависимый документ, дергается запросом. (вывожу в логах, ссылка не пустая, реквизиты тоже заполнены -  на нее грешить не стоит).

Обработчик ПередВыгрузкой ПКО (для документа)

Если ТипЗнч(ВходящиеДанные) <> Тип("Структура") Тогда
   ВходящиеДанные = Новый Структура;   
КонецЕсли;
Если Не ВходящиеДанные.Свойство("Подразделение") Тогда
   ВходящиеДанные.Вставить("Подразделение", "Неопределен");   
КонецЕсли;

И далее в самом ПКС для документа Значение = ВходящиеДанные.ДоговорКонтрагента;

В итоге при выгрузке вылетает такое сообщение:
Ошибка в обработчике события ПередВыгрузкой (Свойства)
ПКО                    =  ПоступлениеИзПереработки  (: )
ПКС                    =  28  (--> ДоговорКонтрагента)
Объект                 =  Приходная накладная ПЗ-9010-0000108 от 04.09.2015 15:48:55  (Документ объект: Приходная накладная) СвойствоПриемника      =  ДоговорКонтрагента  (СправочникСсылка.ДоговорыКонтрагентов) КонвертируемоеЗначение =    (Не определено)
 Обработчик             =  ПередВыгрузкойСвойства
 ОписаниеОшибки         =  Поле объекта не обнаружено (Договор) ПозицияМодуля          =  (1)
КодСообщения           =  55

Повторюсь, что проблема проявляется только если вместо правил выгрузки использовать обработчик ПередВыгрузкойОбъекта самой конвертации. Использование этого обработчика обусловлено особенностями внедрения обмена в интеграцию. Кто с подобным сталкивался? Какие особенности использования этого обработчика? почему он не хочет передавать в ПКО структуру ВходящиеДанные?


Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
наверное проблема тут
ДопДанные.Вставить("Договор", СсылкаРН.Договор);

возможно надо
ДопДанные.Вставить("Договор", СсылкаРН.ДоговорКонтрагента);
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн maks_20

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-09-27
  • Сайт: 
  • Профессия: Программист 1С
В базе-источнике у документа реквизит называется "Договор". Она не совсем типовая. Какая-то грабля именно с переносом обработчика выгрузки в ПередВыгрузкойОбъекта. Потому как с обычным правилом выгрузки все работает идеально.

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
ОписаниеОшибки         =  Поле объекта не обнаружено (Договор)

я просто опираюсь на вот это.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
В базе-источнике у документа реквизит называется "Договор".
Как бы, еще раз хочу уточнить: у документа "приходная накладная" есть реквизит "договор"?

Оффлайн maks_20

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-09-27
  • Сайт: 
  • Профессия: Программист 1С
тему можно закрывать. В правилах ошибки не было. Дело было с настройками в интеграции. Нужно было отключить режим выгрузки зависимых.


 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
96 Сообщений
AIFrame
71 Сообщений
alex0402
32 Сообщений
kiksi
27 Сообщений
pavl_vs
24 Сообщений
alexandr_ll
17 Сообщений
andron81_81
16 Сообщений
Norfolk
15 Сообщений
KOI8-R
14 Сообщений
MuI_I_Ika MuI_I_Ika
13 Сообщений

* Кто онлайн

  • Точка Гостей: 202
  • Точка Скрытых: 0
  • Точка Пользователей: 1
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal