[РЕШЕНО] Не могу вывести дополнительные реквизиты документа в печатной форме

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем ALeon, 31 авг 2019.

  1. TopicStarter Overlay
    ALeon
    Offline

    ALeon

    Регистрация:
    18 авг 2019
    Сообщения:
    31
    Симпатии:
    0
    Баллы:
    1
    Добрый день!
    Имеется УНФ 1С:Предприятие 8.3 (8.3.15.1489), необходимо создать печатную форму для документа "Заказ на производство", причем в документ добавлен дополнительный реквизит с наименованием "Места выдачи". Проблема в том, что
    не могу получить значение дополнительного реквизита. Делаю так:

    ДопСвойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Места выдачи");
    Значение = СсылкаНаОбъект.ДополнительныеРеквизиты.Найти(ДопСвойство);
    ОбластьШапки.Параметры.МестаВыдачи = Значение;

    В результате получаю пустое поле (ошибок не выдается). Что здесь не так?
  2. 1cUserAndrew
    Offline

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

    Регистрация:
    27 май 2010
    Сообщения:
    5.153
    Симпатии:
    217
    Баллы:
    104
    Попробуйте так:
    Код:
    Значение = УправлениеСвойствами.ЗначениеСвойства(СсылкаНаОбъект, ДопСвойство);
    ALeon нравится это.
  3. TopicStarter Overlay
    ALeon
    Offline

    ALeon

    Регистрация:
    18 авг 2019
    Сообщения:
    31
    Симпатии:
    0
    Баллы:
    1
    Большое спасибо! Сработало!
  4. TopicStarter Overlay
    ALeon
    Offline

    ALeon

    Регистрация:
    18 авг 2019
    Сообщения:
    31
    Симпатии:
    0
    Баллы:
    1
    Столкнулся с неожиданной проблемой:
    Имеется три дополнительных реквизита, все три пытаюсь выводить так:

    ДопСвойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Дополнительный реквизит1");
    Значение = УправлениеСвойствами.ЗначениеСвойства(СсылкаНаОбъект, ДопСвойство);
    ОбластьШапки.Параметры.ТипКлиента = Значение;

    В результате Дополнительный реквизит1 и Дополнительный реквизит2 выводятся нормально, а вместо значения Дополнительный реквизит3 - пустое поле. Что может быть не так с третьим реквизитом? Может быть дело в том, что первые два реквизита относятся к документу, для которого делается печатная форма, а третий к справочнику Контрагенты?
  5. 1cUserAndrew
    Offline

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

    Регистрация:
    27 май 2010
    Сообщения:
    5.153
    Симпатии:
    217
    Баллы:
    104
    Ну да, в параметр СсылкаНаОбъект нужно передавать владельца доп.свойства.
    В третьем случае, получается, что нужно передавать не документ, а контрагента.
  6. TopicStarter Overlay
    ALeon
    Offline

    ALeon

    Регистрация:
    18 авг 2019
    Сообщения:
    31
    Симпатии:
    0
    Баллы:
    1
    Не совсем понял: из документа "Заказы на производство" единственный путь добраться до справочника Контрагенты через поле "Заказ покупателя", т.е. так СсылкаНаОбъект.ЗаказПокупателя.Контрагент, пробовал так:

    Значение = УправлениеСвойствами.ЗначениеСвойства(СсылкаНаОбъект.ЗаказПокупателя.Контрагент, ДопСвойство);

    - безрезультатно.
  7. 1cUserAndrew
    Offline

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

    Регистрация:
    27 май 2010
    Сообщения:
    5.153
    Симпатии:
    217
    Баллы:
    104
    Точнее, к сожалению, не могу сказать. Нужно разбираться с конкретным случаем.
    В общем случае, судя по описанию, вроде, все верно.
  8. TopicStarter Overlay
    ALeon
    Offline

    ALeon

    Регистрация:
    18 авг 2019
    Сообщения:
    31
    Симпатии:
    0
    Баллы:
    1
    Помогла статья http://1c-bezproblem.ru/blog/v-pomo...polnitelnye-rekvizity-v-1c-8-3-na-primere-unf . Работоспособным оказался следующий код:

    ЗакКонтрагент = СсылкаНаОбъект.ЗаказПокупателя.Контрагент;
    ...

    ДопСвойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Тип клиента (Контрагенты)");
    Значение = ЗакКонтрагент.ДополнительныеРеквизиты.Найти(ДопСвойство).Значение;