Имя: Пароль:
1C
1C 7.7
v7: Как выбрать сотрудников, работавших в определенный промежуток времени (ЗиК 7.7)?
0 Начинающий Программер
 
20.10.11
14:51
Задача стоит в том, чтобы получить список сотрудников, которые трудились в организации в определенный период (конкретно - в 2009-2010-м году). Не могу сообразить, с какой стороны подойти к решению задачи. Если смотреть реквизит "СостояниеФизЛица" - то он только на определенную дату дает результат.
1 Начинающий Программер
 
20.10.11
14:54
Пробую работать с объектом "Периодический":

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

Но выходит ошибка:
СотрСост.ИспользоватьОбъект("СостояниеФизЛица", Сотр.ТекущийЭлемент());
: СостояниеФизЛица не является константой или периодическим параметром!
2 aka AMIGO
 
20.10.11
14:58
Справочник.Сотрудники.ФормаСписка
посмотри в конфигурации способ обработки/вычисления состояниеФЛ в функции
Функция СостояниеСотрудника()
3 aka AMIGO
 
20.10.11
15:00
+2 в модуле формы списка

зы. это не единственное место, где определяется СостояниеФЛ
4 Начинающий Программер
 
20.10.11
15:03
(2) //******************************************************************************
//    СостояниеСотрудника()
//
//    Параметры:
//        нет
//
//    Возвращаемое значение:
//        Строковое значение, состояние сотрудника (физлица) на рабочую дату
//
//    Описание:
//        Обрабатывает реквизит СостояниеФизлица и возвращает соответствующее значение

Эта функция на конкретную дату дает результат... А мне нужно по периоду пройтись.
5 Волесвет
 
20.10.11
15:09
приказы о приеме - приказы об увольнении
6 aka AMIGO
 
20.10.11
15:10
а через документы не думал просмотреть этот период?
7 Начинающий Программер
 
20.10.11
15:13
(5), (6) точно, что-то сразу в голову не пришло.
Вытащу список трудящихся по состоянию на 01.01.09 и добавлю к ним тех, по ком есть документы по приему с 01.01.09 по 31.12.2010.
8 Tolpinski
 
18.11.11
11:19
Сделай пропуск групп при переборе сотрудников, у них состояния нету :)
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.