Процедура Ф1Т() Форм="1-Т"; Запрос = СоздатьОбъект("Запрос"); //На конец года ПредДата = КонМесяца(Дата2); ВыбДата = Дата(ПредДата+1); //ДатаНачГода = КонГода(Дата2); Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = " |//{{ЗАПРОС(ДвижениеКадров) |Период с ВыбДата по ВыбДата; |ОбрабатыватьДокументы Все; |Сотрудник = Справочник.Сотрудники.ТекущийЭлемент; |Подразделение = Справочник.Сотрудники.ТекущийЭлемент.Подразделение; |ДатаРождения = Справочник.Сотрудники.ТекущийЭлемент.ДатаРождения; |Категория = Справочник.Сотрудники.ТекущийЭлемент.Должность.Категория; |Образование = Справочник.Сотрудники.ТекущийЭлемент.Образование; |Ставка = Справочник.Сотрудники.Ставка; |СостояниеФизлица = Справочник.Сотрудники.СостояниеФизлица; |Функция Кол = Счётчик(); |Функция МОП = Счётчик() Когда(Категория=Перечисление.КатегорииСотрудников.МОП); |Функция Служ = Счётчик() Когда(Категория=Перечисление.КатегорииСотрудников.Служащие); |Функция Раб = Счётчик() Когда(Категория=Перечисление.КатегорииСотрудников.Рабочие); |Функция Рук = Счётчик() Когда(Категория=Перечисление.КатегорииСотрудников.Руководители); |Функция Спец = Счётчик() Когда(Категория=Перечисление.КатегорииСотрудников.Специалисты); |Функция Жен = Счётчик() Когда(Сотрудник.Пол.Наименование="""+"Женский"+"""); |Условие((ПустоеЗначение(СостояниеФизлица)=0) |и (Подразделение в СписокПодразделений));"; //(Лев(Образование,6)="""+"Высшее"+"""); //(Лев(Образование,18)="""+"Средне-техническое"+"""); //(Лев(Образование,19)="""+"Среднее специальное"+"""); //(Лев(Образование,12)="""+"Среднее проф"+"""); //(Лев(Образование,16)="""+"Среднее (полное)"+"""); 51-72-87 Сергей Сообщить("Строка 1"); Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда Возврат; КонецЕсли; К=0; Таблица=СоздатьОбъект("Таблица"); Таблица.ИсходнаяТаблица(Форм); Таблица.ИспользоватьФормат("Ч-4.0. "); Таблица.ВывестиСекцию("Шапка"); Таблица.ВывестиСекцию("Строка1"); Сообщить("Строка 2"); Если Запрос.Выполнить(ТекстЗапроса+ "Условие(Лев(Образование,6)="""+"Высшее"+""");" )=0 Тогда Возврат; КонецЕсли; Таблица.ВывестиСекцию("Строка2"); Сообщить("Строка 3"); Если Запрос.Выполнить(ТекстЗапроса+ "Условие( |(Лев(Образование,18)="""+"Средне-техническое"+""") |или(Лев(Образование,19)="""+"Среднее специальное"+""") |или(Лев(Образование,12)="""+"Среднее проф"+""") |);" )=0 Тогда Возврат; КонецЕсли; Таблица.ВывестиСекцию("Строка3"); Сообщить("Строка 4"); Если Запрос.Выполнить(ТекстЗапроса+ "Условие(( |(Лев(Образование,6)<>"""+"Высшее"+""") |и(Лев(Образование,18)<>"""+"Средне-техническое"+""") |и(Лев(Образование,19)<>"""+"Среднее специальное"+""") |и(Лев(Образование,12)<>"""+"Среднее проф"+""") |));" )=0 Тогда Возврат; КонецЕсли; Таблица.ВывестиСекцию("Строка4"); Сообщить("Строка 5"); Если Запрос.Выполнить(ТекстЗапроса+ "Условие( |Число(ВыбДата-ДатаРождения)/365.25<16 |);" )=0 Тогда Возврат; КонецЕсли; Таблица.ВывестиСекцию("Строка5"); Сообщить("Строка 6"); Если Запрос.Выполнить(ТекстЗапроса+ "Условие( |(Число(ВыбДата-ДатаРождения)/365.25>=16) |и(Число(ВыбДата-ДатаРождения)/365.25<18) |);" )=0 Тогда Возврат; КонецЕсли; Таблица.ВывестиСекцию("Строка6"); Сообщить("Строка 7"); Если Запрос.Выполнить(ТекстЗапроса+ "Условие( |(Число(ВыбДата-ДатаРождения)/365.25>=18) |и(Число(ВыбДата-ДатаРождения)/365.25<25) |);" )=0 Тогда Возврат; КонецЕсли; Таблица.ВывестиСекцию("Строка7"); Сообщить("Строка 8"); Если Запрос.Выполнить(ТекстЗапроса+ "Условие( |(Число(ВыбДата-ДатаРождения)/365.25>=25) |и(Число(ВыбДата-ДатаРождения)/365.25<30) |);" )=0 Тогда Возврат; КонецЕсли; Таблица.ВывестиСекцию("Строка8"); Сообщить("Строка 9"); Если Запрос.Выполнить(ТекстЗапроса+ "Условие( |(Число(ВыбДата-ДатаРождения)/365.25>=30) |и(Число(ВыбДата-ДатаРождения)/365.25<40) |);" )=0 Тогда Возврат; КонецЕсли; Таблица.ВывестиСекцию("Строка9"); Сообщить("Строка 10"); Если Запрос.Выполнить(ТекстЗапроса+ "Условие( |(Число(ВыбДата-ДатаРождения)/365.25>=40) |и(Число(ВыбДата-ДатаРождения)/365.25<50) |);" )=0 Тогда Возврат; КонецЕсли; Таблица.ВывестиСекцию("Строка10"); Сообщить("Строка 11"); Если Запрос.Выполнить(ТекстЗапроса+ "Условие( |(Число(ВыбДата-ДатаРождения)/365.25>=50) |и(Число(ВыбДата-ДатаРождения)/365.25<55) |);" )=0 Тогда Возврат; КонецЕсли; Таблица.ВывестиСекцию("Строка11"); Сообщить("Строка 12"); Если Запрос.Выполнить(ТекстЗапроса+ "Условие( |Число(ВыбДата-ДатаРождения)/365.25>=55 |);" )=0 Тогда Возврат; КонецЕсли; Таблица.ВывестиСекцию("Строка12"); Сообщить("Строка 13"); Если Запрос.Выполнить(ТекстЗапроса+ "Условие( |(Число(ВыбДата-ДатаРождения)/365.25>=55) |и(Сотрудник.Пол.Наименование="""+"Женский"+""") |);" )=0 Тогда Возврат; КонецЕсли; Таблица.ВывестиСекцию("Строка13"); Сообщить("Строка 14"); Если Запрос.Выполнить(ТекстЗапроса+ "Условие( |(Число(ВыбДата-ДатаРождения)/365.25>=60) |и(Сотрудник.Пол.Наименование="""+"Мужской"+""") |);" )=0 Тогда Возврат; КонецЕсли; Таблица.ВывестиСекцию("Строка14"); Сообщить("Строка 15"); Если Запрос.Выполнить(ТекстЗапроса+ "Условие( |(Сотрудник.Пол.Наименование="""+"Женский"+""") |);" )=0 Тогда Возврат; КонецЕсли; Таблица.ВывестиСекцию("Строка15"); Таблица.ВывестиСекцию("Шапка1"); ТекстЗапроса = " |//{{ЗАПРОС(ДвижениеКадров) |Период с ВыбДата по ВыбДата; |ОбрабатыватьДокументы Все; |Сотрудник = Справочник.Сотрудники.ТекущийЭлемент; |ДатаРождения = Справочник.Сотрудники.ТекущийЭлемент.ДатаРождения; |Подразделение = Справочник.Сотрудники.ТекущийЭлемент.Подразделение; |Ставка = Справочник.Сотрудники.Ставка; |СостояниеФизлица = Справочник.Сотрудники.СостояниеФизлица; |Функция Всего = Сумма(Ставка); |Функция Жен = Сумма(Ставка) Когда(Сотрудник.Пол.Наименование="""+"Женский"+"""); |Функция Раб = Сумма(Ставка) Когда( |((Сотрудник.Пол.Наименование="""+"Женский"+""")и |((Число(ВыбДата-ДатаРождения)/365.25>=16)и(Число(ВыбДата-ДатаРождения)/365.25<55))) |или((Сотрудник.Пол.Наименование="""+"Мужской"+""") |и((Число(ВыбДата-ДатаРождения)/365.25>=16)и(Число(ВыбДата-ДатаРождения)/365.25<60)))); |Функция ЖенР = Сумма(Ставка) Когда((Сотрудник.Пол.Наименование="""+"Женский"+""") |и((Число(ВыбДата-ДатаРождения)/365.25>=16)и(Число(ВыбДата-ДатаРождения)/365.25<55))); |Условие((ПустоеЗначение(СостояниеФизлица)=0) |и (Подразделение в СписокПодразделений));"; Сообщить("Строка 16"); Если Запрос.Выполнить(ТекстЗапроса+ "Условие( |Найти(ВРЕГ(Вью(СостояниеФизлица)+Сотрудник.СоциальныеЛьготы),"""+"ПЕНСИОНЕР"+""")>0 |);" )=0 Тогда Возврат; КонецЕсли; Таблица.ВывестиСекцию("Строка16"); Сообщить("Строка 17"); Если Запрос.Выполнить(ТекстЗапроса+ "Условие( |(Найти(ВРЕГ(Вью(СостояниеФизлица)+Сотрудник.СоциальныеЛьготы),"""+"ПЕНСИОНЕР"+""")>0) |И(Найти(ВРЕГ(Вью(СостояниеФизлица)+Сотрудник.СоциальныеЛьготы),"""+"ЛЬГОТ"+""")>0) |);" )=0 Тогда Возврат; КонецЕсли; Таблица.ВывестиСекцию("Строка17"); Сообщить("Строка 18"); Если Запрос.Выполнить(ТекстЗапроса+ "Условие( |(Найти(ВРЕГ(Вью(СостояниеФизлица)+Сотрудник.СоциальныеЛьготы),"""+"ИНВАЛИД"+""")>0) |и(Найти(ВРЕГ(Вью(СостояниеФизлица)+Сотрудник.СоциальныеЛьготы),"""+"ТРУД"+""")>0) |);" )=0 Тогда Возврат; КонецЕсли; Таблица.ВывестиСекцию("Строка18"); Сообщить("Строка 19"); Если Запрос.Выполнить(ТекстЗапроса+ "Условие( |(Найти(ВРЕГ(Вью(СостояниеФизлица)+Сотрудник.СоциальныеЛьготы),"""+"ИНВАЛИД"+""")>0) |и(Найти(ВРЕГ(Вью(СостояниеФизлица)+Сотрудник.СоциальныеЛьготы),"""+"ВОЕНН"+""")>0) |);" )=0 Тогда Возврат; КонецЕсли; Таблица.ВывестиСекцию("Строка19"); //((ДатаНачГода-ДатаРождения)/365.25>=16)и((ДатаНачГода-ДатаРождения)/365.25<60) //((ДатаНачГода-ДатаРождения)/365.25>=16)и((ДатаНачГода-ДатаРождения)/365.25<55) // |Условие(Найти(Вью(СостояниеФизлица)+Сотрудник.СоциальныеЛьготы,"""+"Инвалиды II группы"+""")>0); // |Условие(Найти(Вью(СостояниеФизлица)+Сотрудник.СоциальныеЛьготы,"""+"Пенсионер"+""")>0); // |Условие(Найти(Вью(СостояниеФизлица)+Сотрудник.СоциальныеЛьготы,"""+"ПенсионерЛьготный"+""")>0); // |Условие(Найти(Вью(СостояниеФизлица)+Сотрудник.СоциальныеЛьготы,"""+"Инвалиды II группы труда"+""")>0); // |Условие(Найти(Вью(СостояниеФизлица)+Сотрудник.СоциальныеЛьготы,"""+"Инвалиды II группы военослужащие"+""")>0); Таблица.ВывестиСекцию("Подвал"); ////Таблица.ПовторятьПриПечатиСтроки(15,17); Таблица.Опции(0,0,0,0,"_ПАРАМЕТРЫ_ПЕЧАТИ_ШФ"+Форм); Таблица.ПараметрыСтраницы(1,,,0,0,0,0,,,,1,); Таблица.ТолькоПросмотр(1); Таблица.Показать("Унифицированная форма №"+Форм); КонецПроцедуры // Сформировать