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

Реквизит справочника в табличную часть документа

Автор beztrud, 23 дек 2011, 15:40

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

beztrud

Здравствуйте. Есть справочник Фурнитура с реквизитами Наименование и ЕдиницаИзмерения-СправочникСсылка.ЕдиницыИзмерения. И есть документ с табличной частью Фурнитура и реквизитами Наименование - СправочникСсылка.Фурнитура и ЕдиницаИзмерения -СправочникСсылка.Фурнитура. Необходимо, чтобы в документе при выборе фурнитуры подставлялась единица измерения из справочника Фурнитура. Пишу:
&НаКлиенте
Процедура ФурнитураНаименованиеПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.Фурнитура.ТекущиеДанные;
СтрокаТабличнойЧасти.ЕдиницаИзмерения = ПолучитьЕдиницу(СтрокаТабличнойЧасти.ЕдиницаИзмерения);
КонецПроцедуры

&НаСервере
Функция ПолучитьЕдиницу(Фурнитура)
Возврат Фурнитура.ЕдиницаИзмерения;
КонецФункции


Ошибки не выдает, но и значение не подставляет. :dfbsdfbsdf:

Андрей Федотов

ну у вас ЕдиницаИзмерения в табличной части "Фурнитура" имеет значение СправочникСсылка.Фурнитура. Т.е. получается, исходя из кода, что вы пытаетеся в тип СправочникСсылка.Фурнитура добавить значение реквизита с типом СправочникСсылка.ЕдиницыИзмерения.

beztrud

Но если в табличной части Фурнитура сделать реквизит ЕдиницаИзмерения строкой, то выдает ошибку

Dethmontt

ПолучитьЕдиницу(СтрокаТабличнойЧасти.ЕдиницаИзмерения);
Что это за параметр????
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

beztrud

&НаКлиенте
Процедура ФурнитураНаименованиеПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.Фурнитура.ТекущиеДанные;
СтрокаТабличнойЧасти.ЕдиницаИзмерения = ПолучитьЕдиницу(Фурнитура);
КонецПроцедуры

&НаСервере
Функция ПолучитьЕдиницу(Фурнитура)
Возврат Фурнитура.ЕдиницаИзмерения;   
КонецФункции


Пишет:

{Документ.ЗаказКвартира.Форма.ФормаДокумента.Форма(57,57)}: Переменная не определена (Фурнитура)
СтрокаТабличнойЧасти.ЕдиницаИзмерения = ПолучитьЕдиницу(<<?>>Фурнитура); (Проверка: Тонкий клиент)

Dethmontt

&НаКлиенте
Процедура ФурнитураНаименованиеПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.Фурнитура.ТекущиеДанные;
СтрокаТабличнойЧасти.ЕдиницаИзмерения = ПолучитьЕдиницу(СтрокаТабличнойЧасти.Номенклатура); //Или товар, или Фурнитура, хз как она там у тебя называется
КонецПроцедуры

&НаСервереБезКонтекста     //Не нужно форму гонять на сервер из за одного реквизита...
Функция ПолучитьЕдиницу(Фурнитура)
Возврат Фурнитура.ЕдиницаИзмерения;   
КонецФункции

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

beztrud

Вот верный код:


&НаКлиенте
Процедура ФурнитураНаименованиеПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.Фурнитура.ТекущиеДанные;
СтрокаТабличнойЧасти.ЕдиницаИзмерения = ПолучитьЕдиницу(СтрокаТабличнойЧасти.Наименование);
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПолучитьЕдиницу(Фурнитура)
Возврат Фурнитура.ЕдиницаИзмерения;
КонецФункции


Спасибо большое.

Теги:

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

Рейтинг@Mail.ru

Поиск