Имя: Пароль:
1C
1С v8
Отбор
0 vanyshan
 
04.10.11
17:50
Доброго всем вечера!
Подскажите пожалуйста:
В документе "реализация товаров и услуг" есть закладка "товары", на этой закладке есть поле ввода "номенклатура", которое дает право выбирает номенклатуру из всего справочника.
В шапке этого документа указан договор контрагента. В этом договоре перечислены все условия договора (документ "условия поставок по договорам контрагентов")
Так вот, мне нужно сделать так, чтобы номенклатура выбиралась из списка номенклатуры последнего по дате документа "условия поставок по договорам контрагентов".
Я так понимаю эта процедура:
Процедура ТоварыНоменклатураНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)
1 zbv
 
04.10.11
18:01
отбор надо делать в процедуре ТоварыНоменклатураНачалоВыбора
2 vanyshan
 
04.10.11
18:05
Спасибо, начало положено, буду дальше думать.
Может еще чем можешь помочь?
3 zbv
 
04.10.11
18:07
(2) СтандартнаяОбработка = Ложь; :)
4 vanyshan
 
04.10.11
18:09
Чесно говоря Не совсем понятно.
5 zbv
 
04.10.11
18:11
(4) отключаешь стандартную обработку и рисуешь выбор номенклатуры самостоятельно, получаешь форму выбора, устанавливаешь отбор, открываешь форму.
6 vanyshan
 
04.10.11
18:17
Спасибо, буду пробовать!!!
7 vanyshan
 
04.10.11
20:32
Получается примерно следующее:

Процедура ТоварыНоменклатураНачалоВыбора(Элемент, СтандартнаяОбработка)
   
   СтандартнаяОбработка = Ложь;
   ФормаВыбора = Справочники.Номенклатура.ПолучитьФормуВыбора("формаВыбора",Элемент);
   .............
   ФормаВыбора.Открыть();
   
КонецПроцедуры

Это я получаю саму форму выбора из справочника номенклатура, а вот как правильно отбор сделать, пока затрудняюсь
8 vanyshan
 
04.10.11
20:36
Натолкните на мысль, что без помощи никак!
9 Михаил Козлов
 
04.10.11
20:45
отбор = ФормаВыбора.СправочникСписок.Ссылка;
отбор.Использование = ИСТИНА;
отбор.ВидСравнения = ВидСравнения.ВСписке;
отбор.Значение = списокТМЦ (это список значений,в который наталкиваете ту номенклатуру, которая соответствует Вашим условиям).
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.