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

Процедура РассчитатьДатуОкончания

Автор Митя_Просто_Митя, 15 дек 2011, 11:20

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

Митя_Просто_Митя

На форму элемента справочника "ФизическиеЛица" необходимо добавить новое поле, содержащее данные реквизитов (ДатаНачалаОбучения(ввод), СрокОбучения(ввод), ДатаОкончанияОбучения и др.) табличной части "Сертификация".

Суть проблемы такова:

ПриИзменении ДатаНачалаОбучения (Тип: Дата) или СрокОбучения((Тип: Число) вводиться должно в годах) автоматически меняется ДатаОкончанияОбучения (Тип: Дата).

Необходимо, чтобы в ДатеОкончания изменялся только Год. Т.к. если СрокОбучения просто перемножить с количеством секунд в году, то результат получается со сдвигом из-за неучета високосного года.

Помогите пожалуйста добрые люди!

Vit1501

Встроенные функции языка (Script functions)
ДобавитьМесяц (AddMonth)
Синтаксис:

ДобавитьМесяц(<Дата>, <ЧислоМесяцев>)
Параметры:

<Дата> (обязательный)

Тип: Дата.
Исходная дата.
<ЧислоМесяцев> (обязательный)

Тип: Число.
Количество месяцев, которое необходимо добавить к исходной дате. Если принимает отрицательное значение, то число месяцев вычитается.
Возвращаемое значение:

Тип: Дата.
Дата, полученная в результате добавления.
Описание:

Добавляет (или вычитает) к указанной дате заданное число месяцев.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Пример:

ДатаРождения = СтрокаТаблицы.КонтактноеЛицо.ДатаРождения;
ДеньРожденияБудущегоГода = ДобавитьМесяц(
    (ДобавитьМесяц(НачалоДня(ТекущаяДата()), -(Год(ДатаРождения) - 1) * 12)),
    (Год(ТекущаяДата()) * 12));


Vit1501

и не обязательно несколько раз создавать одну и ту же тему

Митя_Просто_Митя

Ок)

СрокОбучения(Тип: Число). Я делал через ДобавитьМесяц. Ошибка: Несовпадение типов. Он не может выполнить операцию, где один тип число, а другой дата

Vit1501

ДатеОкончания  = ДобавитьМесяц(ДатаНачалаОбучения,СрокОбучения);
Должно все работать, если у тебя ДатаНачалаОбучения это дата, а СрокОбучения это число

Vit1501

только срок обучения в месяцах нужно указывать

fokas

Тогда уж так
ДатеОкончания  = ДобавитьМесяц(ДатаНачалаОбучения,СрокОбучения*12);

Митя_Просто_Митя


Vit1501

нажми " сказать спасибо" под учетной записью того кто помог )))

Теги:

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

Рейтинг@Mail.ru

Поиск