![]() |
|
v7: ЗиК обрабока.ЗаполнитьСписокСотрудников | ☑ | ||
---|---|---|---|---|
0
ded20ded
22.04.13
✎
15:45
|
ЗиК обрабока.ЗаполнитьСписокСотрудников, она увы заполняет на дату, и если сделать отчет свод за период например квартал, то в отчет попадают значения только текущего месяца, как получить чтобы в отчет попали все уволенные на выбранный период например квартал
|
|||
1
ded20ded
22.04.13
✎
15:48
|
Процедура ПриОткрытии()
СписокПараметров = Форма.Параметр; Если ТипЗначенияСтр(СписокПараметров)="СписокЗначений" Тогда ДатаАктуальности = СписокПараметров.Получить("ДатаАктуальности"); НачалоПериода = СписокПараметров.Получить("НачалоПериода"); ОкончаниеПериода = СписокПараметров.Получить("ОкончаниеПериода"); ДатаАктуальности = ?(ПустоеЗначение(ДатаАктуальности)=1,РабочаяДата(),ДатаАктуальности); Идентификатор = СписокПараметров.Получить("Идентификатор"); ИдентификаторДаты1 = СписокПараметров.Получить("Дата1"); ИдентификаторДаты2 = СписокПараметров.Получить("Дата2"); ПараметрыЗначения = СписокПараметров.Получить("Значение"); // видимость значения Если ТипЗначения(ПараметрыЗначения)=2 Тогда СписокПараметровЗначения = глРазложить(ПараметрыЗначения); Если СписокПараметровЗначения.РазмерСписка()>1 Тогда ИдентификаторЗначения = СписокПараметровЗначения.ПолучитьЗначение(1); Заголовок = Сокрп(СписокПараметровЗначения.ПолучитьЗначение(2)); Форма.ПодпЗначение.Заголовок(?(Прав(Заголовок,1)=":",Заголовок,Заголовок+":")); ТипВидЗначения = СписокПараметровЗначения.ПолучитьЗначение(3); ДлинаЗначения = ?(СписокПараметровЗначения.РазмерСписка()>3,СписокПараметровЗначения.ПолучитьЗначение(4),0); ТочностьЗначения= ?(СписокПараметровЗначения.РазмерСписка()>4,СписокПараметровЗначения.ПолучитьЗначение(5),0); Форма.Значение.НазначитьТип(ТипВидЗначения,ДлинаЗначения,ТочностьЗначения); КонецЕсли; КонецЕсли; // заполнение списка групп СписокГрупп.ДобавитьЗначение(0,"<<Все группы сотрудников>>"); СписокГрупп.ДобавитьЗначение(ПолучитьПустоеЗначение("Справочник.Сотрудники"),"<<Вне групп>>"); СпрСотрудники1 = СоздатьОбъект("Справочник.Сотрудники"); СпрСотрудники2 = СоздатьОбъект("Справочник.Сотрудники"); СпрСотрудники3 = СоздатьОбъект("Справочник.Сотрудники"); СпрСотрудники1.ВключатьПодчиненные(0); СпрСотрудники2.ВключатьПодчиненные(0); СпрСотрудники3.ВключатьПодчиненные(0); СпрСотрудники1.ВыбратьЭлементы(); Пока (СпрСотрудники1.ПолучитьЭлемент()=1) И (СпрСотрудники1.ЭтоГруппа()=1) Цикл СписокГрупп.ДобавитьЗначение(СпрСотрудники1.ТекущийЭлемент(),СпрСотрудники1.ПолноеНаименование()); СпрСотрудники2.ИспользоватьРодителя(СпрСотрудники1.ТекущийЭлемент()); СпрСотрудники2.ВыбратьЭлементы(); Пока (СпрСотрудники2.ПолучитьЭлемент()=1) И (СпрСотрудники2.ЭтоГруппа()=1) Цикл СписокГрупп.ДобавитьЗначение(СпрСотрудники2.ТекущийЭлемент(),СпрСотрудники2.ПолноеНаименование()); СпрСотрудники3.ИспользоватьРодителя(СпрСотрудники2.ТекущийЭлемент()); СпрСотрудники3.ВыбратьЭлементы(); Пока (СпрСотрудники3.ПолучитьЭлемент()=1) И (СпрСотрудники3.ЭтоГруппа()=1) Цикл СписокГрупп.ДобавитьЗначение(СпрСотрудники3.ТекущийЭлемент(),СпрСотрудники3.ПолноеНаименование()); КонецЦикла; КонецЦикла; КонецЦикла; // заполнение списка типов сотрудников ТипыСотрудников.ДобавитьЗначение(1,"Штатные сотрудники"); ТипыСотрудников.ДобавитьЗначение(2,"Внутренние совместители"); ТипыСотрудников.ДобавитьЗначение(3,"Внешние совместители"); Если Константа.ЕстьВоенные=1 Тогда ТипыСотрудников.ДобавитьЗначение(4,"Военнослужащие по контракту"); ТипыСотрудников.ДобавитьЗначение(5,"Военнослужащие по призыву"); КонецЕсли; Если Константа.ЕстьГосслужащие=1 Тогда ТипыСотрудников.ДобавитьЗначение(6,"Госслужащие"); КонецЕсли; ТипыСотрудников.ДобавитьЗначение(10,"В том числе уволенные"); ТипыСотрудников.ДобавитьЗначение(9,"Временно не работают"); Если Константа.ЕстьВоенные=1 Тогда ТипыСотрудников.ДобавитьЗначение(11,"Временно не работают (военнослужащие)"); КонецЕсли; ТипыСотрудников.ДобавитьЗначение(7,"Прочие, получающие доход (Договорники)"); ТипыСотрудников.ДобавитьЗначение(8,"Прочие физлица"); // заполнение ревизитов формы, согласно настроеек, введенных ранее СписокНастроек = ВосстановитьЗначение(Идентификатор); Если ТипЗначенияСтр(СписокНастроек)="СписокЗначений" Тогда Подразделение = СписокНастроек.Получить("Подразделение"); //изменено________________________________________ КатегорияПерсонала = СписокНастроек.Получить("КатегорияПерсонала"); //конец_изм_______________________________________ СписокГрупп.ТекущаяСтрока(Макс(1,СписокГрупп.НайтиЗначение(СписокНастроек.Получить("Группа")))); Список = СписокНастроек.Получить("ТипыСотрудников"); Дата1 = СписокНастроек.Получить("Дата1"); Дата2 = СписокНастроек.Получить("Дата2"); Значение = СписокНастроек.Получить("Значение"); КонецЕсли; Если ПустоеЗначение(Дата1)=1 Тогда Дата1 = ЖЗ.НачалоТекущегоПериода(); Дата2 = ЖЗ.КонецТекущегоПериода(); КонецЕсли; Если ТипЗначенияСтр(Список)="СписокЗначений" Тогда Для Номер = 1 по Список.РазмерСписка() Цикл Позиция = ТипыСотрудников.НайтиЗначение(Список.ПолучитьЗначение(Номер)); Если Позиция>0 Тогда ТипыСотрудников.Пометка(Позиция,Список.Пометка(Номер)); КонецЕсли; КонецЦикла; КонецЕсли; // установка закладок Если (ПустоеЗначение(ИдентификаторДаты1)=0) или (ПустоеЗначение(ИдентификаторДаты2)=0) или (ПустоеЗначение(ТипВидЗначения)=0) Тогда Форма.ИспользоватьЗакладки(1); Форма.Закладки.ДобавитьЗначение("Постоянный,Сотрудники","Сотрудники"); Форма.Закладки.ДобавитьЗначение("Постоянный,Значения","Значения"); КонецЕсли; Форма.ИспользоватьСлой("Постоянный,Сотрудники",2); Иначе Предупреждение("Это системная обработка!",5); СтатусВозврата(0); КонецЕсли; КонецПроцедуры // ПриОткрытии |
|||
2
NikVars
22.04.13
✎
16:00
|
(0) А запросом по справочнику Сотрудники Дата приема/увольнения с ... по...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |