Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
31 мая 2024, 05:28

help me разобраться с кодом

Автор runtiks, 31 июл 2018, 17:02

0 Пользователей и 1 гость просматривают эту тему.

runtiks

Есть табличная часть: Колонки Место работы, ДатаС дата ПО Нужно чтобы автоматом считало стаж в годах, месяцах, днях Пишу:

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


Вроде все считает норм но при добавлении новой строки считает по последней строке.
Ткните носом плиз как сделать чтоб суммировало со всех строк.

LexaK


:D
так у вас цикл пустой, просто переводит дату га последнюю запись

Для каждого Дата из Объект.Работы Цикл
    //здесь надо разместить команды
КонецЦикла;   
если помогло нажмите: Спасибо!

runtiks

Цитата: LexaK от 31 июл 2018, 17:11

:D
так у вас цикл пустой, просто переводит дату га последнюю запись

Для каждого Дата из Объект.Работы Цикл
    //здесь надо разместить команды
КонецЦикла;   


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

ilyay

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

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск