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

Расчет даты окончания

Автор NAstyaDav, 02 июн 2018, 11:37

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

NAstyaDav

Разрабатываю компонент в конфигурации для диплома о отслеживании медицинских карт.
Есть справочник Виды анализов, где вбиваю название анализа и есть срок действия его и переодичность. Далее выбираем анализ и он отображает в  книжке, добавляем обязательно дату выдачи.
Как сделать чтобы дата окончания считалась автоматически,  Дату выдачи+срок действия. Помогите пожалуйста

alexandr_ll

ДатаОкончания= ДатаВыдачи + СрокДействия*60 * 60 * 24;

NAstyaDav

Цитата: alexandr_ll от 02 июн 2018, 12:37
ДатаОкончания= ДатаВыдачи + СрокДействия*60 * 60 * 24;
Почему умнижить на 60 и на 24, и где это мне нужно прописать?

pavl_vs

NAstyaDav, непонятна размерность срока действия - день, месяц, год.

Если месяц, то следует использовать стандартную функцию ДобавитьМесяц(ДатаОкончания,СрокДействия) - см. Синтакс-Помощник / Глобальный контекст.
А прописывается это в процедуре события ПриИзмененииДатаНачала.

NAstyaDav

Цитата: pavl_vs от 02 июн 2018, 12:55
NAstyaDav, непонятно размерность срока действия - день, месяц, год.

Если месяц, то следует использовать стандартную функцию ДобавитьМесяц(ДатаОкончания,СрокДействия) - см. Синтакс-Помощник / Глобальный контекст.
А прописывается это в процедуре события ПриИзмененииДатаНачала.
Размерность указана в переодичности мес в прикреплении есть скрин... срок действия 6 переодичность мес
Если можно сделать по другому,чтобы можно применить стандартную функцию ДобавитьМесяц

pavl_vs

Цитата: NAstyaDav от 02 июн 2018, 12:58
Размерность указана в переодичности мес в прикреплении есть скрин... срок действия 6 переодичность мес
Если можно сделать по другому,чтобы можно применить стандартную функцию ДобавитьМесяц
Месяц - я так и понял, потому и обратил внимание на ДобавитьМесяц.
А вот, что теперь вызывает у Вас вопрос "что еще нужно сделать по другому"?
Единственное, что нужно поправить в моем предложении так это название процедуры - ДатаНачалаПриИзменении, которое вообще-то образуется автоматически, кроме того ДобавитьМесяц(ДатаНачала, СрокДействия).

NAstyaDav

Цитата: pavl_vs от 02 июн 2018, 13:08
Цитата: NAstyaDav от 02 июн 2018, 12:58
Размерность указана в переодичности мес в прикреплении есть скрин... срок действия 6 переодичность мес
Если можно сделать по другому,чтобы можно применить стандартную функцию ДобавитьМесяц
Месяц - я так и понял, потому и обратил внимание на ДобавитьМесяц.
А вот, что теперь вызывает у Вас вопрос "что еще нужно сделать по другому"?
Единственное, что нужно поправить в моем предложении так это название процедуры - ДатаНачалаПриИзменении, которое вообще-то образуется автоматически.
Хорошо,а почему изменение ДатыНачала а не СрокаДействия
Извините вообще нуб в этом

pavl_vs

Цитата: NAstyaDav от 02 июн 2018, 13:11
Хорошо,а почему изменение ДатыНачала а не СрокаДействия
Можно создавать обработки событий и того и другого - функция в обоих случаях будет одна.
Возможно придется писать условие на заполненность соответствующих полей.

NAstyaDav

Цитата: pavl_vs от 02 июн 2018, 13:20
Цитата: NAstyaDav от 02 июн 2018, 13:11
Хорошо,а почему изменение ДатыНачала а не СрокаДействия
Можно создавать обработки событий и того и другого - функция в обоих случаях будет одна.
Возможно придется писать условие на заполненность соответствующих полей.
Так как это сделать,я вообще в программировании не бум бум, какой будет код?
Помогите пожалуйста
Добавлено: 02 июн 2018, 13:52


Написала что-то но это что-то не работает. В чем ошибка? подскажите пожалуйста

alexandr_ll

ДатаОкончания= ДатаВыдачи + СрокДействия*60 * 60 * 24;
Эта формула для  сроока действия в днях
Почитать можно здесь
https://1c-programmer-blog.ru/yazyk-1s/tipy-dannyh/data-v-1s.html

Теги:

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

Рейтинг@Mail.ru

Поиск