Имя: Пароль:
1C
 
Стандартный период в СКД
0 User67
 
14.01.11
15:32
Если есть возможность помогите разобраться вроде бы с простой задачей.  Есть отчет на СКД. В запросе делается отбор документов по периоду:
Дата Между Дата1 И Дата2 . Для более удобной работы в параметры добавлен Период тип СтандартныйПериод, и для Дата2 задано выражение ВЫБОР КОГДА &Период.ДатаОкончания = ДАТАВРЕМЯ(1,1,1) ТОГДА ДАТАВРЕМЯ(3999,1,1) ИНАЧЕ &Период.ДатаОкончания КОНЕЦ (если пользователь ни чего не указал, то должны выводится все документы). Но почему это не работает. Если не задаешь дату окончания, то ни чего не выводится. Вариант с &Период.ДатаОкончания = ДАТАВРЕМЯ(1,1,1,23,59,59) тоже не работает. А если поставить условие &Период.ДатаОкончания < &Период.ДатаНачала, то вылетает ошибка, что нет такого параметра
&Период.ДатаОкончания. Версия платформы 8.2.12.78, 82.13.202, Попробовал тоже самое на 8.1, там работает. Почти 3 часа потерял на эту ситуацию(.
1 User67
 
15.01.11
18:07
Может кто-нибудь все найдет время на данный вопрос. А то не пойму трабл в платформе или во мне)
2 PavelGhost
 
15.01.11
18:16
А просто тупо использовать &НачалоПериода и &КонецПериода ???
3 User67
 
15.01.11
18:55
Стандартный период более удобен для выбора. Можно указать этот месяц, прошлый месяц и т.п. Просто это должно работать, а не работает(. Хотелось понять, я сто то неправильно делаю, или поменялось поведение платформы.
4 Ns33
 
15.01.11
23:28
Лови пример:

ВЫБРАТЬ
   ОказаниеУслуг.Представление
ИЗ
   Документ.ОказаниеУслуг КАК ОказаниеУслуг
ГДЕ
   ОказаниеУслуг.Склад = &Склад
{ГДЕ
   (ОказаниеУслуг.Дата МЕЖДУ &Дата1 И &Дата2)}

В фигурных скобках те условия, которые отключаются, если для них не заданы параметры. В конструкторе запросов управляется на закладке "компоновка". Дата1 и Дата2 будут обычными &Период.ДатаНачала и &Период.ДатаОкончания.
5 User67
 
16.01.11
17:12
Спасибо за совет. Проверил, работает, но если задашь только дату начала, а дата окончания пустая, то вылетает ошибка. Я не могу понять, получается что изменилось поведение Платформы, ведь в 8.1 все работает, да и в Интернете примеры были(
6 Ns33
 
16.01.11
17:46
Сделай хитрее:

{ГДЕ
   ОказаниеУслуг.Дата >=&Дата1,
   ОказаниеУслуг.Дата <=&Дата2}
7 User67
 
16.01.11
19:50
Спасибо, все работает)
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн