qwertypirogov
10 - 30.01.2009 - 06:42
|
Процедура Сформировать() Перем Запрос, ТекстЗапроса, Таб; //Создание объекта типа Запрос н=0; с=0; о=0; Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |ОбрабатыватьДокументы все; |Ставка= Справочник.Сотрудники.Ставка; |Оклад = Справочник.Сотрудники.Оклад; |Наименование1 = Справочник.Сотрудники.Подразделение.Наименование; |Наименование = Справочник.Сотрудники.Наименование; |Д = Справочник.Сотрудники.Должность.Наименование; |СостояниеФизлица = Справочник.Сотрудники.СостояниеФизлица; |Группировка Наименование1; |Группировка Наименование; |Условие((СостояниеФизлица =Перечисление.СостояниеФизлица.СотрудникОсновной)ИЛИ(СостояниеФизлица =Перечисление.СостояниеФизлица.СотрудникНеосновной)); |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Сформировать"); Таб.ВывестиСекцию("Заголовок"); Состояние("Заполнение выходной таблицы..."); Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); Пока Запрос.Группировка(1) = 1 Цикл // Заполнение полей Наименование1 Таб.ВывестиСекцию("Наименование1"); Пока Запрос.Группировка(2) = 1 Цикл окл=Запрос.Ставка*Запрос.Оклад ; ПриказОПриеме = глПриказПоСотруднику(Запрос.Наименование,РабочаяДата(),"ПриказОПриемеНаРаботу"); Принят=ПриказОПриеме.ДатаПриема; н=н+1; Если Запрос.СостояниеФизлица =Перечисление.СостояниеФизлица.СотрудникОсновной Тогда в="+"; о=о+1; Иначе в="-"; с=с+1; КонецЕсли; // Заполнение полей Наименование Таб.ВывестиСекцию("Наименование"); КонецЦикла; КонецЦикла; Таб.ВывестиСекцию("Всего"); // Вывод заполненной формы Таб.ТолькоПросмотр(1); Таб.Показать("Сформировать", ""); Предупреждение("Есть!!"+РазделительСтрок+"товарищ"); |