Имя: Пароль:
1C
1С v8
УФ. Как лучше реализовать следующее?
0 murzo1
 
26.06.12
12:28
У справочника "Номенклатура" есть форма выбора с таблицей значений. В самом документе нажимаем "Подбор", открывается эта форма и по ДаблКлику по номенклатурной позиции, номенклатура должна добавится в таблицу документа.
Я делаю так:

&НаКлиенте
Процедура ОстаткиВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
   СтандартнаяОбработка = Ложь;
   ТекСтр          = Элементы.Остатки.ТекущиеДанные;
   ТекСтрРодитель  = Элементы.Остатки.ТекущиеДанные.ПолучитьРодителя();
   СтруктураВыбора = Новый Структура;
   Если НЕ ТекСтрРодитель = Неопределено Тогда
       СтруктураВыбора.Вставить("Номенклатура", ?(ТекСтр.Номенклатура.Пустая(),             ТекСтрРодитель.Номенклатура, ТекСтр.Номенклатура));
       СтруктураВыбора.Вставить("Цена",         ?(НЕ ЗначениеЗаполнено(ТекСтр.ЦенаПродажи), ТекСтрРодитель.ЦенаПродажи,  ТекСтр.ЦенаПродажи));
       СтруктураВыбора.Вставить("Склад",        ТекСтр.Склад);
   Иначе
       СтруктураВыбора.Вставить("Номенклатура", ТекСтр.Номенклатура);
       СтруктураВыбора.Вставить("Цена",         ТекСтр.ЦенаПродажи);
       СтруктураВыбора.Вставить("Склад",        ТекСтр.Склад);
   КонецЕсли;
   
   ДобавлениеАксессуаров(СтруктураВыбора);
   
КонецПроцедуры

&НаСервере
Процедура ДобавлениеАксессуаров(СтруктураВыбора)
   
   ДокументОбъект = ДокументПодборАксессуаров.ПолучитьОбъект();
   СтрАкс         = ДокументОбъект.Товары.Добавить();
   
   СтрАкс.Номенклатура  = СтруктураВыбора.Номенклатура;
   СтрАкс.Цена          = СтруктураВыбора.Цена;
   СтрАкс.СкладКомпании = СтруктураВыбора.Склад;


Но ничего не происходит, к сожалению...

Можно сделать при закрытии: Закрыть(СтруктураВыбора); Но тогда форма закроется, а надо чтобы форма не закрывалась.
1 murzo1
 
26.06.12
13:13
Никто не умеет делать такое...
2 Агент Инфостарта
 
26.06.12
13:20
(1) Умеет.

Связка Оповестить() + ОбработкаОповещения() в форме
3 murzo1
 
26.06.12
14:17
(2) Большое спасибо!
4 RomaH
 
naïve
26.06.12
14:19
... есть событие Таблицы ВыборЗначения
и там уже ОповеститьОВыборе
5 RomaH
 
naïve
26.06.12
14:20
прикольно, а че  Элементы.Остатки.ТекущиеДанные
а не ВыбраннаяСтрока?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший