В начало

Получить стаж за период

 

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

            В данной процедуре использованы некоторые встроенные функции языка, такие как:

          Год()

          Месяц()

          День()

          НачалоДня()

          КонецМесяца()

 

Листинг. Код процедуры

Процедура ПолучитьСтажЗаПериод(Знач ДатаОкончанияПериода,

            Знач ДатаНачалаПериода,

            Лет=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;

    КонецЕсли;   

КонецПроцедуры