Стаж работы на предприятии (количество лет, месяцев, дней) от даты приема до даты отчета

09.06.21

Учетные задачи - Зарплата

Доработка отчета "Личные данные сотрудников" путем настройки трех пользовательских полей системы компоновки данных, в режиме 1С:Предприятие. Конфигуратор не требуется. Конфигурации: ЗУП 3.1, ЗГУ 3.1, с 3.1.14. Проверял на ЗУП 3.1.17.171.

Постановка задачи

Сформировать список работающих по трудовому договору сотрудников, для каждого из них вывести ФИО, дату приема, должность и стаж работы на предприятии - количество лет, месяцев и дней, прошедших с даты приема.

Пример (на дату 08.06.2021)
Иванов Иван Иванович, принят 21.11.2019, стаж 1 год 6 месяцев 18 дней

Почему пришлось написать новую статью

Сначала я искал готовые решения на Инфостарте и других ресурсах. Нашел файлы самописных отчетов, и ни один из них меня не устроил.

Первый попавшийся отчет строился на регистре «ТекущиеКадровыеДанныеСотрудников» - закрыл эту статью сразу же.

Второй был построен грамотнее, показатели считались в запросе, и формулы были выложены в статье. Но вот с формулами там было что-то напутано, нужный мне результат не смог получить, рассчитывая по этим формулам вручную. Кроме того, статья была довольно старая, и нет гарантии, что заработает в актуальном релизе.

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

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

Настройку отчета можно будет сохранить, а если она «слетит» при очередном обновлении – так же легко можно будет и восстановить, так как формулы расчета сохранил у себя в файле и в этой статье.

Формулы расчета стажа на языке выражений СКД

Для решения задачи у нас есть следующие исходные данные

1. Дата, по состоянию на которую формируется отчет (это параметр отчета "Личные данные").

2. Дата приема сотрудника.

Я считаю, что эта дата всегда заполнена, так как в отчете есть предустановленный отбор по работающим сотрудникам по состоянию на дату отчета. Поэтому все дальнейшие формулы не учитывают проверку на пустую дату приема.

Первое, что нужно рассчитать – это количество полных месяцев с даты приема до даты отчета. В нашем примере (с 21.11.2019) получается 18 полных месяцев. Если прибавить 18 месяцев к дате приема, получаем 21.05.2021, что меньше даты отчета (08.06.2021).

В языке выражений СКД есть функция РазностьДат(), в нашем приемер она дает 19 месяцев между датами отчета и датой приема. Поэтому при расчеете нужно проверять: если к дате приема прибавляем разность дат и полученная дата больше даты отчета, нужно отнять один месяц.

Формула на языке выражений СКД будет выглядеть так:
 

ВЫБОР КОГДА НачалоПериода(ДобавитьКДате([Дата приема], "Месяц", РазностьДат([Дата приема], [Параметры.Дата], "МЕСЯЦ")), "ДЕНЬ") > НачалоПериода([Параметры.Дата], "ДЕНЬ") ТОГДА -1 ИНАЧЕ 0 КОНЕЦ + РазностьДат([Дата приема], [Параметры.Дата], "МЕСЯЦ")
 

Обратите внимание, что при сравнении дат обе приводятся к началу дня. Полученный показатель назову условно КолМесяцев, чтобы использовать его для пояснения алгоритма расчета в других формулах.

Теперь можно рассчитать количество полных лет, которые сотрудник отработал на предприятии: это количество полных месяцев, деленное на 12. От полученного числа нужно взять целую часть. Упрощенно формула выглядит так:

Цел(КолМесяцев/12)

Подставляем выражение расчета количества полных месяцев, получаем формулу расчета отработанных лет на языке выражений СКД:

Цел((ВЫБОР КОГДА НачалоПериода(ДобавитьКДате([Дата приема], "Месяц", РазностьДат([Дата приема], [Параметры.Дата], "МЕСЯЦ")), "ДЕНЬ") > НачалоПериода([Параметры.Дата], "ДЕНЬ") ТОГДА -1 ИНАЧЕ 0 КОНЕЦ + РазностьДат([Дата приема], [Параметры.Дата], "МЕСЯЦ"))/12)

Зная количество отработанных лет и количество полных месяцев стажа, легко рассчитать количество месяцев стажа, исключая отработанные годы: КолМесяцев-СтажЛет*12

Формула на языке СКД для количества месяцев стажа:

ВЫБОР КОГДА НачалоПериода(ДобавитьКДате([Дата приема], "Месяц", РазностьДат([Дата приема], [Параметры.Дата], "МЕСЯЦ")), "ДЕНЬ") > НачалоПериода([Параметры.Дата],"ДЕНЬ") ТОГДА -1 ИНАЧЕ 0 КОНЕЦ +РазностьДат([Дата приема], [Параметры.Дата], "МЕСЯЦ") - 12 * Цел((Выбор Когда НачалоПериода(ДобавитьКДате([Дата приема], "Месяц", РазностьДат([Дата приема], [Параметры.Дата], "МЕСЯЦ")), "ДЕНЬ") > НачалоПериода([Параметры.Дата], "ДЕНЬ") Тогда -1 Иначе 0 Конец + РазностьДат([Дата приема], [Параметры.Дата], "МЕСЯЦ")) / 12)

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

РазностьДат(ДобавитьКДате([Дата приема], "МЕСЯЦ", Выбор Когда НачалоПериода(ДобавитьКДате([Дата приема], "Месяц", РазностьДат([Дата приема], [Параметры.Дата], "МЕСЯЦ")), "ДЕНЬ") > НачалоПериода([Параметры.Дата], "ДЕНЬ") Тогда -1   Иначе 0 Конец + РазностьДат([Дата приема], [Параметры.Дата], "МЕСЯЦ")), [Параметры.Дата], "ДЕНЬ")

Доработка варианта отчета, сохранение варианта

 

Для доработки варианта отчета открываем раздел «Кадры» - «Кадровые отчеты» - «Личные данные сотрудников». На форме отчета есть кнопка «Еще» - нажимаем еще, выбираем «Прочее» - «Изменить вариант отчета».

 

 

Переходим на вкладку «Пользовательские поля», нажимаем кнопку «Добавить», тип поля – выражение, и создаем поле «Стаж работы на предприятии, лет». В заголовок пишем произвольный заголовок поля, в выражение детальных записей – формулу расчета количества лет, см. выше. Выражение итоговых записей не заполняем. Нажимаем кнопку ОК.

Точно так же добавляем поля расчета месяцев и дней.

 

В итоге мы добавили в отчет три пользовательских поля, нажимаем кнопку «Завершить редактирование». Но это еще не все, требуется добавить наши поля в список полей отчета.

 

 

Для добавления полей на форме отчета нужно нажать кнопку «Настройка» - откроется окно настройки, сразу же переключаемся в расширенный режим, и на вкладке «Поля и сортировки» добавляем только что созданные пользовательские поля – стаж работы на предприятии. Теперь можно нажать кнопку «Закрыть и сформировать».



 

Чтобы настройка отчета сохранилась для последующего использования, нужно сохранить вариант отчета – нажать маленькую кнопочку справа от кнопки «Настройка» и выбрать пункт «Сохранить вариант отчета».  Далее потребуется присвоить имя варианту отчета, я указал – «Личные данные сотрудников – стаж работы на предприятии».


 

После сохранения настройки отчет можно легко найти в списке кадровых отчетов:

 

Расчет стажа от даты приема

См. также

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

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

27900 руб.

01.04.2020    145911    645    358    

235

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

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

84000 руб.

19.08.2020    24490    23    1    

25

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

Расширение позволяет максимально полно ограничить доступ пользователей к данным по заработной плате, а именно закрывает доступ к документам начисления и выплаты заработной платы, не позволяет просматривать бухгалтерские отчеты по счету учета зарплаты а также убирает зарплатные проводки из журнала проводок. Расширение запрещает просматривать платежные документы на выплату зарплаты, так же не доступны регламентные отчеты в ПФР и ИФНС. Расширение предлагает готовые настроенные профили "Бухгалтер без зарплаты", "Только просмотр без зарплаты".

5940 руб.

27.05.2021    36553    252    90    

197

Зарплата Производство готовой продукции (работ, услуг) Учет рабочего времени Рабочее место Бизнес-аналитик Пользователь Руководитель проекта Платформа 1С v8.3 1С:Управление торговлей 10 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Торговля и склад 7.7 Бытовые услуги, сервис Оптовая торговля, дистрибуция, логистика Электротехника и микроэлектроника Управленческий учет Платные (руб)

Модуль или расширение «Сервисный центр для 1С» позволяет принимать в ремонт оборудование (компьютеры, бытовая техника и т.п.), оформлять заявки инженеров на посещение клиентов и вести начисление заработной платы для сотрудников. Позволяет наладить автоматизированный учет в сервисном центре на уже существующей базе.

14800 руб.

01.11.2012    93204    108    1    

116

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

Обработки для быстрого перехода с конфигураций «КАМИН:Расчет зарплаты для бюджетных учреждений 3.5» и «КАМИН:Зарплата для бюджетных учреждений 5.5» на конфигурацию «Зарплата и кадры государственного учреждения».

12000 руб.

28.07.2016    60359    152    141    

128

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

При заполнении ведомости на выплату зарплаты вылазят задолженности прошлых периодов, которых быть не должно? Наша обработка позволяется убрать эти доходы прошлых периодов за пару секунд. Больше не нужно тратить часы на анализ каждого такого случая.

27600 руб.

14.09.2022    15296    70    26    

72

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

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

6000 руб.

15.07.2015    64516    97    49    

101

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

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

48000 руб.

16.11.2018    30683    21    31    

22
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. dmit66 94 15.06.21 10:26 Сейчас в теме
А если сотрудник увольнялся и принимался вновь?
2. VinnieThePOOH 158 15.06.21 12:48 Сейчас в теме
(1) Физическое лицо будет то же самое, а сотрудник - другой, будет другой табельный номер, другая дата приема, другой элемент справочника сотрудников.

Расчет стажа выполняется в разрезе элементов справочника "Сотрудники" (а не справочника "Физические лица").

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

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

Задачу интерпретации отчета я не ставил.
3. Gaffer 85 09.09.21 22:40 Сейчас в теме
Дополню расчет лет стажа:
- корректный расчет по уволенным (если их будут выводить в отчет);
- округление до десятых долей года. Внимание, это НЕ МЕСЯЦЫ, а доли года!;
- корректный расчет в случае, когда сотрудник принимался и увольнялся в одном и том же месяце;

Выразить((Выбор
		Когда НачалоПериода(ДобавитьКДате([Дата приема], "Месяц", РазностьДат([Дата приема], [Параметры.Дата], "МЕСЯЦ")), "ДЕНЬ") > НачалоПериода([Параметры.Дата], "ДЕНЬ")
			Тогда -1
		Иначе 0
	Конец + РазностьДат([Дата приема], Выбор
			Когда [Дата увольнения] > ДатаВремя(1, 1, 1)
				Тогда [Дата увольнения]
			Иначе [Параметры.Дата]
		Конец, "МЕСЯЦ")) / 12 * Выбор
		Когда НачалоПериода([Дата приема], "месяц") = НачалоПериода([Дата увольнения], "месяц")
			Тогда 0
		Иначе 1
	Конец, "Число(3,1)")
Показать
user1488047; VinnieThePOOH; +2 Ответить
8. user1488047 10.02.22 16:51 Сейчас в теме
(3) Добрый день. А как можно сделать расчет, если сотрудник уволен 31 , а принят 1. Стаж берется с последней даты приема.
9. VinnieThePOOH 158 10.02.22 18:50 Сейчас в теме
(8) Это будет другой сотрудник.
4. dubovenko_m 69 19.11.21 12:33 Сейчас в теме
Спасибо. Хорошее решение. В последних релизах Прочие настройки спрятали - Настройки- Еще -Настройки для технического специалиста.
Прикрепленные файлы:
KirinaAS; VinnieThePOOH; +2 Ответить
5. RizhkovSergio 38 21.12.21 10:16 Сейчас в теме
От себя добавлю кому может пригодится тоже самое в запрос:
В запросе:
ВЫРАЗИТЬ(
       (ВЫБОР
			КОГДА НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ВТ_.ДатаМин, МЕСЯЦ, РАЗНОСТЬДАТ(ВТ_.ДатаМин, ВТ_.ДатаМакс, МЕСЯЦ)), ДЕНЬ) > НАЧАЛОПЕРИОДА(ВТ_.ДатаМакс, ДЕНЬ)
				ТОГДА -1
			ИНАЧЕ 0
		КОНЕЦ + РАЗНОСТЬДАТ(ВТ_.ДатаМин, ВТ_.ДатаМакс, МЕСЯЦ)) / 12 - 0.5 КАК ЧИСЛО(15, 0)) КАК СтажЛет,

	ВЫБОР
		КОГДА НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ВТ_.ДатаМин, МЕСЯЦ, РАЗНОСТЬДАТ(ВТ_.ДатаМин, ВТ_.ДатаМакс, МЕСЯЦ)), ДЕНЬ) > НАЧАЛОПЕРИОДА(ВТ_.ДатаМакс, ДЕНЬ)
			ТОГДА -1
		ИНАЧЕ 0
	КОНЕЦ + РАЗНОСТЬДАТ(ВТ_.ДатаМин, ВТ_.ДатаМакс, МЕСЯЦ) - 12 * (ВЫРАЗИТЬ((ВЫБОР
			КОГДА НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ВТ_.ДатаМин, МЕСЯЦ, РАЗНОСТЬДАТ(ВТ_.ДатаМин, ВТ_.ДатаМакс, МЕСЯЦ)), ДЕНЬ) > НАЧАЛОПЕРИОДА(ВТ_.ДатаМакс, ДЕНЬ)
				ТОГДА -1
			ИНАЧЕ 0
		КОНЕЦ + РАЗНОСТЬДАТ(ВТ_.ДатаМин, ВТ_.ДатаМакс, МЕСЯЦ)) / 12 - 0.5 КАК ЧИСЛО(15, 0))) КАК СтажМесяцев,

	РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(ВТ_.ДатаМин, МЕСЯЦ, ВЫБОР
				КОГДА НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ВТ_.ДатаМин, МЕСЯЦ, РАЗНОСТЬДАТ(ВТ_.ДатаМин, ВТ_.ДатаМакс, МЕСЯЦ)), ДЕНЬ) > НАЧАЛОПЕРИОДА(ВТ_.ДатаМакс, ДЕНЬ)
					ТОГДА -1
				ИНАЧЕ 0
			КОНЕЦ + РАЗНОСТЬДАТ(ВТ_.ДатаМин, ВТ_.ДатаМакс, МЕСЯЦ)), ВТ_.ДатаМакс, ДЕНЬ) КАК СтажДней
Показать
6. RizhkovSergio 38 21.12.21 11:58 Сейчас в теме
(5)

ВТ_Свод.ДатаПриема КАК ДатаПриема,
ВТ_Свод.ДатаУвольнения КАК ДатаУвольнения,
ВЫРАЗИТЬ(ВЫБОР
			КОГДА (ВЫБОР
					КОГДА НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ВТ_Свод.ДатаПриема, МЕСЯЦ, РАЗНОСТЬДАТ(ВТ_Свод.ДатаПриема, ВЫБОР
										КОГДА ВТ_Свод.ДатаУвольнения = ДАТАВРЕМЯ(1, 1, 1)
											ТОГДА &ДатаСреза
										ИНАЧЕ ВТ_Свод.ДатаУвольнения
									КОНЕЦ, МЕСЯЦ)), ДЕНЬ) > НАЧАЛОПЕРИОДА(ВТ_Свод.ДатаУвольнения, ДЕНЬ)
						ТОГДА -1
					ИНАЧЕ 0
				КОНЕЦ + РАЗНОСТЬДАТ(ВТ_Свод.ДатаПриема, ВЫБОР
						КОГДА ВТ_Свод.ДатаУвольнения = ДАТАВРЕМЯ(1, 1, 1)
							ТОГДА &ДатаСреза
						ИНАЧЕ ВТ_Свод.ДатаУвольнения
					КОНЕЦ, МЕСЯЦ)) / 12 - 0.5 < 0
				ТОГДА 0
			ИНАЧЕ (ВЫБОР
					КОГДА НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ВТ_Свод.ДатаПриема, МЕСЯЦ, РАЗНОСТЬДАТ(ВТ_Свод.ДатаПриема, ВЫБОР
										КОГДА ВТ_Свод.ДатаУвольнения = ДАТАВРЕМЯ(1, 1, 1)
											ТОГДА &ДатаСреза
										ИНАЧЕ ВТ_Свод.ДатаУвольнения
									КОНЕЦ, МЕСЯЦ)), ДЕНЬ) > НАЧАЛОПЕРИОДА(ВТ_Свод.ДатаУвольнения, ДЕНЬ)
						ТОГДА -1
					ИНАЧЕ 0
				КОНЕЦ + РАЗНОСТЬДАТ(ВТ_Свод.ДатаПриема, ВЫБОР
						КОГДА ВТ_Свод.ДатаУвольнения = ДАТАВРЕМЯ(1, 1, 1)
							ТОГДА &ДатаСреза
						ИНАЧЕ ВТ_Свод.ДатаУвольнения
					КОНЕЦ, МЕСЯЦ)) / 12 - 0.5
		КОНЕЦ КАК ЧИСЛО(15, 0)) КАК СтажЛет,

ВЫБОР
	КОГДА НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ВТ_Свод.ДатаПриема, МЕСЯЦ, РАЗНОСТЬДАТ(ВТ_Свод.ДатаПриема, ВЫБОР
							КОГДА ВТ_Свод.ДатаУвольнения = ДАТАВРЕМЯ(1, 1, 1)
								ТОГДА &ДатаСреза
							ИНАЧЕ ВТ_Свод.ДатаУвольнения
						КОНЕЦ, МЕСЯЦ)), ДЕНЬ) > НАЧАЛОПЕРИОДА(ВЫБОР
					КОГДА ВТ_Свод.ДатаУвольнения = ДАТАВРЕМЯ(1, 1, 1)
						ТОГДА &ДатаСреза
					ИНАЧЕ ВТ_Свод.ДатаУвольнения
				КОНЕЦ, ДЕНЬ)
			ТОГДА -1
		ИНАЧЕ 0
	КОНЕЦ + РАЗНОСТЬДАТ(ВТ_Свод.ДатаПриема, ВЫБОР
			КОГДА ВТ_Свод.ДатаУвольнения = ДАТАВРЕМЯ(1, 1, 1)
				ТОГДА &ДатаСреза
			ИНАЧЕ ВТ_Свод.ДатаУвольнения
		КОНЕЦ, МЕСЯЦ) - 12 * (ВЫРАЗИТЬ(ВЫБОР
			КОГДА (ВЫБОР
					КОГДА НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ВТ_Свод.ДатаПриема, МЕСЯЦ, РАЗНОСТЬДАТ(ВТ_Свод.ДатаПриема, ВЫБОР
										КОГДА ВТ_Свод.ДатаУвольнения = ДАТАВРЕМЯ(1, 1, 1)
											ТОГДА &ДатаСреза
										ИНАЧЕ ВТ_Свод.ДатаУвольнения
									КОНЕЦ, МЕСЯЦ)), ДЕНЬ) > НАЧАЛОПЕРИОДА(ВТ_Свод.ДатаУвольнения, ДЕНЬ)
						ТОГДА -1
					ИНАЧЕ 0
				КОНЕЦ + РАЗНОСТЬДАТ(ВТ_Свод.ДатаПриема, ВЫБОР
						КОГДА ВТ_Свод.ДатаУвольнения = ДАТАВРЕМЯ(1, 1, 1)
							ТОГДА &ДатаСреза
						ИНАЧЕ ВТ_Свод.ДатаУвольнения
					КОНЕЦ, МЕСЯЦ)) / 12 - 0.5 < 0
				ТОГДА 0
			ИНАЧЕ (ВЫБОР
					КОГДА НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ВТ_Свод.ДатаПриема, МЕСЯЦ, РАЗНОСТЬДАТ(ВТ_Свод.ДатаПриема, ВЫБОР
										КОГДА ВТ_Свод.ДатаУвольнения = ДАТАВРЕМЯ(1, 1, 1)
											ТОГДА &ДатаСреза
										ИНАЧЕ ВТ_Свод.ДатаУвольнения
									КОНЕЦ, МЕСЯЦ)), ДЕНЬ) > НАЧАЛОПЕРИОДА(ВТ_Свод.ДатаУвольнения, ДЕНЬ)
						ТОГДА -1
					ИНАЧЕ 0
				КОНЕЦ + РАЗНОСТЬДАТ(ВТ_Свод.ДатаПриема, ВЫБОР
						КОГДА ВТ_Свод.ДатаУвольнения = ДАТАВРЕМЯ(1, 1, 1)
							ТОГДА &ДатаСреза
						ИНАЧЕ ВТ_Свод.ДатаУвольнения
					КОНЕЦ, МЕСЯЦ)) / 12 - 0.5
		КОНЕЦ КАК ЧИСЛО(15, 0))) КАК СтажМесяцев,

РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(ВТ_Свод.ДатаПриема, МЕСЯЦ, ВЫБОР
				КОГДА НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ВТ_Свод.ДатаПриема, МЕСЯЦ, РАЗНОСТЬДАТ(ВТ_Свод.ДатаПриема, ВЫБОР
									КОГДА ВТ_Свод.ДатаУвольнения = ДАТАВРЕМЯ(1, 1, 1)
										ТОГДА &ДатаСреза
									ИНАЧЕ ВТ_Свод.ДатаУвольнения
								КОНЕЦ, МЕСЯЦ)), ДЕНЬ) > НАЧАЛОПЕРИОДА(ВЫБОР
							КОГДА ВТ_Свод.ДатаУвольнения = ДАТАВРЕМЯ(1, 1, 1)
								ТОГДА &ДатаСреза
							ИНАЧЕ ВТ_Свод.ДатаУвольнения
						КОНЕЦ, ДЕНЬ)
					ТОГДА -1
				ИНАЧЕ 0
			КОНЕЦ + РАЗНОСТЬДАТ(ВТ_Свод.ДатаПриема, ВЫБОР
					КОГДА ВТ_Свод.ДатаУвольнения = ДАТАВРЕМЯ(1, 1, 1)
						ТОГДА &ДатаСреза
					ИНАЧЕ ВТ_Свод.ДатаУвольнения
				КОНЕЦ, МЕСЯЦ)), ВЫБОР
			КОГДА ВТ_Свод.ДатаУвольнения = ДАТАВРЕМЯ(1, 1, 1)
				ТОГДА &ДатаСреза
			ИНАЧЕ ВТ_Свод.ДатаУвольнения
		КОНЕЦ, ДЕНЬ) КАК СтажДней
Показать
7. user1731619 21.01.22 12:38 Сейчас в теме
Спасибо. У автора некорректно считается кол-во лет (16.10.2019 прием, увольнение -15.01.2020 = 1 год, ошибка). Помог комментарий, оставленный Gaffer
11. olga10121982 2 17.10.23 12:10 Сейчас в теме
(7) Подскажите пожалуйста, как вы исправили ошибку? не получается почему-то (можно в лс)
10. Nuzhnaya 23.01.23 15:17 Сейчас в теме
Спасибо большое!!!Очень помогло)
12. olga10121982 2 17.10.23 12:55 Сейчас в теме
Может кто поможет: Как вывести данные стаж месяц дни в одной колонке?
те в одной колонке 2 года 10 мес 5 дн
13. VinnieThePOOH 158 17.10.23 13:32 Сейчас в теме
(12) сгруппируйте колонки в настройке в одну. Вывод "вместе".
14. AneJIbcuH 40 13.04.24 08:31 Сейчас в теме
Все методы, если Дата начала и дата окончания в рамках одно месяца (и года), выдают ерунду
Оставьте свое сообщение