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

Подсчет стажа для работника (в справочнике)

Автор AlexKag, 30 янв 2013, 20:03

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

AlexKag

Добрый вечер! Такой вопрос. В Справочнике есть реквизит типа дата (ДатаНачала), под ним есть еще один реквизит Стаж, подскажите как сделать так, чтобы при вводе даты в поле ДатаНачала, в поле Стаж подсчитывался стаж работы (то есть из текущей даты вычиталась бы ДатаНачала, и результат округлялся бы до годов, и записывался в поле Стаж) Как это мне организовать?

mixqn

Ну организовать то не сложно, допустим вот так:
ДлинаСутокСекунд = 60*60*24; // длина суток в секундах
ДлинаГодаСуток = 365; // длина года в сутках

СтажСекунд = ДатаНачала - ТекущаяДата(); // стаж в секундах
Стаж = Цел(СтажСекунд/ДлинаСутокСекунд/ДлинаГодаСуток);  // количество целых лет стажа

вопрос, как вы поддерживать актуальность данных планируете (текущая дата же меняться будет постоянно)? Или такая задача не стоит?

AlexKag

Нет, такой задачи не стоит. А скажите пожалуйста, данный обработчик будет ПриИзменении у поля ДатаНачала? Сделал так, но при вводе даты поле стаж не заполняется, в чем может заключаться ошибка?
&НаКлиенте
Процедура ДатаНачалаПриИзменении(Элемент)
ДлинаСутокСекунд = 60*60*24; // длина суток в секундах
    ДлинаГодаСуток = 365; // длина года в сутках
СтажСекунд = Объект.ДатаНачала - ТекущаяДата(); // стаж в секундах
Объект.Стаж = Цел(СтажСекунд/ДлинаСутокСекунд/ДлинаГодаСуток);  // количество целых лет стажа
КонецПроцедуры

Теги:

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

Рейтинг@Mail.ru

Поиск