Ошибка получения значения свойства подчиненного объекта

Ошибка получения значения свойства подчиненного объекта. Конвертация

Я
   MAPATNK2

27.08.19 — 09:49

Выгрузка из УПП 1.3.99.1 и Бух 2.0

Выдает ошибку

Ошибка при выгрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1694)}: Ошибка получения значения свойства подчиненного объекта (по имени свойства приемника)

    ПКО                    =  ОтчетПроизводстваЗаСмену  (Документ: Отчет производства за смену)

    ПКС                    =  43  (—> СуммаПлановая)

    Объект                 =  Отчет производства за смену ЗД000000187 от 18.01.2019 20:23:10  (Отчет производства за смену)

    СвойствоПриемника      =  СуммаПлановая  (Число)

    ОписаниеОшибки         =  Поле объекта не обнаружено (СуммаПлановая)

    ПозицияМодуля          =  Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(8283)

    КодСообщения           =  17

Не понимаю в чем проблема. Правила конвертации отлаживать не могу, база не позволяет. Подскажите в чем может быть причина. Реквизит «Сумма плановая» у приемника есть. Внутри есть обработчик

Запросы.Запрос1.УстановитьПараметр(«Уод», Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииФиксНаСклад);

Запросы.Запрос1.УстановитьПараметр(«ВидДви»,ВидДвиженияНакопления.Приход);

Запросы.Запрос1.УстановитьПараметр(«Регистратор»,Источник.Ссылка);

Запросы.Запрос1.УстановитьПараметр(«Ном»,ОбъектКоллекции.Номенклатура);

Рез = Запросы.Запрос1.Выполнить().Выгрузить();

Запросы.Запрос33.УстановитьПараметр(«Ссылка»,Источник.Ссылка);

Запросы.Запрос33.УстановитьПараметр(«Ном»,ОбъектКоллекции.Номенклатура);

Рез33 = Запросы.Запрос33.Выполнить().Выгрузить();

Если Рез33.Количество()>0 тогда

    Если Рез33[0]._ИнкомСтоимостьИзготовления <> 0 тогда

        Значение = Число(Рез33[0]._ИнкомСтоимостьИзготовления);

    КонецЕсли;

КонецЕсли;

Запросы.Запрос2.УстановитьПараметр(«ДокументРег»,Источник.Ссылка);

Запросы.Запрос2.УстановитьПараметр(«Ном»,ОбъектКоллекции.Номенклатура);

Рез1 = Запросы.Запрос2.Выполнить().Выгрузить();

Флаг=0;

Если рез.Количество()>0 тогда

    Если Рез[0].Стоимость > 0 тогда

        Значение = Число(Рез[0].Стоимость/ОбъектКоллекции.Количество);

        Флаг = 1;

    КонецЕсли;

КонецЕсли;

Если Флаг=0 тогда

    Если Рез1.Количество()>0 тогда

        Если  Рез1[0].СУММА > 0 тогда

            Значение = Число(Рез1[0].СУММА/ОбъектКоллекции.Количество);

        КонецЕсли;

    КонецЕсли;

КонецЕсли;

Если Значение = 0 тогда

    Значение=Число(1000);

КонецЕсли;    

Но, думаю проблема не в нем. До сегодняшнего дня все выгружалось. Вчера обновила бух 2.0 и все сломалось. Я перезаписала структуру данных, обновила правила, перевыбрала реквизиты приемника, но ничего не поменялось, постоянно одна и та же ошибка. Повторюсь, реквизит у приемника такой есть и я его перевыбрала.

   gSha

1 — 27.08.19 — 09:51

Ошибка при выгрузке данных

   MAPATNK2

2 — 27.08.19 — 09:51

   piter3

3 — 27.08.19 — 09:51

Поле объекта не обнаружено (СуммаПлановая)

   MAPATNK2

4 — 27.08.19 — 09:51

   MAPATNK2

5 — 27.08.19 — 09:51

(3) Прочитайте выше. Я все описало капитан очевидность

   Droning1C

6 — 27.08.19 — 09:59

(5) хз, может попробовать обновить структуру метаданных  бп в конвертации?

   MAPATNK2

7 — 27.08.19 — 09:59

   gSha

8 — 27.08.19 — 09:59

а это не следствие того что вы копировали правила .. может там как то связка подчиненности в свойствах нарушена

между правилами отчетзасмену и отчет за смену новый

   MAPATNK2

9 — 27.08.19 — 10:00

(8) Я правила сама делала и ничего не копировала. Я только после ошибки хотела новое правило по документу отчета производству за смену сделать, но пока пометила на удаление.

   MAPATNK2

10 — 27.08.19 — 10:01

(6) Дак я ведь выше написала, что обновила уже её

   gSha

11 — 27.08.19 — 10:02

а нажмите на синхронизации свойств у этого документа .. точно все сапоставлено ?

   MAPATNK2

12 — 27.08.19 — 10:04

(11) Там нечему сопоставляться. Разные базы, ничего общего.

   MAPATNK2

13 — 27.08.19 — 10:08

(11) На всякий случай выделила все. Но один фиг они отключены, т.к. в приемнике нет таких реквизитов.

   gSha

14 — 27.08.19 — 10:14

просто что бы посмотреть, что имена те же используются .. не надо дальше ничего подргужать .. просто покажет что ваше свойство из применика уже используется

   Droning1C

15 — 27.08.19 — 10:16

(13) ну бывает что по запаре не тот файл в структуру метаданных передала, не?

   GANR

16 — 27.08.19 — 10:16

(0) Отладка спасет отца русской демократии

   MAPATNK2

17 — 27.08.19 — 10:17

(16) Не работает у меня отладка. И на мисте я выкладывала эту пробелму, так ничего и не помогло

   MAPATNK2

18 — 27.08.19 — 10:17

(15) Я уже раз 300 переделываю, и файл правил новый создаю и в отдельную папку кидаю

   Droning1C

19 — 27.08.19 — 10:18

(17) а как отладить пытаешься? я упп отлаживаю норм

   MAPATNK2

20 — 27.08.19 — 10:18

   MAPATNK2

21 — 27.08.19 — 10:18

   MAPATNK2

22 — 27.08.19 — 10:19

(19) Все по инструкции, и дебаг поставила и фаервол убрали и порты все открыли и перезагружали миллионы раз

   azt-yur

23 — 27.08.19 — 10:19

У вас похоже что Значение в обработчике остается не заполненным на каком то документе, а при неустановленном Значении пытается подставить поле с тем же именем из Источника, т.е. ОбъектКоллекции.СуммаПлановая, а у вас его нет.

У вас везде установка Значение идет в условиях, которые наверное нигде не отрабатывают. Добавьте в начале обработчика явное присваивание Значение = 0 без условий

   MAPATNK2

24 — 27.08.19 — 10:20

(23) Из источника она не берет, на картинках видно, что реквизит источника для плановой суммы не выбран

   MAPATNK2

25 — 27.08.19 — 10:20

(23) Но попробую

   Droning1C

26 — 27.08.19 — 10:21

(24) еще такой вопрос- Несколько отчетовПр выгружаются а на каком-то одном затык?

   azt-yur

27 — 27.08.19 — 10:21

(24) Если не указан, то обязательно в обработчике должно быть установлено Значение, если не установлено то ищет по имени

   MAPATNK2

28 — 27.08.19 — 10:22

(26) на многих, но да, только на каких то определенных

   MAPATNK2

29 — 27.08.19 — 10:24

(27) Ура. Спасибо вам))) Пошло дело

   GANR

30 — 27.08.19 — 10:25

(17) А скопировать базу с клиентского сервера на какой-нибудь и включить дебаг https://programmist1s.ru/wp-content/uploads/2013/08/vklyuchenie-otladki-v-1S.png разве нельзя?

   Droning1C

31 — 27.08.19 — 10:26

(28) Надо было сразу сказать) дело веселее бы пошло

   MAPATNK2

32 — 27.08.19 — 10:27

(30) База много весит, других серверов нет. У нас 2 компании, я обслуживаю одна, тут помочь некому. Дебаг то вроде как работает, серверные процедуры я могу отладить в общих модулях, только отладка правил на сервере 1 компании работает а на сервере 2-ой компании не пашет.

   GANR

33 — 27.08.19 — 10:31

(32) Пусть дают все необходимое, чтобы у Вас был дебаг. Иначе я считаю, что у Вас просто нет условий для работы.

   GANR

34 — 27.08.19 — 10:32

Эту черную кошку в черной комнате до посинения искать можно

   MAPATNK2

35 — 27.08.19 — 10:33

(33) Согласна, постараюсь что нибудь придумать)) Всем спасибо за помощь.

   hhhh

36 — 27.08.19 — 10:48

правила можно и через элементарное Сообщить() отладить. Это не такая уж повседневная вещь, чтобы из-за нее дебаг включать, она требуется раз в год. Отладил и забыл.

   GANR

37 — 27.08.19 — 11:14

(35) Есть еще 1 вариант — на демо-базе последнего релиза косяк воспроизвести и написать на v8@1c.ru весь ход действий с момента развертки базы, до момента появления ошибки. От них вполне можно добиться грамотного ответа, поверьте моему опыту.

  

GANR

38 — 27.08.19 — 11:15

+(37) ну это, конечно, если ошибка в типовой, за чужой овнокод они не отвечают

Добрый день, при конвертации данный выскакивает вот такая ошибка, не могу понять в чем дело: Ошибка получения значения свойства подчиненного объекта (по имени свойства приемника)     ПКО                    =  БухгалтерскаяСправка  ( —> ДокументСсылка.БухгалтерскаяСправка)     ПКС                    =  5  (—> СубконтоДт1)     Объект                 =  СтрокаТаблицыЗначений  (Строка таблицы значений)     СвойствоПриемника      =  СубконтоДт1       ОписаниеОшибки         =  Поле объекта не обнаружено (СубконтоДт1) Пытаюсь настроить выгрузку из ЗУП 8 в ПУБ 7.7 использую документ Бухгалтерская справка. Реквизит СубконтоДт1 в табличной части документа точно есть.

Поставь остановку по ошибке и посмотри.

Патамушта  у объекта БухгалтерскаяСправка  нет в ТЧ поляСубконтоДт1

Все, спасибо разобрался. В бухгалтерской справке в 7.7 есть поле СубконтоДт1

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

  1. Доброго времени суток, форумчане, нужна помощь.

    Стандартная обработака переноса данных не переносит себестоимость из документа «ВозвратТовараОтПокупателя», собственно для этого и создал небольшое правило обмена в КД:

    В секции запрос указал

    ВЫБРАТЬ
    Возврат.Цена
    ИЗ
    РегистрСведений.СебестоимостьНоменклатуры КАК Возврат
    ГДЕ
    Возврат.Номенклатура = &Номенклатура

    В секции при выгрузке для поля Себестоимость источника табличной части Товары указал:

    Запросы.Себестоимость.УстановитьПараметр(«Номенклатура», Источник.Товары.Номенклатура);
    РезультатЗапроса = Запросы.Себестоимость.Выполнить();
    Выборка= РезультатЗапроса.Выбрать();
    Себестоимость = Выборка.Выгрузить;

    Текст ошибки:

    Ошибка получения значения свойства подчиненного объекта (по имени свойства приемника)
    ПКО = ВозвратТоваровОтПокупателя (Документ: Возврат товаров от покупателя)
    ПКС = 21 ( —> Себестоимость)
    Объект = Возврат товаров от покупателя РТ000000050 от 03.05.2013 9:20:12 (Возврат товаров от покупателя)
    СвойствоПриемника = Себестоимость (Число)
    ОписаниеОшибки = Поле объекта не обнаружено (Себестоимость)
    ПозицияМодуля = ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(8211)
    КодСообщения = 17

    Ошибка при выгрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1618)}: Ошибка получения значения свойства подчиненного объекта (по имени свойства приемника)
    ПКО = ВозвратТоваровОтПокупателя (Документ: Возврат товаров от покупателя)
    ПКС = 21 ( —> Себестоимость)
    Объект = Возврат товаров от покупателя РТ000000050 от 03.05.2013 9:20:12 (Возврат товаров от покупателя)
    СвойствоПриемника = Себестоимость (Число)
    ОписаниеОшибки = Поле объекта не обнаружено (Себестоимость)
    ПозицияМодуля = ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(8211)
    КодСообщения = 17
    Вроде простой перенос, а не пойму где ошибка.

    Пара скринов форм во вложении

    Вложения:


  2. nickpugachev

    Offline

    nickpugachev
    Профессионал в 1С
    Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.398
    Симпатии:
    156
    Баллы:
    104

    вместо

    Себестоимость = Выборка.Выгрузить;

    нужно
    ну и если возвратов много и с большим количеством позиций — то лучше кэшировать себестоимость, быстрее думать будет

  3. код ошибки аналогичный.

    скажите, как запустить отладчик в КД?

    Указываю режим отладки обработки при выгрузке, там выбираю «подставлять код алгоритмов по месту вызова», копирую код для выгрузки во внешнюю обработку, ставлю точку останова для процедуры вызова при выгрузке добавленного кода, сохраняю, эту обработку указываю в «имя файла внешней обработки…», обновляю правила обмена, запускаю выгрузку, но точка останова не срабатывает ((


  4. nickpugachev

    Offline

    nickpugachev
    Профессионал в 1С
    Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.398
    Симпатии:
    156
    Баллы:
    104

    не совсем внимательно прочитал первый раз ошибку

    значение нужно выставлять в обработчике ПередВыгрузкой

    по отладке — загрузили правила, указали файл внешней обработки и запустили выгрузку — обновлять правила не надо

  5. Поменял на ПередВыгрузкой

    Теперь выдает ошибку на вызов запроса:

    Ошибка в обработчике события ПередВыгрузкой (свойства)
    ПКО = ВозвратТоваровОтПокупателя (Документ: Возврат товаров от покупателя)
    ПКС = 21 ( —> Себестоимость)
    Объект = Возврат товаров от покупателя РТ000000050 от 03.05.2013 9:20:12 (Возврат товаров от покупателя)
    СвойствоПриемника = Себестоимость (Число)
    Обработчик = ПередВыгрузкойСвойства
    ОписаниеОшибки = Поле объекта не обнаружено (Себестоимость)
    ПозицияМодуля = (1)
    КодСообщения = 55

    Ошибка при выгрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1618)}: Ошибка в обработчике события ПередВыгрузкой (свойства)
    ПКО = ВозвратТоваровОтПокупателя (Документ: Возврат товаров от покупателя)
    ПКС = 21 ( —> Себестоимость)
    Объект = Возврат товаров от покупателя РТ000000050 от 03.05.2013 9:20:12 (Возврат товаров от покупателя)
    СвойствоПриемника = Себестоимость (Число)
    Обработчик = ПередВыгрузкойСвойства
    ОписаниеОшибки = Поле объекта не обнаружено (Себестоимость)
    ПозицияМодуля = (1)
    КодСообщения = 55

    Скрин запроса

    Обновлял правила, потому что не делалась выгрузка без обновления (кнопка «Пересчитать правла обмена около выбора файла для обмена»)

    Вложения:

    • fggh.JPG
      fggh.JPG
      Размер файла:
      77,5 КБ
      Просмотров:
      7

  6. nickpugachev

    Offline

    nickpugachev
    Профессионал в 1С
    Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.398
    Симпатии:
    156
    Баллы:
    104

    а почему запрос в алгоритмах живет, а не в запросах?

  7. Поместил запрос в нужный раздел (не обратил сразу внимание)

    Теперь но не видит ссылку на справочник Номенклатура:

    Ошибка в обработчике события ПередВыгрузкой (свойства)
    ПКО = ВозвратТоваровОтПокупателя (Документ: Возврат товаров от покупателя)
    ПКС = 21 ( —> Себестоимость)
    Объект = Возврат товаров от покупателя РТ000000050 от 03.05.2013 9:20:12 (Возврат товаров от покупателя)
    СвойствоПриемника = Себестоимость (Число)
    Обработчик = ПередВыгрузкойСвойства
    ОписаниеОшибки = Поле объекта не обнаружено (Номенклатура)
    ПозицияМодуля = ВнешняяОбработка.ВнешняяОбработка10.МодульОбъекта(83)
    КодСообщения = 55

    Ошибка при выгрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1618)}: Ошибка в обработчике события ПередВыгрузкой (свойства)
    ПКО = ВозвратТоваровОтПокупателя (Документ: Возврат товаров от покупателя)
    ПКС = 21 ( —> Себестоимость)
    Объект = Возврат товаров от покупателя РТ000000050 от 03.05.2013 9:20:12 (Возврат товаров от покупателя)
    СвойствоПриемника = Себестоимость (Число)
    Обработчик = ПередВыгрузкойСвойства
    ОписаниеОшибки = Поле объекта не обнаружено (Номенклатура)
    ПозицияМодуля = ВнешняяОбработка.ВнешняяОбработка10.МодульОбъекта(83)
    КодСообщения = 55
    стр 83: Запросы.Себестоимость.УстановитьПараметр(«Номенклатура», Источник.Товары.Номенклатура);
    Товары — это ТЧ

    Если определение параметра писать в ПередВыгрузкой,то у справочник и будет неопределен?

    Видно, что отладка идет по внешней обработке, однако точка останова не срабатыват. Возможно из — за того, что запушено не в режиме отладки?


  8. nickpugachev

    Offline

    nickpugachev
    Профессионал в 1С
    Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.398
    Симпатии:
    156
    Баллы:
    104

    ну и не Источник.Товар.Номенклатура, а ОбъектКоллекции.Номенклатура
    текущая выгружаемая строка табличной части находится в переменной ОбъектКолллекции

  9. Исправил на ОбъектКоллекции.Номенклатура.
    Изменил название запроса на «РасчетСебестоимости», чтоб не было путаницы при отладке с названием поля
    Выполняю отладку.

    Выдает

    Ошибка получения значения свойства подчиненного объекта (по имени свойства приемника)
    ПКО = ВозвратТоваровОтПокупателя (Документ: Возврат товаров от покупателя)
    ПКС = 21 ( —> Себестоимость)
    Объект = Возврат товаров от покупателя РТ000000050 от 03.05.2013 9:20:12 (Возврат товаров от покупателя)
    СвойствоПриемника = Себестоимость (Число)
    ОписаниеОшибки = Поле объекта не обнаружено (Себестоимость)
    ПозицияМодуля = ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(8211)
    КодСообщения = 17

    Ошибка при выгрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1618)}: Ошибка получения значения свойства подчиненного объекта (по имени свойства приемника)
    ПКО = ВозвратТоваровОтПокупателя (Документ: Возврат товаров от покупателя)
    ПКС = 21 ( —> Себестоимость)
    Объект = Возврат товаров от покупателя РТ000000050 от 03.05.2013 9:20:12 (Возврат товаров от покупателя)
    СвойствоПриемника = Себестоимость (Число)
    ОписаниеОшибки = Поле объекта не обнаружено (Себестоимость)
    ПозицияМодуля = ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(8211)
    КодСообщения = 17

    Причем на сей раз «Поле объекта не обнаружено (Себестоимость)» это не связано с запросом, а уже связано с полем в приемнике, и ошибка уже в стандартной внешней обрабоке, т.е. созданная внешняя обработка сработала корректно.

    Что тут еще может быть? Прикрепил обновленный текст

    Вложения:


  10. nickpugachev

    Offline

    nickpugachev
    Профессионал в 1С
    Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.398
    Симпатии:
    156
    Баллы:
    104

    Если Выборка.Следующий() Тогда
    Значение = Выборка.Цена
    Иначе
    Значение = 0;
    КонецЕсли;
    
  11. Огромное спасибо, нужный результат достигнут!

    Но все же как полноценно работать с отладчиком в КД или довольствоваться строчкой, в которой ошибка?

  12. Может кому пригодится последовательность действий для отладки правил обмена данными:

    1. Запускаешь конфигуратор.
    2. Запускаешь 1Спредприятия в режиме отладки.
    3. Запускаешь обработку «Универсальный обмен в формате ХМЛ».
    4. В ней указываешь режим отладки, формируешь текст модуля для отладки. Копируешь этот текст.
    5. В конфигураторе создаешь новую обработку, открываешь модуль обработки, копируешь туда текст, сформированный автоматически обработкой обмена.
    6. Сохраняешь обработку, ставишь нужные точки останова.
    7. В обработке универсальный обмен в соответствующем окошке выбираешь путь к этой обработке, которую сохранил.
    8. Запускаешь выгрузку.

    и радуешься ))


1C-pro.ru - форум по 1С:Предприятию 7.7, 8.0, 8.1, 8.2, 8.3

Из Отчета о розничных продажах в УТ11 при обмене с БП30 нужно сделать в БП два документа: Отчет о розничных продажах и Инвентаризация товаров на складах. Правила обмена типовые. Пришлось без особых познаний в них влезть. Отчет о розничных продажах поправил, заработало.

1.Сделал ПКо Отчет_Инвентаризация, где Перед выгрузкой:

МенеджерВТ = Новый МенеджерВременныхТаблиц;

Запрос = Новый Запрос;

Запрос.МенеджерВременныхТаблиц = МенеджерВТ;

Запрос.Текст = («ВЫБРАТЬ

|ОтчетОРозничныхПродажахТовары.Номенклатура КАК Номенклатура,

|ОтчетОРозничныхПродажахТовары.Цена КАК ЦенаВРознице,

|ОтчетОРозничныхПродажахТовары.КоличествоУпаковокФакт КАК Количество,

|ОтчетОРозничныхПродажахТовары.КоличествоУпаковокУчет КАК КоличествоУчет,

|ОтчетОРозничныхПродажахТовары.КоличествоУпаковокФакт * ОтчетОРозничныхПродажахТовары.Цена КАК Сумма,

|ОтчетОРозничныхПродажахТовары.КоличествоУпаковокУчет * ОтчетОРозничныхПродажахТовары.Цена КАК СуммаУчет

|ПОМЕСТИТЬ ТаблицаТовары

|ИЗ

|Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары»);

РезультатыЗапроса = Запрос.Выполнить();

ВходящиеДанные.Вставить(«Товары», РезультатыЗапроса.Выгрузить());

2.В ПВД ОтчетОРозничныхПродажах добавил в Перед выгрузкой: ВыгрузитьПоПравилу(Объект,,,, «Отчет_Инвентаризация»);

3.При обмене — ошибка:

Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(3803)}: Ошибка в обработчике события ПередВыгрузкойОбъекта

ПВД = ОтчетОРозничныхПродажах

Объект = Отчет о розничных продажах 00УТ-000003 от 31.08.2015 14:45:10 (Документ объект: Отчет о розничных продажах)

Обработчик = ПередВыгрузкойОбъектаВыборки

ОписаниеОшибки = Ошибка получения значения свойства подчиненного объекта (по имени свойства приемника)

ПКО = Отчет_Инвентаризация (Документ: ОтчетИнвентаризация)

ПКС = 16 (—> Номенклатура)

Объект = Отчет о розничных продажах 00УТ-000003 от 31.08.2015 14:45:10 (Документ объект: Отчет о розничных продажах)

СвойствоПриемника = Номенклатура (СправочникСсылка.Номенклатура)

ОписаниеОшибки = Поле объекта не обнаружено (Номенклатура)

В Приемнике поля есть. Похоже, проблемы с Источником. Что сделал не так? Плз помогите.

Довольно часто встречается задача выгрузить при помощи «Конвертация данных, редакция 2.1» контактной информации контрагента из «Управление торговлей», редакция 10.3» в «Бухгалтерия предприятия, редакция 3.0». Сложность заключается в том, что в УТ контактная информация хранится в регистре сведений, а в БП — в табличной части справочника «Контрагенты».

Предлагаю мое, достаточно простое, решение данной задачи.

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

Контрагенты - Контактная иняормация

2. Открываем ПКО «Контрагенты» и добавляем ниже следующий код в обработчик «Перед выгрузкой».

Выгрузка контактной информации

//Выгружаем контактную информацию контрагентаВходящиеДанные = Новый Структура(«КонтактнаяИнформация»);
ВходящиеДанные.КонтактнаяИнформация = Новый ТаблицаЗначений;
ВходящиеДанные.КонтактнаяИнформация.Колонки.Добавить(«Представление»);
ВходящиеДанные.КонтактнаяИнформация.Колонки.Добавить(«Вид»);
ВходящиеДанные.КонтактнаяИнформация.Колонки.Добавить(«Тип»);Запрос = Новый Запрос;
Запрос.Текст =
   
«ВЫБРАТЬ
    |    КонтактнаяИнформация.Представление,
    |    КонтактнаяИнформация.Вид,
    |    КонтактнаяИнформация.Тип
    |ИЗ
    |    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
    |ГДЕ
    |    КонтактнаяИнформация.Объект = &ТекущийКонтрагент»
;Запрос.УстановитьПараметр(«ТекущийКонтрагент», Источник);
Выборка = Запрос.Выполнить().Выбрать();

Пока

Выборка.Следующий() Цикл
   
НовСтрока = ВходящиеДанные.КонтактнаяИнформация.Добавить();
   
ЗаполнитьЗначенияСвойств(НовСтрока, Выборка);
КонецЦикла;

Суть в том, что мы программно создаем табличную часть «Контактная информация» и подставляем ее для выгружаемого объекта в качестве входящих данных.

Следует обратить внимание, что инициализация параметра «ВходящиеДанные», и передача в него таблицы значений со всеми необходимыми колонками, обязательна для каждого объекта. В противном случае, будет возникать ошибка типа «Ошибка получения свойства подчиненного объекта из входящих данных».

Понравилась статья? Поделить с друзьями:
  • Ошибка получения доступа к файлам аллоды онлайн
  • Ошибка получения значения свойства объектов
  • Ошибка получения времени с сервера времени
  • Ошибка получения заявления ведомством мвд россии
  • Ошибка получения вашей сетевой информации fifa 22