Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
23 мая 2022, 12:10

Обращение к ПВХ

Автор SoOliateR, 03 мар 2022, 14:57

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

SoOliateR

Добрый день!
кто может подсказать, как сослаться в конфигураторе на ПВХ доп реквизитов которые в предприятии?
В номенклатуре есть доп реквизиты (Число)
В конфе на форме тоже добавил этот реквизит.
Нужно чтобы при выборе товара в ТЧ подтянулся этот доп реквизит в ТЧ.

&НаСервере
Процедура ЗаполнитьДопРеквизиты ()
      
   Реквизит_d = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", "d_внутренний");

      НайденнаяСтрока = Объект.Продукция.ДополнительныеРеквизиты.Найти(Реквизит_d);
   Если НайденнаяСтрока <> Неопределено Тогда
         d_Внутренний = НайденнаяСтрока.Значение;
      Иначе
         d_Внутренний = "";      
   КонецЕсли;
   
КонецПроцедуры


ругается на
Поле объекта не обнаружено (ДополнительныеРеквизиты)
{Документ.ОтчетПроизводстваЗаСмену.Форма.ФормаДокумента.Форма(257)}:      НайденнаяСтрока = Объект.Продукция.ДополнительныеРеквизиты.Найти(Реквизит_d);
{Документ.ОтчетПроизводстваЗаСмену.Форма.ФормаДокумента.Форма(412)}:   ЗаполнитьДопРеквизиты();


LexaK

SoOliateR, несколько уточняющих вопросов
на форме добавил реквизит - форма чего? какого объекта?
 Объект.Продукция - это что? такая номенклатура?
ответ Понравился? (в смысле пригодился?)

SoOliateR

LexaK,
На форме документа , в ТЧ. Документ самописный "ОтчетПроизводстваЗаСмену"

Объект.Продукция - табличная часть


SoOliateR


LexaK

SoOliateR, вообще у доп.реквизитов есть метод для их получения, функция, туда передаете ссылку, имяПВХ и получаете значение
(всего одна команда)

d_Внутренний  - сделайте тип Строка!!

а для вашего варианта, попробуйте так (это пример, при необходимости проверьте/подставьте свои наименования реквизитов)
&НаСервере
Процедура ЗаполнитьДопРеквизиты ()
     
   Реквизит_d = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", "d_внутренний");
   d_Внутренний = "";     

   //получаем доп.реквизит для всех товаров
   Для каждого лкСтр Из Объект.Продукция Цикл
   НайденнаяСтрока = лкСтр.Номенклатура.ДополнительныеРеквизиты.Найти(Реквизит_d);
   Если НайденнаяСтрока <> Неопределено Тогда
         d_Внутренний = d_Внутренний + НайденнаяСтрока.Значение + ",";
   КонецЕсли;
   КонецЦикла;
   
КонецПроцедуры
ответ Понравился? (в смысле пригодился?)

SoOliateR

LexaK, Спасибо большое!
попробую

Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск