"Спасибо! Это я уже получила. Теперь мне надо подсчитать численность сотрудников по мужчина и женщинам, так еще и по атегориям, то есть:<br>Женщина рабочий, женщина руководитель, мужчина рабочий и т.п.<br>Я условияе прописываю, а программа все равно считает только в общем по мужчинам и женщинам. Вот код:<br>СпрСотр.ПорядокНаименований();<br> СпрСотр.ВыбратьЭлементы(0);<br> Пока СпрСотр.ПолучитьЭлемент()=1 Цикл<br> Если СпрСотр.ЭтоГруппа()=1 Тогда<br> Продолжить<br> КонецЕсли;<br> Сотрудник = СпрСотр.ТекущийЭлемент();<br> Если Сотрудник.ОсновнойЭлемент=Сотрудник Тогда<br> СписокСотр.ДобавитьЗначение(Сотрудник);<br> КонецЕсли;<br> КонецЦикла; <br> <br> <br> <br><br> //перебираем сотрудников в списке<br> Для Сч = 1 По СписокСотр.РазмерСписка() Цикл<br> Сотрудник = СписокСотр.ПолучитьЗначение(Сч); <br> <br> Если Найти(Сотрудник.Пол.Наименование,"М") > 0 Тогда <br> Женщина = 0;<br> Мужчина = 1;<br> Иначе <br> Женщина = 1;<br> Мужчина = 0;<br> КонецЕсли;<br> <br> <br> <br>ТаблицаРеквизитов = глПолучитьТаблицуИсторииРеквизитов(Сотрудник,ДатаАктуальности,ДатаАктуальности,"СостояниеФизлица,Должность,ФормаТруда,ГрафикРаботы");<br> ТаблицаРеквизитов.ВставитьКолонку("Кат");<br> КоличествоСтрок = ТаблицаРеквизитов.КоличествоСтрок();<br><br> //перебираем строки в ТаблицеРеквизитов<br> Для Номер = 1 по КоличествоСтрок Цикл <br> ТаблицаРеквизитов.ПолучитьСтрокуПоНомеру(Номер);<br> СостояниеФизлица = ТаблицаРеквизитов.СостояниеФизлица;<br> Должность = ТаблицаРеквизитов.Должность; <br> <br> Для НомСтроки = 1 по ТаблицаДолжностей.КоличествоСтрок() цикл<br> ТаблицаДолжностей.НайтиЗначение(Должность, НомСтроки, НомКолонки);<br> Кат = ТаблицаДолжностей.ПолучитьЗначение(НомСтроки, 2); <br> ТаблицаРеквизитов.УстановитьЗначение(Номер, "Кат", Кат); КонецЦикла;<br> <br> <br> //проверка состояния физлица<br> Если СостояниеФизлица = Перечисление.СостояниеФизлица.СотрудникОсновной тогда<br> Категория = ТаблицаРеквизитов.Кат;<br> Если Категория = Перечисление.КатегорииСотрудников.Рабочие тогда<br> <br> <br> ФормаОплаты = ТаблицаРеквизитов.ФормаТруда;<br> <br> <br> //проверка формы оплаты труда<br>Если ((ФормаОплаты=Перечисление.ФормыТруда.ТабельПодневнОклад) или (ФормаОплаты=Перечисление.ФормыТруда.ТабельПочасОклад) или (ФормаОплаты=Перечисление.ФормыТруда.ТабельПочасТариф)) Тогда // для работающих неполное время при учете времени табелями<br> <br> ГрафикРаботы = ТаблицаРеквизитов.ГрафикРаботы;<br> <br> Если ПустоеЗначение(ГрафикРаботы)=1 Тогда<br> ГрафикРаботы = Константа.ОсновнойГрафик;<br>КонецЕсли;<br> <br>Если ПустоеЗначение(ГрафикРаботы)=1 Тогда<br>Календарь = СоздатьОбъект("Календарь.Пятидневка");<br>Иначе<br>Календарь = ГрафикРаботы.ОсновныеЧасы;<br>КонецЕсли;<br>ЖурналРасчетовЗарплата.ВыбратьЗаписиПоОбъекту(Сотрудник, ДатаАктуальности, ДатаАктуальности);<br> Если (Женщина = 1) и (Мужчина = 0) тогда<br>СписокЖенщинРаб.ДобавитьЗначение(Сотрудник);<br>ИначеЕсли (Женщина = 0) и (Мужчина = 1) тогда<br>СписокМужчинРаб.ДобавитьЗначение(Сотрудник);<br>КонецЕсли;<br>КолЖенщинРаб = СписокЖенщинРаб.РазмерСписка();<br>КолМужчинРаб = СписокМужчинРаб.РазмерСписка();<br> <br>КонецЕсли; //проверка формы оплаты труда<br>КонецЕсли; //проверка состояния физлица <br>КонецЕсли; //проверка категории<br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> КонецЦикла; //перебора строк ТаблицыРеквизитов<br> КонецЦикла; //перебора сотрудников"