Печать личной карточки формы Т-2 в ЗУП 3.1 с разбивкой отпусков по рабочим годам

28.09.21

Учетные задачи - Кадровый учет

При предоставлении отпуска за несколько периодов работы в форме Т2 печатается, сколько дней отпуска за какой период.

Скачать исходный код

Наименование Файл Версия Размер
Печать личной карточки формы Т-2 в ЗУП 3.1 с разбивкой отпусков по рабочим годам: (варианты 1 и 2)
.zip 53,58Kb
22
.zip 53,58Kb 22 Скачать

В связи с наличием определенного интереса к данной разработке (высказанного иногда, к сожалению, в невежливой форме без  учета регулярных переработок в основной конфигурации) выкладываю доработанный отчет для текущих версий конфигурации и платформы. Отчет тестировался на ЗУП 3.1 (3.1.18.189) платформа 8.3.18.1483. 

Стандартный отчет (личная карточка Т2) может в качестве периода указывать 2 года (Рис.1). В разработанном отчете данные выводятся отдельно по каждому рабочему году (Рис.2). Для расчета используются те же функции и процедуры, что и при расчете отпуска, поэтому при вычислениях учитываются праздники.

За основу взят стандартный отчет для формы Т2, но периоды в 2 года разбиваются по годам (если это удается). 

По сравнению с предыдущим отчетом (2018 года) добавлено:

1. Учет возможности разбиения отпуска больничным.

2. Учет сдвига начала и окончания рабочего года, за который дается отпуск.

Анализ работы отчета в течении 3 лет показал, что, к сожалению, отчет дает правильные цифры приблизительно в 90 % случаев.

Досрочный выход из отпуска по беременности, отмена отпуска, перенос сроков отпуска и другие подобные события приводят к тому, что период разбивается неправильно, так как анализ расчета в подобных случаях затруднителен. В таких ситуациях результаты нужно править вручную.

К публикации приложены 2 варианта отчета:

Вариант 1 - основной - остатки отпусков рассчитываются на 5 лет вперед (как в основной конфигурации).

Вариант 2 - иногда помогает в случае, когда вариант 1 дает неправильный результат - остатки отпусков рассчитываются на дату, предыдущую указанной.    

Отчет ЗУП 3.1 Личная карточка Т2

См. также

Обновление для КА 1.1, ЗУП 2.5, БУХ 2.0: НДС, ЕФС-1, Расчет страховых взносов, Мобилизация, Статистика, Электронные трудовые книжки, 2-НДФЛ, Регламентированная отчетность, Кадровый учет, Прослеживаемость импортных товаров

Зарплата Регламентированный учет и отчетность Кадровый учет Обновление 1С Платформа 1С v8.3 Сложные периодические расчеты 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Зарплата и Управление Персоналом 2.5 Бухгалтерский учет Налоговый учет Управленческий учет Акцизы ЕНВД ЕСН Земельный налог ИП, ПБОЮЛ, КФХ Налог на имущество Налог на прибыль НДС НДФЛ ФОМС, ЕФС Транспортный налог УСН ПСН (патентная система налогообложения) Платные (руб)

Обновления для конфигураций: КА 1.1; ЗУП 2.5; БУХ 2.0; КА 1.1 Комплексная автоматизация торговли алкогольной продукцией; КА 1.1 Комплексный учет сельскохозяйственного предприятия

19900 руб.

01.04.2020    141147    669    352    

233

Перенос данных из Парус 10 в ЗГУ ред.3

Внешние источники данных Кадровый учет Файловый обмен (TXT, XML, DBF), FTP Обмен между базами 1C Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 10 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

60000 руб.

05.10.2022    9304    9    8    

11

Дополнительные соглашения. Групповое формирование и печать для 1С: ЗУП 3.1 ПРОФ и КОРП

Кадровый учет Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)

Групповое формирование и печать Дополнительных соглашений для 1С: Зарплата и управление персоналом ПРОФ и КОРП + 8 печатных форм: Индексация заработной платы, Удаленная работа и предупреждение о COVID-19, Выход из удаленной работы, Кадровый перевод, Кадровый перевод списком, Назначение индивидуальной системы начислений, Переименование филиала, Приказ "Совмещение должностей", Приказ "Совмещение исполнения обязанностей"

18000 руб.

24.03.2023    4477    2    0    

4

Загрузка данных по сотрудникам и физическим лицам из файла XLS (xlsx, mxl, ods) в ЗУП/ЗиКГУ редакция 3.1

Загрузка и выгрузка в Excel Зарплата Кадровый учет Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Обработка позволяет загрузить из структурированного файла данные по физическим лицам, сотрудникам. Предусмотрено создание документов "Прием на работу". Данные загружаются не только в справочники и документы, но и в регистры сведений. Обработка разработана для конфигураций "Зарплата и Управление Персоналом, редакция 3.1"/"Зарплата и кадры государственного учреждения, редакция 3.1" на платформе 8.3.

6000 руб.

15.07.2015    63487    92    48    

97

Электронный обходной лист (расширение) для ERP, ЗУП, КА

Кадровый учет Печатные формы Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

Подсистема предназначена для безбумажной работы с обходными листами, по возможности их автоматического заполнения, с возможностями управления полномочиями по созданию и подписи документов, назначения заместителей, для отсутствующих сотрудников.

9600 руб.

11.01.2022    12417    2    5    

8

Перенос кадровых данных, зарплаты из Excel + скрипты для выгрузки в Excel из Парус 8

Зарплата Кадровый учет Загрузка и выгрузка в Excel Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Обработка больше предназначена как основа для своей разработки, чем как универсальное решение. Но можно использовать и как готовое решение для небольшой организации. Переносит данные из файла Excel в ЗУП, по аналогии как данные переносятся из ЗУП 2.5.

9600 руб.

19.01.2023    5793    2    2    

3

Рабочее место кадровика - редактор штатного расписания

Кадровый учет Сложные периодические расчеты Управляемые формы 1С:ERP Управление предприятием 2 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Редактор штатного расписания / просмотрщик данных по позиции или сотруднику. Можно выделить несколько позиций и создать для них документ изменение ШР, включая действия копирование позиции (новая) / закрыть позицию / изменить позицию. Позволяет просматривать документы утверждения / изменения ШР. Видеть историю занятых позиций выделенной позиции. Для выделенного сотрудника можно посмотреть кадровую историю. Для выделенного сотрудника можно посмотреть историю изменения начислений. На форму для выделенной позиции выводится вся информация по этой позиции (начисления, график и т.д. - все, что заполнено). При открытии документа - регистратора по ШР(изменение или утверждение) сразу попадаем на текущую позицию, а не на 1 строку. При открытии документа кадровой истории по сотруднику - регистратора (прием или перевод списком) сразу попадаем на строку с данным сотрудником, а не на 1 строку.

3000 руб.

26.10.2018    17032    7    0    

11

Уведомление о трудовой деятельности иностранного гражданина в 1С:ЗУП 3.1

Кадровый учет Платформа 1С v8.3 1С:Зарплата и Управление Персоналом 3.x Аудит и бухгалтерские услуги, юриспруденция Россия Платные (руб)

Печать из ЗУП уведомления о трудовой деятельности для безвизового иностранного гражданина. С 7 января 2024 года безвизовые иностранцы должны уведомлять по утвержденной форме территориальный орган МВД России о ведении трудовой деятельности. Расширение позволит выполнить распечатку уведомления напрямую из программы ЗУП 3.1

3600 руб.

22.02.2024    503    1    0    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. user1027406 15.07.20 16:37 Сейчас в теме
Добрый день! Отчет не работает в релизе 3-1-10-470! Поправьте, пожалуйста! Спасибо!
2. vikhrov53 91 15.07.20 18:40 Сейчас в теме
Согласно правилам Инфостарта разработчик, представивший публикацию за Startmoney, не обязан сопровождать ее.
На момент публикации отчет был работоспособен для указанной конфигурации и платформы.
За прошедшие почти 2 года программа была существенна переработана и используется сейчас в расширении.
К сожалению, на оформление и тестирование программы в форме отчета нет времени. Могу лишь подсказать, что в связи с изменением основной конфигурации вместо "РабочееМесто.." надо использовать "Работа...".
WhiteOwl; +1 Ответить
3. user1543540 13.07.21 17:03 Сейчас в теме
Добрый день. На текущий момент отчет работает?
4. vikhrov53 91 14.07.21 10:10 Сейчас в теме
Смотрите комментарий 2.
5. JinAir7460 24.09.21 13:36 Сейчас в теме
вот код человека, который просит 2 стартмани за нерабочую обработку:


&НаСервере
Функция ОбработкаДанныхЗаполнения(ДанныеЗаполненияПоСотруднику, ТекСотрудник)

Инд = 0;

ДанныеЗаполненияПоСотруднику_New = ДанныеЗаполненияПоСотруднику.СкопироватьКолонки();

Пока Инд < ДанныеЗаполненияПоСотруднику.Количество() Цикл
ЭлемМассива = ДанныеЗаполненияПоСотруднику[Инд];

Если ((ЭлемМассива.ВидОтпуска <> "Ежегодный") И (ЭлемМассива.ВидОтпуска <> "Основной отпуск")) ИЛИ ((ЭлемМассива.РабочийГодПо - ЭлемМассива.РабочийГодС) < 2*364*24*60*60) Тогда
НоваяСтрока = ДанныеЗаполненияПоСотруднику_New.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, ЭлемМассива);

Иначе //разбивка по годам

МассивОтпПоГодам = ПодготовитьМассивОтпПоГодам(ЭлемМассива, ТекСотрудник);

Для каждого ЭлПоГодам Из МассивОтпПоГодам Цикл

НоваяСтрока = ДанныеЗаполненияПоСотруднику_New.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, ЭлемМассива);
ЗаполнитьЗначенияСвойств(НоваяСтрока, ЭлПоГодам);

КонецЦикла;

КонецЕсли;
Инд = Инд + 1;

КонецЦикла;

Возврат ДанныеЗаполненияПоСотруднику_New;

КонецФункции

&НаСервере
Функция ПодготовитьМассивОтпПоГодам(СтруктПарам, ТекСотрудник)

МассивОтпПоГодам = Новый Массив;

Если типЗнч(СтруктПарам.ДатаС) = Тип("Дата") Тогда
ДатаС = СтруктПарам.ДатаС;
Иначе
ДатаС = Дата(Сред(СтруктПарам.ДатаС,7,4)+Сред(СтруктПарам.ДатаС,4,2)+Сред(СтруктПарам.ДатаС,0,2));
КонецЕсли;

Если типЗнч(СтруктПарам.ДатаПо) = Тип("Дата") Тогда
ДатаПо = СтруктПарам.ДатаПо;
Иначе
ДатаПо = Дата(Сред(СтруктПарам.ДатаПо,7,4)+Сред(СтруктПарам.ДатаПо,4,2)+Сред(СтруктПарам.ДатаПо,0,2));
КонецЕсли;


СтруктураПараметров = ОстаткиОтпусков.ПараметрыПолученияРабочегоПериодаОтпуска();
СтруктураПараметров.ВидОтпуска = Справочники.ВидыОтпусков.Основной;
СтруктураПараметров.ДатаНачала = ДатаС;
СтруктураПараметров.ДатаКомпенсации = ДатаС;
СтруктураПараметров.ДатаОкончания = ДатаПо;
СтруктураПараметров.КоличествоДнейКомпенсации = СтруктПарам.ДнейОтпуска;
СтруктураПараметров.Сотрудник = ТекСотрудник;

//поиск док отпуска

Запрос = Новый запрос;
Запрос.Текст = "ВЫБРАТЬ
| Отпуск.Ссылка КАК Ссылка
|ИЗ
| Документ.Отпуск КАК Отпуск
|ГДЕ
| Отпуск.Сотрудник = &Сотрудник
| И Отпуск.ДатаНачалаОсновногоОтпуска = &ДатаНачалаОсновногоОтпуска
| И Отпуск.Организация = &Организация
| И Отпуск.Проведен = Истина";
Запрос.УстановитьПараметр("Сотрудник", ТекСотрудник);
Запрос.УстановитьПараметр("ДатаНачалаОсновногоОтпуска",ДатаС);
Запрос.УстановитьПараметр("Организация",ТекСотрудник.ГоловнаяОрганизация);

Выборка = Запрос.Выполнить().Выбрать();

Если Выборка.Следующий() Тогда
НужДок = Выборка.Ссылка;
Иначе //Док отпуск не найден - печатаем как есть
МассивОтпПоГодам.Добавить(СтруктПарам);
Возврат МассивОтпПоГодам;
КонецЕсли;

массивРегистр = Новый Массив;
массиврегистр.Добавить(НужДок);
СтруктураПараметров.Текущийрегистратор = МассивРегистр;

ДатаОстатков = СтруктураПараметров.ДатаНачала;
Если ДатаОстатков = Дата(1, 1, 1) Тогда
ДатаОстатков = СтруктураПараметров.ДатаКомпенсации;
КонецЕсли;

ОписаниеВидаОтпуска = ОстаткиОтпусков.ОписаниеВидаОтпуска(СтруктураПараметров.ВидОтпуска, ОстаткиОтпусков.ОтпускСотрудникаВРабочихДняхПоДоговору(СтруктураПараметров.Сотрудник, ДатаОстатков));
ЕжегодныйОтпуск = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СтруктураПараметров.ВидОтпуска, "ОтпускЯвляетсяЕжегодным");

КоличествоДнейОтпуска = УчетРабочегоВремениРасширенный.ДлительностьИнтервала(
СтруктураПараметров.Сотрудник,
СтруктураПараметров.ДатаНачала,
СтруктураПараметров.ДатаОкончания,
ОписаниеВидаОтпуска.СпособРасчетаПоКалендарнымДням,
ОписаниеВидаОтпуска.ЕжегодныйОтпуск);

РасходуетсяДней = КоличествоДнейОтпуска + СтруктураПараметров.КоличествоДнейКомпенсации;

ПараметрыВызова = ОстаткиОтпусков.ОписаниеПараметровДляОстаткиОтпусков();
ПараметрыВызова.Сотрудники = СтруктураПараметров.Сотрудник;
//ПараметрыВызова.ДатаОстатков = НачалоДня(ДатаОстатков);

// Остатков отпуска на текущий момент не хватает, необходимо посчитать "будущие" остатки.
// Чтобы не получить бесконечную итерацию, устанавливаем максимальную дату "заглядывания в будущее".
// 1. получаем остатки на максимальную дату.
МаксимальнаяДата = Дата(Год(ТекущаяДатаСеанса()) + 5, Месяц(ТекущаяДатаСеанса()), День(ТекущаяДатаСеанса()));

ПараметрыВызова.ДатаОстатков = МаксимальнаяДата;

ПараметрыВызова.ВидыОтпусков = СтруктураПараметров.ВидОтпуска;
ПараметрыВызова.ИсключаемыеРегистраторы = СтруктураПараметров.ТекущийРегистратор;

ОстаткиОтпусковСотрудника = ОстаткиОтпусков.ОстаткиОтпусков(ПараметрыВызова);
КолвоРабГодов = ОстаткиОтпусковСотрудника.Количество();

НужноДнейотпуска = СтруктПарам.ДнейОтпуска;

ТекДатаНачала = СтруктураПараметров.ДатаНачала;
Инд = 0;
Пока НужноДнейотпуска > 0 Цикл
Если Инд > КолвоРабГодов - 1 Тогда
Сообщить("Нет рабочих годов для отпуска.");
Прервать;
КонецЕсли;
ТекСтр = ОстаткиОтпусковСотрудника[Инд];

НовСтрукт = Новый Структура;
НовСтрукт.Вставить("РабочийГодС", ТекСтр.РабочийГодДатаНачала);
НовСтрукт.Вставить("РабочийГодПо", ТекСтр.РабочийГодДатаОкончания);

ДнейОтпуска = ТекСтр.Дни;

Если НужноДнейОтпуска <= ДнейОтпуска Тогда
НовДнейотпуска = НужноДнейотпуска;
Иначе
НовДнейотпуска = Днейотпуска;
КонецЕсли;
НовСтрукт.Вставить("ДнейОтпуска",НовДнейотпуска);

НужноДнейотпуска = НужноДнейотпуска - НовДнейОтпуска;

НовСтрукт.Вставить("ДатаС", ТекДатаНачала);

НовДатаОкончания = ОстаткиОтпусковВызовСервера.ДатаОкончанияЕжегодногоОтпуска(СтруктураПараметров.Сотрудник, ТекДатаНачала, НовДнейОтпуска, ИСТИНА);
НовСтрукт.Вставить("ДатаПо", НовДатаОкончания);
ТекДатаНачала = НачалоДня(НовДатаОкончания + 24*60*60);

МассивОтпПоГодам.Добавить(НовСтрукт);

Инд = Инд + 1;
КонецЦикла;

Возврат МассивОтпПоГодам;

КонецФункции
6. JinAir7460 24.09.21 13:38 Сейчас в теме
как-будто мне в монитор насрали его кодом
7. user1543540 12.01.22 11:30 Сейчас в теме
Добрый день. Отчет не формирует, грит что прав нет над базой данных. Хотя, права у меня усеченные, не спорю.( но как у сотрудника кадровой службы прав достаточно). Отчет нужно дорабатывать? Или у системного администратора доп права попросить?
1С:Предприятие 8.3 (8.3.18.1334)
8. vikhrov53 91 13.01.22 10:59 Сейчас в теме
(7)Если у Вас работает стандартный отчет "Личная карточка (Т2)", то по идее должен работать и этот отчет. В моей системе все кадровики работают с профилем "Старший кадровик". Если не хватает прав, я обычно добавляю пользователю профиль с режимом ПРОСМОТРА (чтения) необходимых данных.
9. user1543540 13.01.22 14:16 Сейчас в теме
Спасибо. IT-к помог.
Первый вариант не подошел, второй более на правду похож.
Сотрудник оформил отпуск на 32 дня (4+28). В первом варианте отчет показал (28+4). Во втором как надо! (4 оставшиеся дня за один период, и 28 (новых) за второй)


Хотелось бы формировать не всю карточку Т2. А только ту часть, которая касается отпусков. Т.к саму карточку печатаем при приеме на работу. А данные отпусков вписываем в течении трудовой деятельности руками.
С этого года хотим печатать приложение с отпусками отдельно.
10. user1543540 29.08.22 09:03 Сейчас в теме
Добрый день. Подскажите, в чем может быть ошибка (только у некоторых сотрудников)

" В настройку отчета внесены критичные изменения. Отчет не будет сформирован. Индекс находится за границами массива"

Хотя, никаких настроек не делала. У большинства сотрудников все формирует, а у некоторых пишет эту ошибку.
11. vikhrov53 91 29.08.22 10:45 Сейчас в теме
Обычно такое сообщение выскакивает после обновления конфигурации, но я проверил на версии ЗУП 3.1.23.63 оба варианта работают. Иногда помогает очистка параметров пользователя. Для этого надо записать параметры базы (кластер серверов, имя инф. базы) в перечне инф. баз (с помощью кнопки "изменить"), затем удалить базу из списка, а затем добавить вновь эту базу с записанными ранее параметрами.
Оставьте свое сообщение