+ (4) у меня с годами так получалось Год(ДатаКон) - Год(ДатаНач)
Вот вам :о(
//Высчитывает разницу в днях между двумя датами
Функция РазницаВДнях(Дата1, Дата2)
Если Дата1 > Дата2 Тогда
Возврат Окр((Дата1 - Дата2)/86400);
Иначе
Возврат Окр((Дата2 - Дата1)/86400);
КонецЕсли;
КонецФункции;
Если разница два года то сколько дней прошло сколько и выдает
Процедура ПолучитьСтажЗаПериод(Знач ДатаОкончанияПериода,
Знач ДатаНачалаПериода,
Лет=0, Месяцев=0, Дней=0) Экспорт
Если ДатаОкончанияПериода >= ДатаНачалаПериода тогда
Лет1 = Год(ДатаОкончанияПериода);
Месяцев1 = Месяц(ДатаОкончанияПериода);
Если НачалоДня(ДатаОкончанияПериода) <> НачалоДня(КонецМесяца(ДатаОкончанияПериода)) Тогда
Дней1 = День(ДатаОкончанияПериода);
Иначе
Дней1 = 30;//В каждом месяце ровно 30 дней
КонецЕсли;
Лет2 = Год(ДатаНачалаПериода);
Месяцев2 = Месяц(ДатаНачалаПериода);
Если НачалоДня(ДатаНачалаПериода) <> НачалоДня(КонецМесяца(ДатаНачалаПериода)) Тогда
Дней2 = День(ДатаНачалаПериода);
Иначе
Дней2 = 30;//В каждом месяце ровно 30 дней
КонецЕсли;
Лет = Лет1 - Лет2;
Месяцев = Месяцев1 - Месяцев2;
Дней = Дней1 - Дней2 + 1; //1 день на увольнение
Иначе
Лет = 0;
Месяцев = 0;
Дней = 0;
КонецЕсли;
КонецПроцедуры
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой