Внешний отчет, позволяющий представить табель рабочего времени в виде сводной таблицы:сотрудник и время его работы в разрезе буквенных обозначений видов затрат рабочего времени(явка, больничный, отпуск, командировка…).
Внешний отчет, позволяющий представить табель рабочего времени в виде сводной таблицы по сотрудникам с временем работы в разрезе буквенных обозначений видов затрат рабочего времени (явка, больничный, отпуск, командировка…) С отбором по подразделению и итогами. Сделан на основе типового отчета «Табель отработанного времени» в ЗиК 7.7
Внешний отчет, позволяющий представить табель рабочего времени в виде сводной таблицы:сотрудник и время его работы в разрезе буквенных обозначений видов затрат рабочего времени(явка, больничный, отпуск, командировка…).
Перейти к публикации
пригодится, спасибо
Оргинально! Такого ещё не встречал. Интересный подход к теме отражения рабочего времени в организации. Надо будет показать плановикам, думаю, им понравится. Спасибо.
Отчет делался по заказу планового отдела.
Красивая табличка получается!
При открытии отчета в 1С:Предприятие 7.7 сетевая (7.70.027) «Зарплата и Кадры» (7.70.315) демо база — 1С падает с ошибкой
и закрывает приложение.
Система Windows XP SP 3 x86
права администраторские
=(
Два года работает эта обработка в нескольких фирмах, вопросов не было. Прежде чем так комментировать, необходимо четко изложить с какой ошибкой падает? Описание ошибки?
Падает какая база sql или dbf? Падает на сетевой машине или на локальной. Падает ли на другой машине, на другой базе? Установлен ли антивирус? Ошибка 1с ная или Windows?
(6)
Уточнения:
Ошибка: Приложение выполнило недопустимую операцию и будет закрыто.
Базы различные в том числе и демо все дбф. Базы лежат как локально так и в сети.
Провел эксперимент на windows 7 prof — ситуация воспроизводится.
Антивирус установлен.
Все в компьютеры в домене.
Наталья, Вы скорее всего правы, ошибка где-то на моей строне. Ваша обработка запустилась в виртуальной машине. Скорее всего «пагубно» влияет антивирус.
Коль пришлось смотреть код, позволю себе немного критики:
1. На форме есть два реквизита даты (НачДата, КонДата) хотя в тексте для отчета вы используете только КонДата, т.е. отчет у Вас получается за месяц в который входит КонДата.
====
ДатаАктуальности=КонДата;
ДатаСоставления = ДатаАктуальности;
………………
НачалоПериода = ЖурналРасчетовЗарплата.НачалоПериодаПоДате(ДатаАктуальности);
КонецПериода = ЖурналРасчетовЗарплата.КонецПериодаПоДате(ДатаАктуальности);
====
2. В видах расчеты не учитываются расчеты действующие с 2011 года (ОплатаБЛс2011, ОтпускПоБеременностис2011),
т.е. отчет будет формироваться правильно только для периода до 2011 года.
А так идея интересная, будет время допилю =)
Критику по коду принимаю. Подправлю. Спасибо.
Отчет формируется некорректно не пойму почему количество часов явки ставится верно а вот разбивки по остальным видам не производится не пойму почему
если можно дайте пояснения
Вот каким образом формирует
Добавила виды расчетов, действующие с 2011 года. Возможно это поможет. Проверить отчет можно по типовому табелю рабочего времени в ЗиК. Колонка «Всего по календарю рабочего времени» отражает время по календарю для ставки=1 для данного графика работника, как если бы он работал весь месяц без отклонений. И если это совместитель или работник по ставке,отличной от единицы, то сумма по буквенным колонкам будет не равна сумме в этой колонке.
Для того, чтобы не только часы явки ставились верно, можно вставить :
Если (ПустоеЗначение(КодЧасов[ПозицияМассива]) = 0) И (КолвоЧасов[ПозицияМассива] = 0) Тогда
Тз.КолЧасов = Сотрудник.ГрафикРаботы.Получить(ДатаКалендаря).ОсновныеЧасы.ЧасовДатаКалендаря,ДатаКалендаря);//???
КонецЕсли;
и получится:
/// моя отсебятина
Для ДатаКалендаря = НачалоПериода по КонецПериода Цикл
ПозицияМассива = ДатаЧисло(ДатаКалендаря);
Тз.НоваяСтрока();
ТЗ.Сотрудник=Сотрудник;
Тз.График=График[ПозицияМассива];
Тз.КодЧасов=КодЧасов [ПозицияМассива];
Тз.КолЧасов=КолвоЧасов[ПозицияМассива];
Если (ПустоеЗначение(КодЧасов[ПозицияМассива]) = 0) И (КолвоЧасов[ПозицияМассива] = 0) Тогда
Тз.КолЧасов = Сотрудник.ГрафикРаботы.Получить(ДатаКалендаря).ОсновныеЧасы.Часов(ДатаКалендаря,ДатаКалендаря);//???
КонецЕсли;
КонецЦикла;