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

Установка будущей даты в макете печатной формы.

Автор Solo322, 21 апр 2016, 11:34

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

Solo322

Добрый день, возникла такая задача, нужно чтоб в макете печатной формы дата была на день позже чем проведен документ. Подскажите пожалуйста куда копать. Забыл упомянуть конфа УТ 10.3 платформа 8.3.7.1901

LexaK

дата проведения это значение реквизита Дата вашего документа.
для увеличения на 1День, обычно прибавляют количество секунд в сутках
пример

ДатаОтчета = <Объект.>Дата + 24 * 60 * 60; //24 часа * 60 минут в часе * 60 секунд в минуте
Добавлено: 21 апр 2016, 12:17


или можете сразу общее количество секунд добавлять + 86400.

так добавляют и несколько дней: ... = Дата + КоличествоДней * 86400;

и только если вам надо прибавить/убавить ровно 1Месяц то в 1С есть специализированная функция по добавлению месяцев.
так как в месяцах разное количество дней, да еще и февраль бывает високосным, все это данная функция учитывает.

еще большую помощь в работе с датами дают функции
Начало/Конец дня
Начало/Конец месяца и т.д.
с их помощью удобно сдвигать дату на заданный период.
если помогло нажмите: Спасибо!

Solo322

Цитата: LexaK от 21 апр 2016, 11:54
дата проведения это значение реквизита Дата вашего документа.
для увеличения на 1День, обычно прибавляют количество секунд в сутках
пример

ДатаОтчета = <Объект.>Дата + 24 * 60 * 60; //24 часа * 60 минут в часе * 60 секунд в минуте
Спасибо за ответ я в принципе так и думал, но загвоздка в том чтоб Дата была будущей именно в макете печатной форме, а в самом документе должна стоять настоящая дата. В Тексте заголовка дата вроде подтягивается из Запроса.

vitasw

Иииииииии? чем вам приведенный выше код не угодил? подходит для вашего случая идеально.

LexaK

просто откройте процедуру где формируется табличныйдокумент
найдите там код который заполняет данные на макете,

что-то подобное:

ОбластьЗаголовок.Параметры.ДатаДоговора = Шапка.Дата + 24 * 3600; //добавьте это: 24 * 3600

где Шапка - результат запроса (во многих отчетах так называется, у вас может быть оп другому)
ну если уже и эта подсказка не поможет, тогда обратитесь к программисту, там делов на 5 сек.
если помогло нажмите: Спасибо!

Solo322

Спасибо, разобрался. Тему можно закрывать.

Теги:

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

Рейтинг@Mail.ru

Поиск