Имя: Пароль:
1C
1C 7.7
v7: Поставить условие выборки
0 work92
 
11.11.14
13:13
Может кто поможет  поставить условия по коду
1.Нужно чтобы в таблице показалась категория напротив сотрудника и начисление которые больше 0.



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



Катг.ВыбратьЭлементы();
Пока Катг.ПолучитьЭлемент()>0 Цикл

КонецЦикла;
ВсегоНачислено = 0;
Часы=0;
ЖЗ.ВыбратьЗаписиПоОбъекту (ТекСотр,ДатаНач, ДатаКон);
Пока ЖЗ.ПолучитьЗапись()=1 Цикл
Если ЖЗ.ВидРасч.ВходитВГруппу(ГруппаРасчетов.Для6тПроф)=1 Тогда
    
    
ВсегоНачислено = ВсегоНачислено+ЖЗ.Результат;
Часы=Часы+ЖЗ.часы;

КонецЕсли;
КонецЦикла;



   Таб.Вывестисекцию("Строка2") ;
КонецЦикла;

Таб.Показать();
КонецПроцедуры
1 work92
 
11.11.14
13:26
Может  есть какие мысли.
2 Maximysis
 
11.11.14
13:27
Поставь в начало цикла.

Если Катг.числоУсловия > 0 Тогда
  Продолжить;
КонецЕсли;
3 work92
 
11.11.14
13:29
Если Катг.числоУсловия > 0 Тогда
{D:\T$\БАЗА ЗИК С ПРЕМ И ПЕРЕМ\ПРОФ 6-Т\ПРОФ 6-Т.ERT(19)}: Поле агрегатного объекта не обнаружено (числоУсловия)
4 Maximysis
 
11.11.14
13:36
"числоУсловия" это твое поле с начислением, как оно у тебя называется.