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

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

Автор Andrepan, 23 янв 2017, 11:06

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

Andrepan

Здравствуйте! Подскажите пожалуйста, как обратиться к реквизитам справочника из модуля формы документа. Есть табличная часть документа, в которой производится отбор номенклатуры товара по поставщикам из справочника НоменклатураПоставщиков. Нужно, чтобы при записи номенклатуры в документе, из соответствующих реквизитов Справочника поставщиков переносились в ячейки таблицы Документа характеристики товаров.
Делаю ПриИзменении (для записи Номенклатуры в документе) и объявляю переменную

СтрокаТабличнойЧасти = Элементы.ПриложениеКЗаявлению.ТекущиеДанные;
СтрокаТабличнойЧасти.ТНВД = ??

Dethmontt

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

Kironten

Цитата: Dethmontt от 23 янв 2017, 12:23
Объект.ИмяРеквизита
Щас естественно окажется, что формы управляемые, и надо за объектом лезть на сервер.
В общем "Старые песни о главном."

Andrepan

Цитата: Dethmontt от 23 янв 2017, 12:23
Объект.ИмяРеквизита

Объект - Имя справочника справочника, реквизит - необходимый реквизит?? Пробовал, пишет - Переменная не определена (Номенклатура Поставщиков)   (Проверка Тонкий клиент)

Имя справочника  - НоменклатураПоставщиков
Добавлено: 23 янв 2017, 13:07


Цитата: Kironten от 23 янв 2017, 12:41
Цитата: Dethmontt от 23 янв 2017, 12:23
Объект.ИмяРеквизита
Щас естественно окажется, что формы управляемые, и надо за объектом лезть на сервер.
В общем "Старые песни о главном."
Формы действительно управляемые :)

alex0402

Цитата: Andrepan от 23 янв 2017, 13:06Объект - Имя справочника справочника, реквизит - необходимый реквизит??
В данном случае Объект - это текущий документ, а если нужны значения реквизитов справочника, то только через сервер.

Спасибо за Сказать спасибо

Golickoff

...
СтрокаТабличнойЧасти = Элементы.ПриложениеКЗаявлению.ТекущиеДанные;
СтруктураРеквизитов = ПолучитьСтруктуруРеквизитов(СтрокаТабличнойЧасти.Номенклатура);
СтрокаТабличнойЧасти.ТНВД = СтруктураРеквизитов.ТНВД;
СтрокаТабличнойЧасти.ЛюбойРеквизитНоменклатуры = СтруктураРеквизитов.ЛюбойРеквизитНоменклатуры;
...


&НаСервере
Функция ПолучитьСтруктуруРеквизитов(НоменклатураСсылка)
    СтруктураРеквизитов = Новый Структура;
    СтруктураРеквизитов.Вставить("ТНВД", НоменклатураСсылка.ТНВД);
    СтруктураРеквизитов.Вставить("ЛюбойРеквизитНоменклатуры", НоменклатураСсылка.ЛюбойРеквизитНоменклатуры);
    Возврат СтруктураРеквизитов;
КонецФункции
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

Andrepan

Цитата: Golickoff от 24 янв 2017, 05:01
...
СтрокаТабличнойЧасти = Элементы.ПриложениеКЗаявлению.ТекущиеДанные;
СтруктураРеквизитов = ПолучитьСтруктуруРеквизитов(СтрокаТабличнойЧасти.Номенклатура);
СтрокаТабличнойЧасти.ТНВД = СтруктураРеквизитов.ТНВД;
СтрокаТабличнойЧасти.ЛюбойРеквизитНоменклатуры = СтруктураРеквизитов.ЛюбойРеквизитНоменклатуры;
...


&НаСервере
Функция ПолучитьСтруктуруРеквизитов(НоменклатураСсылка)
    СтруктураРеквизитов = Новый Структура;
    СтруктураРеквизитов.Вставить("ТНВД", НоменклатураСсылка.ТНВД);
    СтруктураРеквизитов.Вставить("ЛюбойРеквизитНоменклатуры", НоменклатураСсылка.ЛюбойРеквизитНоменклатуры);
    Возврат СтруктураРеквизитов;
КонецФункции


Спасибо большое! Все получилось.

Andrepan

С обращением к табличной части справочника все понял. Подскажите пожалуйста, а как обратиться для другой колонки табличной части этой же строки документа НоменклатураТовара, уже к реквизитам другого справочника. То есть, есть справочник ТНВД (в котором сам ТНВД код прописан в Наименовании в стандартных реквизитах) реквизитами этого справочника являются ставки: обеспечения, таможенных платежей и акцизов. Необходимо вытащить эти реквизиты и поместить в табличную часть документа

Fedor_Safonchik

ПолучениеСправочника = Справочники.НужныСправочник.НайтиПоНаименованию("наименование").ПолучитьОбъект;

И Потом ПолучениеСправочника.НужныйВамРеквизит;

Но такой скрипт выполняется только на стороне сервера

Andrepan

То есть, я из процедуры модуля формы:

Процедура ПриложениеКЗаявлениюНоменклатураТоваровПриИзменении(Элемент)

Должен вызвать Функцию на сервере в которой будет выполняться данный скрипт?

Теги:

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

Рейтинг@Mail.ru

Поиск