Ксюфка
Гость
|
|
« : 04-12-2009 06:48 » |
|
Здравствуйте! Помогите мне, пожалуйста!!! Я плохо разбираюсь в модуле. А мне нужно сделать следующее. В отчете «Сезонники» попросили добавить две колонки «Дату приема» и «Номер приказа (о приеме)» Я очень долго возилась, в итоге у меня получилось следующее: в первом случае, когда я оставляю обращение к справочнику, я не могу правильно составить дополнительный запрос на документ «О приеме» (где есть дата и номер) – у меня просто знаний не хватает, вечно ошибки. Во втором случае, когда я полностью весь запрос обращаю на документ «О приеме», все выходит замечательно, с той лишь разницей, что он перестает учитывать «СостояниеФизлица» (то есть, по-русски, выводит даже тех, кто уволен) и выдает не по факту работающих в заданный период, а тех, кто был ПРИНЯТ в данный период. В общем, как ни крути, но у меня уже 4й день не получается. Этот модуль мне весь мозг проел. Я его как только ни переписывала. Пожалуйста, кто-нибудь, помогите!!!!! Вот, собственно, оригинальный модуль до добавления туда моих изменений:
Процедура Сезонники() Лет = 0; Месяцев = 0; Дней = 0; ДатаНачала = Дата1; ДатаКонца = Дата2; Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = " |//{{ЗАПРОС(Сезонники) |Период с ДатаНачала по ДатаКонца; |ОбрабатыватьДокументы Все; |Сотрудник = Справочник.Сотрудники.ТекущийЭлемент; |Подразделение = Справочник.Сотрудники.ТекущийЭлемент.Подразделение; |Должность = Справочник.Сотрудники.ТекущийЭлемент.Должность; |ГрафикРаботы = Справочник.Сотрудники.ГрафикРаботы; |СостояниеФизлица = Справочник.Сотрудники.СостояниеФизлица; |Функция Кол = Счётчик(); |Группировка Подразделение; |Группировка Сотрудник; |Условие(Найти(ГрафикРаботы,"""+"Сезонная"+""")>0); |Условие((ПустоеЗначение(СостояниеФизлица)=0) |и (Подразделение в СписокПодразделений));"; Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда Возврат; КонецЕсли; Сотрудник=СоздатьОбъект("Справочник.Сотрудники"); Структура=СоздатьОбъект("Справочник.Структура"); Таблица=СоздатьОбъект("Таблица"); Таблица.ИсходнаяТаблица("Сезонники"); Таблица.ВывестиСекцию("Шапка"); Структура.ПорядокКодов(); Структура.ИспользоватьДату(КонГода(Дата2)); Сотрудник.ИспользоватьДату(КонГода(Дата2)); Структура.ВыбратьЭлементы(); Подр="";К=0; Запрос.ВНачалоВыборки(); Пока Запрос.Группировка("Подразделение")=1 Цикл Таблица.ВывестиСекцию("Заголовок"); //Пока Запрос.Группировка("Должность")=1 Цикл Пока Запрос.Группировка("Сотрудник")=1 Цикл ТекстСтажРабочий = глСтажРаботыНаПредприятии(Запрос.Сотрудник,Дата2); Таблица.ВывестиСекцию("Строка"); КонецЦикла; //КонецЦикла; КонецЦикла; Таблица.ВывестиСекцию("Подвал"); Таблица.Опции(0,0,7,0,"_ПАРАМЕТРЫ_ПЕЧАТИ_Ф"); Таблица.ПараметрыСтраницы(2,,,0,0,0,0,,,,1,); Таблица.ТолькоПросмотр(1); Таблица.Показать("Унифицированная форма № "); КонецПроцедуры // Сезонники
|