Имя: Пароль:
1C
1С v8
СКД
0 Renat11111
 
10.08.11
10:07
Есть заказ на СКД, сделать так, чтобы если отбор по сотруднику не установлен не формировать отчет.

сделал так:

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

Попроще как ниб можно сделать такое?
1 vicof
 
10.08.11
10:09
можно ускорить
Если ТекОтбор.ЛевоеЗначение = ПолеКомпоновкиСотрудник Тогда
  ОтборСотрудник = Истина;
  Прервать;
КонецЕсли;
2 Renat11111
 
10.08.11
10:14
(1) До отбора напрямую, не циклом никак не добраться больше? метода найти не нашел....
3 Renat11111
 
10.08.11
10:19
почему так можно:
КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных(ИмяПараметра));

а для отбора нет такого?
4 also
 
10.08.11
10:21
(3) нет.. Все нормально сделал