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

Заполнение колонки ТЧ

Автор Александр Мун, 16 мар 2017, 07:48

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

Александр Мун

Добрый день.

Добавил на форму ТЧ с ком.панелью, связал ТЧ с данными Товары, содержащими реквизиты Номенклатура, ЕдиницаИзмерения, реквизиты естественно имеют ссылки на справочники Номенклатура и ЕдиницыИзмерения соответственно.

Подскажите пожалуйста, как автоматически вставить единицу измерения номенклатуры при её выборе в табличной части при условии, что само собой наменклатура имеет единицу измерения (реквезит ОсновнаяЕдиницаИмерения)?

Что то вот так не работает:

Процедура ТабличноеПоле2НоменклатураОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
ЕдиницаИзмерения = ВыбранноеЗначение.ОсновнаяЕдиницаИмерения;   
КонецПроцедуры

ls600

Какой код в Процедуре ПриИзмененииНоменклатуры у Вас?


Процедура ПриИзмененииНоменклатуры(СтрокаТабличнойЧасти)

// Заполнение единицы измерения
СтрокаТабличнойЧасти.ЕдиницаИзмерения = СтрокаТабличнойЧасти.Номенклатура.БазоваяЕдиницаИзмерения;

КонецПроцедуры

alex0402


    Объект.ЕдиницаИзмерения = ВыбранноеЗначение.ОсновнаяЕдиницаИмерения;
Спасибо за Сказать спасибо

LexaK

народ надо учитывать тип формы! на управляемых формах, вот это

...Номенклатура.БазоваяЕдиницаИзмерения;

не сработает! :fdbsdfbsd:
ответ Понравился? (в смысле пригодился?)

Александр Мун

Цитата: ls600 от 16 мар 2017, 08:50
Какой код в Процедуре ПриИзмененииНоменклатуры у Вас?


Процедура ПриИзмененииНоменклатуры(СтрокаТабличнойЧасти)

// Заполнение единицы измерения
СтрокаТабличнойЧасти.ЕдиницаИзмерения = СтрокаТабличнойЧасти.Номенклатура.БазоваяЕдиницаИзмерения;

КонецПроцедуры


Получаю

{Документ.ЕжедневноеТОАвтомобиля.Форма.ФормаДокумента.Форма(17)}: Поле объекта не обнаружено (ЕдиницаИзмерения)
    СтрокаТабличнойЧасти.ЕдиницаИзмерения = СтрокаТабличнойЧасти.Номенклатура.ОсновнаяЕдиницаИзмерения;

Добавлено: 16 мар 2017, 09:24


Цитата: alex0402 от 16 мар 2017, 08:52

    Объект.ЕдиницаИзмерения = ВыбранноеЗначение.ОсновнаяЕдиницаИмерения;


Получаю


{Документ.ЕжедневноеТОАвтомобиля.Форма.ФормаДокумента.Форма(11,2)}: Переменная не определена (объект)
<<?>>объект.ЕдиницаИзмерения = ВыбранноеЗначение.ОсновнаяЕдиницаИзмерения;     (Проверка: Толстый клиент (обычное приложение))

ls600

Цитата: LexaK от 16 мар 2017, 09:08..Номенклатура.БазоваяЕдиницаИзмерения;

не сработает! :fdbsdfbsd:

Lexa это понятно что не сработает. автор не указал какая форма.


Добавлено: 16 мар 2017, 09:44


на управляемых форма такой код (пример)
взято из типовой конфы.


&НаСервере
Процедура НазваниеТабЧастиНоменклатураПриИзмененииНаСервере(СтрокаТабличнойЧасти, ПараметрыОбъекта)

МетаданныеДокумента = ПараметрыОбъекта.Ссылка.Метаданные();

СведенияОНоменклатуре = ОбработкаТабличныхЧастей.ПолучитьСведенияОНоменклатуре(СтрокаТабличнойЧасти.Номенклатура, ПараметрыОбъекта);

Если СведенияОНоменклатуре = Неопределено Тогда
Возврат;
КонецЕсли;

СтрокаТабличнойЧасти.ЕдиницаИзмерения  = СведенияОНоменклатуре.БазоваяЕдиницаИзмерения; // ПолучитьСведенияОНоменклатуре это уже фунцкия в общем модуле
СтрокаТабличнойЧасти.Коэффициент    = СведенияОНоменклатуре.Коэффициент;

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

КонецПроцедуры

если есть типовая конфа посмотри там все достоверно описано.

Александр Мун

Короче психанул...


Процедура КоманднаяПанель2Действие(Кнопка)
Форма = Справочники.Номенклатура.ПолучитьФорму("ФормаСписка");
Форма.РежимВыбора = Истина;
Форма.ВладелецФормы = ЭтаФорма;
Значение = форма.ОткрытьМодально();
НоваяСтрока = Товары.Добавить();
НоваяСтрока.Номенклатура = Значение;
НоваяСтрока.ЕдиницаИзмерения = Значение.ОсновнаяЕдиницаИзмерения;
НоваяСтрока.Количество = 1;
КонецПроцедуры

Теги:

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

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

Поиск