- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
Функция ПолучитьПолныйСписокКонтрагентовОтбора(текКонтрагентыОтбора) // релиз 3.0
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| Контрагент.Ссылка КАК Ссылка1
|ИЗ
| Справочник.Контрагенты КАК Контрагент
|ГДЕ
| Контрагент.ЭтоГруппа = ЛОЖЬ И ("; ы=0;
Для каждого ЭлСпОтбКг из текКонтрагентыОтбора Цикл текКг=ЭлСпОтбКг.Значение;
Если ТипЗнч(текКг)=Тип("СправочникСсылка.Контрагенты") И НЕ текКг=Справочники.Контрагенты.ПустаяСсылка() Тогда ы=ы+1;
Если текКг.ЭтоГруппа Тогда Запрос.Текст = Запрос.Текст +"
| "+?(ы=1,"","ИЛИ ")+"Контрагент.Ссылка В ИЕРАРХИИ(&тКг"+Строка(ы)+")";
Иначе Запрос.Текст = Запрос.Текст +"
| "+?(ы=1,"","ИЛИ ")+"Контрагент.Ссылка = &тКг"+Строка(ы);
КонецЕсли;
Запрос.УстановитьПараметр("тКг"+Строка(ы),текКг);
КонецЕсли;
КонецЦикла; Запрос.Текст = Запрос.Текст +"
|)";
РезСп=Новый СписокЗначений;
текТЗрег=Запрос.Выполнить().Выгрузить();
РезСп.ЗагрузитьЗначения(текТЗрег.ВыгрузитьКолонку("Ссылка1"));
Возврат РезСп;
КонецФункции
dsfix 12.11.2015 16:34 # 0
HomoAlbus 12.11.2015 17:29 # 0
SkyHunter 18.11.2015 11:37 # +1
HomoAlbus 18.11.2015 13:25 # +2
SkyHunter 19.11.2015 11:04 # +1