Имя: Пароль:
1C
 
Разность дат в годах, месяцах, днях
0 Mitrich
 
15.12.04
14:30
Задачка вроде как простая. Есть НачДата, КонДата, коэффициент для расчета стажа. Нужно получить разницу КонДата-НачДата в годах, месяцах, днях и итог по колонке (т.е. значений может много) и потом все то же, тока с учетом коэффициента, т.е помножить. Хотел реализовать с помощью стандартной процедуры V7.7 Расчет, че-то не вышло. Поможите плиз.
1 Rovan
 
гуру
15.12.04
14:50
(0) Для 7.7 у меня так было -

Функция РазницаВМесяцах( Д1, Д2 ) Экспорт
   Годы = ДатаГод( Д2 ) - ДатаГод( Д1 );

   Если Годы < 0 Тогда
       Годы = Годы + 100;
   КонецЕсли;
   
   Разн = ДатаМесяц( Д2 ) - ДатаМесяц( Д1 ) + Годы * 12;

   Если ДатаЧисло( Д2 ) < ДатаЧисло( Д1 ) Тогда
       Разн = Разн - 1;
   КонецЕсли;
   
   Возврат Разн;
КонецФункции

....
разн        = РазницаВМесяцах( СтартДата, некаяДата );
Ст_Месяцев    = разн % 12;
Ст_Лет        = ( разн - Ст_Месяцев ) / 12;
Ст_Дней    = некаяДата - ДобавитьМесяц( СтартДата, разн );
2 Mitrich
 
16.12.04
10:53
Ништяк, с учетом исправления для 8-ой версии все работает
Many thanks
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан