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

Стандартная обработка = Ложь, как добавлять тот или иной элемент.

Автор Igor100500, 20 мар 2017, 17:23

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

Igor100500

Здравствуйте, как добавлять при выборе из справочника в табличную часть что - либо?
Вот есть документ, выбираем номенклатуру колбаса, в табличной части товары выбираем единицу измерения(установил отбор).
Открываю форму

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


потом при изменении единицы измерения

        СтандартнаяОбработка=Ложь;
ПолучателиЕдиницаИзмеренияПриИзмененииНаСервере();


Все открывает как надо, но он не подставляет в табличную часть то значение которое я выбрал(допустим штуки)
подсмотрел на форумах, нужно чтото такое дописать
&НаКлиенте
Процедура ПолучателиОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)

СтандартнаяОбработка=Ложь;

НоваяСтрока = Элементы.Получатели.ДобавитьСтроку();

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

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

и не пашет, что не так?

Dethmontt

Цитата: Igor100500 от 20 мар 2017, 17:23ФормаВыб = Справочники.ЕдиницыИзмерения.ПолучитьФорму("ФормаВыбора", ЭтаФорма);

ФормаВыб = Справочники.ЕдиницыИзмерения.ПолучитьФорму("ФормаВыбора", Элемент);
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Igor100500

Цитата: Dethmontt от 21 мар 2017, 01:04
Цитата: Igor100500 от 20 мар 2017, 17:23ФормаВыб = Справочники.ЕдиницыИзмерения.ПолучитьФорму("ФормаВыбора", ЭтаФорма);

ФормаВыб = Справочники.ЕдиницыИзмерения.ПолучитьФорму("ФормаВыбора", Элемент);
Нет, он получит значения ТЧ, а ЭтаФорма получает вообще все. Так что разницы не будет.
Ну и уже разрешили все.
&НаСервере
&НаСервере
функция ПолучателиЕдиницаИзмеренияПриИзмененииНаСервере()
    ФормаВыб = Справочники.ЕдиницыИзмерения.ПолучитьФорму("ФормаВыбора",ЭтаФорма);
ФормаВыб.Отбор.Владелец.Значение = объект.Номенклатура;
ФормаВыб.Отбор.Владелец.Использование = Истина;
ФормаВыб.РежимВыбора = Истина;

ФормаВыб.ОткрытьМодально();
ном = ФормаВыб.ТекущийЭлемент.ТекущиеДанные;
возврат ном.ссылка;
Конецфункции

&НаКлиенте
Процедура ПолучателиЕдиницаИзмеренияНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    СтандартнаяОбработка=Ложь;
    СтрТЧ = Элементы.Получатели.ТекущиеДанные;
    Элементы.Получатели.ДобавитьСтроку();
   
    ВыбранноеЗначение = ПолучателиЕдиницаИзмеренияПриИзмененииНаСервере();
       
    ПолучателиОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка);
   
    ВыбранноеЗначение = объект.ЕдиницаИзмерения;
   
   
КонецПроцедуры

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

Теги:

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

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

Поиск