Имя: Пароль:
1C
1C 7.7
v7: Как обойти условие?
0 lesstat
 
27.04.12
11:58
СпрНом = СоздатьОбъект("Справочник.Номенклатура");
   
   СпрНом.ВыбратьЭлементы();
   Пока СпрНом.ПолучитьЭлемент() > 0 Цикл
         
       Если ГруппыНоменклатуры.Принадлежит(СпрНом.ТекущийЭлемент()) = 1 Тогда


Дальше выполняестся код в цикле. ГруппыНоменклатуры это реквизит формы где подбирается номенклатура по группам. Условие"ГруппыНоменклатуры.Принадлежит(СпрНом.ТекущийЭлемент()) = 1 Тогда" работает когда выберешь хоть одну группу(ну так и задумывалось), а как сделать (обойти это условие) если ни одна группа не выбрана то перебор шел бы по всему справонику?
1 lesstat
 
27.04.12
11:59
Группыноменклатуры - реквизит "Список" на форме
2 Mikeware
 
27.04.12
12:00
позвать программиста
3 vladko
 
27.04.12
12:00
Сходу
Если ((ГруппыНоменклатуры.Выбран() = 1) И (ГруппыНоменклатуры.Принадлежит(СпрНом.ТекущийЭлемент()) = 1) ИЛИ (ГруппыНоменклатуры.Выбран() = 0))Тогда
4 Zmich
 
27.04.12
12:00
Если ((СпрНом.Выбран() = 0) или (ГруппыНоменклатуры.Принадлежит(СпрНом.ТекущийЭлемент()) Тогда
5 vladko
 
27.04.12
12:01
+(3)
с учётом (1) ГруппыНоменклатуры.Выбран() = 1 изменить на нужный метод
6 vladko
 
27.04.12
12:03
+(5)
Например на .размерСписка() > 0
7 lesstat
 
27.04.12
12:20
Спасибо, получилось с размеромСписка
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший