Имя: Пароль:
1C
1С v8
Как ограничить дату отчета вчерашним днем?
0 Drunk_Snake
 
04.12.12
13:36
Есть отчет, который должен формироваться на дату не позднее вчерашнего дня (причина в том, что за текущий день данных еще нет, они появляются в результате ночного регламентного задания).

Нужно сделать защиту от дурака, чтобы даже если пользователь ввел текущий или будущий день, отчет все равно формировался правильно.

Решение нашлось вот в таком выражении параметра:

Выбор
Когда &ДатаФормирования >  (ДОБАВИТЬКДАТЕ(ТекущаяДата(),ДЕНЬ,-1)  
Тогда  (ДОБАВИТЬКДАТЕ(ТекущаяДата(),ДЕНЬ, -1)  
Иначе &ДатаФормирования
Конец

Но СКД категорически отказывается принимать функцию ДОБАВИТЬКДАТЕ.
Без нее все работает прекрасно, правда отчет выводится с учетом текущего дня.

Ваши мысли, господа?
1 chingiz
 
04.12.12
13:37
При формировании проверять дату? Кнопка сформировать.
2 Maxus43
 
04.12.12
13:37
заменяй ПАРАМЕТР даты до выполнения СКД, когда на кнопку Сформировать жмакают
3 simol
 
04.12.12
13:39
(0)Если используешь внешнюю функцию ТекущаяДата() то сделай в общем модуле свою ВчерашнийДень()
4 ssh2006
 
04.12.12
13:39
(0) > СКД категорически отказывается принимать функцию ДОБАВИТЬКДАТЕ

ДЕНЬ надо брать в кавычки
5 Serg_1960
 
04.12.12
13:40
Я бы не советовал дату "править" в запросе. Тупые юзверу начнут задавать тупые вопросы типа "Я поставил дату сегодняшную - а он всё равно отчет показывает вчерашний"
6 Drunk_Snake
 
04.12.12
14:07
(4) Огромное спасибо! Помогло!
(5) Тупые юзвери как раз и попросили это сделать =)
Основная теорема систематики: Новые системы плодят новые проблемы.