helpf.pro
Регистрация

v8.3: Разность дат лет месяцев дней

sa032
23.08.2018 14:49Прочитано: 1293

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

Код 1C v 8.3
 стр = Элементы.МетаРаботы.ТекущиеДанные;
Объект.СтажЛет = Год(стр.ДатаУвольнения)-Год(стр.ДатаПриема);
Объект.СтажМесяцев = Месяц(стр.ДатаУвольнения)-Месяц(стр.ДатаПриема);
Объект.СтажДней = День(стр.ДатаУвольнения)-День(стр.ДатаПриема);
Если Объект.СтажДней < 0 Тогда
Объект.СтажМесяцев = стр.Месяцев - 1;
Объект.СтажДней = (КонецМесяца(стр.ДатаУвольнения)+1 - НачалоМесяца(стр.ДатаУвольнения))/86400 + Объект.СтажДней;
КонецЕсли;
Если Объект.СтажМесяцев < 0 Тогда
Объект.СтажЛет = Объект.СтажЛет - 1;
Объект.СтажМесяцев = 12 + Объект.СтажМесяцев;
КонецЕсли

Считает но последнюю измененную строку. А как чтоб суммировало не могу понять.

Yandex
Возможно, вас также заинтересует
Реклама на портале
Venzor
30.08.2018 10:37Ответ № 1

Если я правильно понял задачу, надо по всей ТЧ посчитать. Тогда надо все строки обойти Для Каждого стр из МестоРаботы Цикл.Завести перед циклом 2 переменных и в них суммировать, после цикла перевести месяцы в целые года, прибавить к годам,  а остаток в месяцах оставить

Подсказка: Вы получили ответ на свой вопрос - закройте вопрос!
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.