Справка о стаже для ЗУП

20.07.26

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

В нашей организации случился переход с Камин-5 на ЗУП. Как положено, перенесли начальные остатки. Старая кадровая история (кто и где работал), тоже нужна. Решили перенести в усечённом виде – перенесли Реестр кадровых приказов. Теперь просмотреть «старые» кадровые движения по ссылке {Кадровые документы} было невозможно, отображались только документы, сделанные в ЗУП. Для просмотра кадровых перемещений, приходилось формировать «Личную карточку (Т2)». При большом количестве ссылок на старые кадровые документы это было крайне неудобно (происходило разбиение на листы).

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Справка о стаже для ЗУП
.epf 14,57Kb
0 3 000 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

В нашей организации случился переход с Камин-5 на ЗУП. Как положено, перенесли начальные остатки. Старая кадровая история (кто и где работал), тоже нужна. Решили перенести в усечённом виде – перенесли Реестр кадровых приказов. Естественно Интервальные Кадровые сведения не восстанавливались. Теперь просмотреть «старые» кадровые движения по ссылке {Кадровые документы} было невозможно, отображались только документы, сделанные в ЗУП. Для просмотра кадровых перемещений за всю историю, приходилось формировать «Личную карточку (Т2)». При большом количестве ссылок на старые кадровые документы, это было крайне неудобно (происходило разбиение на листы).

Вторая проблемка заключалась в том, что существовали для одной должности несколько видов оплаты, и для поддержания в Камин-5 такой возможности приходилось создавать Дубликаты с таким же наименованием. Частично, по наименованию не различали должности с нормальными и вредными условиями труда… как следствие, интервалы в запросе строились для должностей по Наименованию (не по ссылке)

Имеющуюся потребность: сформировать отчет для вычисления стажа, пришлось реализовать отдельным отчетом. Поскольку, задача формирования истории стажа (вычисление стажа работы в разных должностях и подразделениях) показалась универсальной, то решил выделить получение таблицы стажа в отдельную функцию. Кроме того, штатный механизм ЗУП получение Стажа показался мне малость Тормознутым – нарисовал собственную функцию форматирования Стажа (общими функциями 1С8 вычисляется разность дат в годах, месяцах, днях). Штатным осталось только получение Представления форматированного размера интервала. На всякий случай сделал вариант обратного интервала, когда ДатаНачала > ДатаКонца.

Запрос стажа (Фрагмент получения Таблицы интервалов стажа):

 

	Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ РКП.Организация КАК Организация,
		|	РКП.ФизическоеЛицо КАК ФизическоеЛицо,
		|	РКП.Сотрудник КАК Сотрудник,
		|	МАКСИМУМ(РКП.Подразделение) КАК Подразделение,
		|	МАКСИМУМ(РКП.Должность.Наименование) КАК Должность,
		|	РКП.Дата КАК ДатаС,
		|	МАКСИМУМ(РКП.Сотрудник.Код) КАК СотрудникКод,
		|	РКП.ВидСобытия КАК ВидСобытия
		|ПОМЕСТИТЬ СпКП
		|ИЗ РегистрСведений.РеестрКадровыхПриказов КАК РКП
		|ГДЕ РКП.ВидСобытия <> ЗНАЧЕНИЕ(Перечисление.ВидыКадровыхСобытий.Увольнение) И РКП.ФизическоеЛицо = &ФизическоеЛицо
		|
		|СГРУППИРОВАТЬ ПО РКП.Организация, РКП.ФизическоеЛицо, РКП.Сотрудник, РКП.Дата, РКП.ВидСобытия
		|
		|ОБЪЕДИНИТЬ ВСЕ
		|
		|ВЫБРАТЬ РеестрУв.Организация,
		|	РеестрУв.ФизическоеЛицо,
		|	РеестрУв.Сотрудник,
		|	ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка),
		|	"""",
		|	ДОБАВИТЬКДАТЕ(РеестрУв.Дата, ДЕНЬ, 1),
		|	РеестрУв.Сотрудник.Код,
		|	РеестрУв.ВидСобытия
		|ИЗ РегистрСведений.РеестрКадровыхПриказов КАК РеестрУв
		|ГДЕ РеестрУв.ВидСобытия = ЗНАЧЕНИЕ(Перечисление.ВидыКадровыхСобытий.Увольнение) И РеестрУв.ФизическоеЛицо = &ФизическоеЛицо
		|
		|ОБЪЕДИНИТЬ ВСЕ
		|
		|ВЫБРАТЬ КИ.ГоловнаяОрганизация,
		|	КИ.ФизическоеЛицо,
		|	КИ.Сотрудник,
		|	ВЫБОР КОГДА КИ.ВидСобытия = ЗНАЧЕНИЕ(Перечисление.ВидыКадровыхСобытий.Увольнение) ТОГДА ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка) Иначе КИ.Подразделение Конец,
		|	ВЫБОР КОГДА КИ.ВидСобытия = ЗНАЧЕНИЕ(Перечисление.ВидыКадровыхСобытий.Увольнение) ТОГДА """" Иначе КИ.Должность.Наименование Конец,
		|	ВЫБОР КОГДА КИ.ВидСобытия = ЗНАЧЕНИЕ(Перечисление.ВидыКадровыхСобытий.Увольнение) ТОГДА ДОБАВИТЬКДАТЕ(КИ.Период, ДЕНЬ, 1) ИНАЧЕ КИ.Период
		|	КОНЕЦ,
		|	КИ.Сотрудник.Код,
		|	КИ.ВидСобытия
		|ИЗ РегистрСведений.КадроваяИсторияСотрудников КАК КИ
		|ГДЕ КИ.ФизическоеЛицо = &ФизическоеЛицо И КИ.ВидСобытия <> ЗНАЧЕНИЕ(Перечисление.ВидыКадровыхСобытий.НеподтвержденныеДанные)
		|
		|ОБЪЕДИНИТЬ ВСЕ
		|
		|ВЫБРАТЬ ТекКС.ГоловнаяОрганизация,
		|	ТекКС.ФизическоеЛицо,
		|	ТекКС.Сотрудник,
		|	ВЫБОР КОГДА ТекКС.ВидСобытия = ЗНАЧЕНИЕ(Перечисление.ВидыКадровыхСобытий.Увольнение) ТОГДА ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
		|			Иначе ТекКС.Подразделение Конец,
		|	ВЫБОР КОГДА ТекКС.ВидСобытия = ЗНАЧЕНИЕ(Перечисление.ВидыКадровыхСобытий.Увольнение) ТОГДА """"
		|			Иначе ТекКС.Должность.Наименование Конец, КОНЕЦПЕРИОДА(&Текущая, ДЕНЬ),
		|	ТекКС.Сотрудник.Код,
		|	ТекКС.ВидСобытия
		|ИЗ РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(, ФизическоеЛицо = &ФизическоеЛицо) КАК ТекКС
		|
		|ИНДЕКСИРОВАТЬ ПО Организация, ФизическоеЛицо, Сотрудник, ДатаС
		|;
		|
		|////////////////////////////////////////////////////////////////////////////////
		|ВЫБРАТЬ КП.Организация КАК Организация,
		|	КП.ФизическоеЛицо КАК ФизическоеЛицо,
		|	КП.Сотрудник КАК Сотрудник,
		|	КП.Подразделение КАК Подразделение,
		|	КП.Должность КАК Должность,
		|	КП.ДатаС КАК ДатаС,
		|	МИНИМУМ(КП.ДатаПо) КАК ДатаПо
		|ПОМЕСТИТЬ Инт
		|ИЗ
		|	(ВЫБРАТЬ СпКП.Организация КАК Организация,
		|		СпКП.ФизическоеЛицо КАК ФизическоеЛицо,
		|		СпКП.Сотрудник КАК Сотрудник,
		|		СпКП.Подразделение КАК Подразделение,
		|		СпКП.Должность КАК Должность,
		|		СпКП.ДатаС КАК ДатаС,
		|		ДОБАВИТЬКДАТЕ(Стало.ДатаС, ДЕНЬ, -1) КАК ДатаПо
		|	ИЗ
		|		СпКП КАК СпКП
		|			ЛЕВОЕ СОЕДИНЕНИЕ СпКП КАК Стало
		|			ПО СпКП.ФизическоеЛицо = Стало.ФизическоеЛицо И СпКП.ДатаС < Стало.ДатаС
		|				И (НЕ(СпКП.Подразделение = Стало.Подразделение И СпКП.Должность = Стало.Должность))) КАК КП
		|
		|СГРУППИРОВАТЬ ПО КП.Организация, КП.ФизическоеЛицо, КП.Сотрудник, КП.Подразделение, КП.Должность, КП.ДатаС
		|
		|ИНДЕКСИРОВАТЬ ПО ФизическоеЛицо, Сотрудник, ДатаС
		|;
		|
		|////////////////////////////////////////////////////////////////////////////////
		|ВЫБРАТЬ Интрв.Организация КАК Организация,
		|	Интрв.ФизическоеЛицо КАК ФизическоеЛицо,
		|	Интрв.Сотрудник.Код КАК ТабН,
		|	Интрв.Сотрудник КАК Сотрудник,
		|	Интрв.Подразделение.Код КАК КодП,
		|	Интрв.Подразделение КАК Подразделение,
		|	Интрв.Должность КАК Должность,
		|	МИНИМУМ(Интрв.ДатаС) КАК НачДата,
		|	Интрв.ДатаПо КАК ДатаПо
		|ИЗ Инт КАК Интрв
		|ГДЕ Интрв.Подразделение <> ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
		|
		|СГРУППИРОВАТЬ ПО
		|	Интрв.ФизическоеЛицо,
		|	Интрв.Подразделение,
		|	Интрв.Должность,
		|	Интрв.ДатаПо,
		|	Интрв.Сотрудник,
		|	Интрв.Организация,
		|	Интрв.Сотрудник.Код,
		|	Интрв.Подразделение.Код
		|
		|УПОРЯДОЧИТЬ ПО ФизическоеЛицо, Сотрудник, НачДата
		|";
	Запрос.Параметры.Вставить("ФизическоеЛицо", ФизЛицо);
	Запрос.Параметры.Вставить("Текущая", ТекущаяДата());

Функция форматирования интервала (ПолучитьРазмерИнтервалаВФормате(ДатаНач,ДатаКон)):

 

Функция ПолучитьРазмерИнтервалаВФормате(ДатаНач,ДатаКон) Экспорт
	Результат = Новый Структура;
	Если ЗначениеЗаполнено(ДатаКон) Тогда КонПериода = ДатаКон; Иначе КонПериода = ТекущаяДата(); КонецЕсли;
	Если  Час(КонПериода)<12 Тогда КонПериода = НачалоДня(КонПериода);
	Иначе КонПериода = НачалоДня(КонецДня(КонПериода)+9);
	КонецЕсли;
	Результат.Вставить("ДатаНач",ДатаНач); Результат.Вставить("КонПериода",КонПериода);
	Если Не ЗначениеЗаполнено(ДатаНач) Тогда
		Результат.Вставить("Представление","Нет ДатаНач!");
		Результат.Вставить("Лет",0); Результат.Вставить("Месяцев",0);  Результат.Вставить("Дней",0);
	ИначеЕсли КонПериода>ДатаНач Тогда
		Результат.Вставить("Лет", Год(КонПериода)-Год(ДатаНач));
		Результат.Вставить("Месяцев",Месяц(КонПериода)-Месяц(ДатаНач));
		Если  Час(КонПериода)<12 Тогда Результат.Вставить("Дней", День(КонПериода)-День(ДатаНач));
		Иначе Результат.Вставить("Дней", День(КонПериода)-День(ДатаНач)+1);
		КонецЕсли;
		Если Результат.Дней<0 Тогда
			Результат.Месяцев = Результат.Месяцев - 1;
			Результат.Дней = Результат.Дней + День(КонецМесяца(НачалоМесяца(КонПериода)-9));
		КонецЕсли;
		Если Результат.Месяцев<0 Тогда
			Результат.Лет = Результат.Лет - 1;
			Результат.Месяцев = Результат.Месяцев + Месяц(КонецГода(НачалоГода(КонПериода)-9));
		КонецЕсли;
		Представление = ЗарплатаКадрыРасширенныйКлиентСервер.ПредставлениеСтажа(Результат.Лет, Результат.Месяцев, Результат.Дней);
		Результат.Вставить("Представление",СокрЛП(Представление));
	Иначе //Обратный Интервал
		Результат.Вставить("Лет", Год(ДатаНач)-Год(КонПериода));
		Результат.Вставить("Месяцев",Месяц(ДатаНач)-Месяц(КонПериода));
		Результат.Вставить("Дней", День(ДатаНач)-День(КонПериода));
		Если Результат.Дней<0 Тогда
			Результат.Месяцев = Результат.Месяцев - 1;
			Результат.Дней = Результат.Дней + День(КонецМесяца(НачалоМесяца(ДатаНач)-9));
		КонецЕсли;
		Если Результат.Месяцев<0 Тогда
			Результат.Лет = Результат.Лет - 1;
			Результат.Месяцев = Результат.Месяцев + Месяц(КонецГода(НачалоГода(ДатаНач)-9));
		КонецЕсли;
		Результат.Дней = -Результат.Дней; Результат.Месяцев = -Результат.Месяцев; Результат.Лет = -Результат.Лет;//Инверсия
		Представление = ЗарплатаКадрыРасширенныйКлиентСервер.ПредставлениеСтажа(Результат.Лет, Результат.Месяцев, Результат.Дней);
		Результат.Вставить("Представление","Минус "+СокрЛП(Представление));
	КонецЕсли;
	Возврат Результат;
КонецФункции//ПолучитьРазмерИнтервалаВФормате()

 

Универсальная функция получения таблицы кадровых перемещений и функция форматирования Интервала в формате Лет-Месяцев-Дней в моём случае лежит в расширении. В моём расширении Функция Получение Стажа – универсальна, стажи формируются с отбором по Сотруднику или по Физическому лицу. Запрос легко модифицируется (СтрЗаменить(Запрос.Текст, "ФизическоеЛицо = &ФизическоеЛицо", "Сотрудник = &ФизическоеЛицо")).

Во вложении лежит отчет, собранный для автономного использования (не требует Расширения). Подключается как обычная внешняя печатная форма, привязанная к Сотруднику. Если у Вас множество организаций, и требуется Справка по отдельной организации, то потребуется получить данные для отбора и поправить Функцию/Запрос отбором по Организации (желающие могут допилить).

Тестировалось в ЗУП Корп 3.1.38, но должно работать в других конфигурациях, включающих ЗУП: ЗУП 3.1; ЕРП 2.5; и др., использующие Регистры сведений "РеестрКадровыхПриказов" и "КадроваяИсторияСотрудников", по которым собирается Кадровая история.

Проверено на следующих конфигурациях и релизах:

  • Зарплата и управление персоналом КОРП, редакция 3.1, релизы 3.1.38.18

Вступайте в нашу телеграмм-группу Инфостарт

Внешняя печатная форма Справка о стаже Функция получения Таблицы кадровых перемещений

См. также

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

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

85400 руб.

05.10.2022    13989    16    8    

17

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

Подключаемый модуль для миграционного учета в конфигурациях 1С:ЗУП и 1С:ЗУП КОРП, по запросу можно адаптировать под 1С:УТ и ERP. Подсистема миграционного учета содержит в себе справочники, документы, отчеты, регистры, которые позволяют вести учет патентов, хранить историю тарифов и отслеживать оплаты. Добавлена интеграция с МВД - возможность автоматической проверки сотрудников по реестру контролируемых лиц (подключение обсуждается отдельно).

52000 руб.

03.07.2025    4442    5    1    

7

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

«Кадровый монитор руководителя» — готовое расширение для 1С:ЗУП и 1С:ERP, которое превращает кадровые данные в наглядные дашборды для руководителя, HRD и HR-аналитика. Решение помогает в реальном времени контролировать укомплектованность штата, плановый и фактический ФОТ, динамику увольнений и другие ключевые HR-показатели без ручной сборки отчетов. Аналитика работает в интерфейсе «1С:Аналитика», устанавливается без доработок типовой конфигурации и позволяет быстро получить целостную картину по персоналу в одном окне.

91500 руб.

17.11.2025    4331    2    0    

2

Адаптация типовых решений БСП (Библиотека стандартных подсистем) Кадровый учет ЭДО и ОФД 1C:Бухгалтерия 1С:Зарплата и кадры 7.7 1C:ERP 1С:ЗУП 1С:УТ 1С:ДО Платные (руб)

Наше расширение 1С Госключ обеспечивает интеграцию любой конфигурации 1С на базе БСП с мобильным приложением «Госключ», позволяя сотрудникам подписывать кадровые документы (КЭДО) и документы материальной ответственности (МОЛ, ПБ) усиленной электронной подписью прямо со смартфона. Решение автоматизирует формирование и отправку документов на подпись, отслеживает статусы подписания и хранит подписанные файлы непосредственно в базе 1С

25000 руб.

06.03.2026    1366    4    0    

3

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

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

21960 руб.

24.03.2023    7295    6    0    

8

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

Расширение для интеграции hh.ru для 1С:ЗУП. Позволит автоматизировать часть рутинных операций HR менеджера, рекрутера, сохранение истории взаимодействия с кандидатами в 1С:ЗУП

12200 руб.

24.12.2025    1198    1    0    

2

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

Устали вручную отслеживать, кто и когда уходит в отпуск, и постоянно напоминать руководителям и сотрудникам, вручную формировать и рассылать поздравления сотрудникам? С помощью обработки «Автоматическая рассылка уведомлений о скором начале отпуска, остатке отпусков и поздравлений с днем рождения для 1С: ЗУП 3.1» вы сможете централизованно, точно и своевременно информировать всех участников кадрового процесса.

6100 руб.

17.12.2025    896    2    2    

2

Зарплата Кадровый учет Бухгалтер Пользователь 1С 8.3 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Если не хотите ставить тяжёлую ЗУП? Нужен только табель и начисление по своим правилам? Рекомендуем этот модуль подключается к УТ, получаете табель, начисление и создание Расходный кассовый ордер/Списание безналичных денежных средств без типовой ЗУП

20740 руб.

27.04.2026    892    3    0    

1
Для отправки сообщения требуется регистрация/авторизация