Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
12 дек 2024, 00:48

условия отбора в цикле 1с8.2

Автор 1cka, 21 мар 2014, 11:19

0 Пользователей и 1 гость просматривают эту тему.

1cka

Есть три ТЗ, ТаблицаПодраз - свернута до подразделения, ТаблицаСотр - до сотрудника, ТаблицаТехОперация - до тех операции.

и есть еще три массива ссылок с отбором по ВыбПодразделение, ВыбСотрудник и ВыбТехнологическаяОперация - реквизиты формы:   
ОтборПодразделения = Новый Структура("ПодразделениеОрганизации", ВыбПодразделение);
МассивСтрокПодразделений = ТаблицаПодраз.НайтиСтроки(ОтборПодразделения);
   
ОтборПоСотруднику = Новый Структура("Сотрудник", ВыбСотрудник);
МассивСтрокСотрудников = ТаблицаСотр.НайтиСтроки(ОтборПоСотруднику);
   
ОтборПоТехОперации = Новый Структура("ТехнологическаяОперация", ВыбТехнологическаяОперация);
МассивСтрокТехОпераций = ТаблицаСотр.НайтиСтроки(ОтборПоТехОперации);

//Сейчас не используя отборы я пишу так:

Для Каждого Стр1 Из ТаблицаПодраз Цикл

//....
     Для Каждого Стр2 Из ТаблицаСотр Цикл
         
    Если Стр1.ПодразделениеОрганизации <> Стр2.ПодразделениеОрганизации ТОгда
       Продолжить;
    КонецЕсли;
//.....
     Для Каждого Стр3 Из ТаблицаТехОперация Цикл
            
          Если Стр2.Сотрудник <> Стр3.Сотрудник ТОгда
   Продолжить;
         КонецЕсли;
//.....

     КонецЦикла;
   КонецЦикла;
КонецЦикла;[/code]

А как добавить условия - если рекизит заполнен, то использовать отбор, если нет - то выводить полный список???Т.е. какой-то из реквизитов может быт заполнен (те используем отбор), какой-то нет (полным списком)
пытаюсь использовать:
Если  ВыбПодразделение = Справочники.Подразделения.ПустаяСсылка() Тогда //по всем подразделения
иначе
//по отбору
КонецЕсли;
Подскажите как правильно добавить это условие для каждого уровня?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск