Имя: Пароль:
1C
1С v8
выбор контрагентов в список значений
0 BarakuzA
 
09.11.11
16:41
Есть вот такая процедура выбора контрагентов в список значений:
Процедура ОбработкаВыбора(ЗначениеВыбора, Источник)
Если ЗначениеВыбора.МетаДанные().ПолноеИмя() = "Справочник.Контрагенты" Тогда
Если СписокКонтрагенты.НайтиПоЗначению(ЗначениеВыбора) = Неопределено Тогда
СписокКонтрагенты.Добавить(ЗначениеВыбора);
КонецЕсли;    
КонецЕсли;

В результате которой в список значений попадает именно тот контрагент, которого укажешь в форме выбора справочника, можно сделать так чтобы если указываешь группу-автоматически добавлялись все элементы этой группы.
1 Mort
 
09.11.11
16:49
Лично я не против
2 BarakuzA
 
09.11.11
16:50
вопрос как это сделать??7
3 DrShad
 
09.11.11
16:51
я тоже за
4 BarakuzA
 
09.11.11
16:55
в 77 было так:
   Если ЗначениеПодбора="Покупатели" Тогда
       Если ЗначПод.ЭтоГруппа()=1 Тогда
           СпрПокупатели.ИспользоватьРодителя(ЗначПод);
           СпрПокупатели.ВыбратьЭлементы();
           Пока СпрПокупатели.ПолучитьЭлемент()=1 Цикл
               ВыбПокупатели.ДобавитьЗначение(СпрПокупатели.ТекущийЭлемент());
               ВыбПокупатели.ТекущаяСтрока(ВыбПокупатели.РазмерСписка());
           КонецЦикла;
       Иначе
           ВыбПокупатели.ДобавитьЗначение(ЗначПод);
           ВыбПокупатели.ТекущаяСтрока(ВыбПокупатели.РазмерСписка());
       КонецЕсли;

а как быть в 8?
5 DrShad
 
09.11.11
16:59
твои клиенты столько не заплатят
6 DrShad
 
09.11.11
17:01
(4) в принципе практически также
7 BarakuzA
 
09.11.11
17:02
(5) - что имеешь в виду???
8 DrShad
 
09.11.11
17:05
(7) что если я за тебя буду код писать, то у тебя денег не хватит
9 BarakuzA
 
09.11.11
17:08
(8), за меня писать не надо, только если подсказать ;)))
10 BarakuzA
 
09.11.11
17:12
Если ЗначениеВыбора.МетаДанные().ПолноеИмя() = "Справочник.Контрагенты" Тогда
       Если ЗначениеВыбора.ЭтоГруппа=Истина Тогда
           Выборка=Справочники.Контрагенты.Выбрать(ЗначениеВыбора);
           Пока Выборка.Следующий() Цикл
               СписокКонтрагенты.Добавить(Выборка);
           КонецЦикла;
       Иначе
           СписокКонтрагенты.Добавить(ЗначениеВыбора);
       КонецЕсли;
       
   КонецЕсли;
11 Mort
 
09.11.11
17:15
Какая интересная проверка на тип значения )). Даже если в данном случае в параметр _всегда_ будет приходить ссылка (пока множественный выбор не врубят),  лучше проверять безопасно:

Если ТипЗнч(ЗначениеВыбора)  = Тип("СправочникСсылка.Контрагенты") Тогда
....