helpf.pro
Регистрация

?: Как запрос РегистрСрезПоследних ограничить текущим днем

Name1
24.08.2011 10:49Прочитано: 6043
Отчет на СКД. Обращаюсь к регистру сведений (Периодичность - в пределах секунды). Надо выбрать последние записи за текущий день. Делаю запрос:
ВЫБРАТЬ
СостояниеБригадСрезПоследних.Период,
СостояниеБригадСрезПоследних.Машина,
СостояниеБригадСрезПоследних.СостояниеЗаказа,
СостояниеБригадСрезПоследних.Регистратор
ИЗ
РегистрСведений.СостояниеБригад.СрезПоследних КАК СостояниеБригадСрезПоследних
Теперь указываю параметры. В Конструкторе запроса в окне "Параметры виртуальной таблицы" в поле Период пишу: &ТекущаяДата(), в поле Условие: Период >= НачалоДня(ТекущаяДата()). Выдает: Ожидается выражение ")". Не уверена, что делаю правильно. Подскажите, пожалуйста, как надо, учитывая, что использую СКД.
Yandex
Возможно, вас также заинтересует
Реклама на портале
E_Migachev
24.08.2011 11:06Ответ № 1
(0) Name1, запрос должен быть вида:
Код 1C v 8.х
 Руководство = Новый Запрос;
Руководство.Текст = "ВЫБРАТЬ
| ФИОФизЛицСрезПоследних.Фамилия,
| ФИОФизЛицСрезПоследних.Имя,
| ФИОФизЛицСрезПоследних.Отчество,
| ОтветственныеЛицаОрганизацийСрезПоследних.ОтветственноеЛицо,
| ОтветственныеЛицаОрганизацийСрезПоследних.ФизическоеЛицо.Пол КАК Пол
|ИЗ
| РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних(&Дата, ОтветственноеЛицо = ЗНАЧЕНИЕ(Перечисление.ОтветственныеЛицаОрганизаций.Руководитель)) КАК ОтветственныеЛицаОрганизацийСрезПоследних
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ФИОФизЛиц.СрезПоследних(&Дата, ) КАК ФИОФизЛицСрезПоследних
| ПО ОтветственныеЛицаОрганизацийСрезПоследних.ФизическоеЛицо = ФИОФизЛицСрезПоследних.ФизЛицо";
Руководство.УстановитьПараметр("Дата", СсылкаНаОбъект.Дата);
Руководство.УстановитьПараметр("ОтветственноеЛицо", Перечисления.ОтветственныеЛицаОрганизаций.Руководитель);
Руководство.УстановитьПараметр("Организация", СсылкаНаОбъект.Организация);

РуководствоДанные = Руководство.Выполнить().Выбрать();
// и т.д.....
Name1
24.08.2011 11:20Ответ № 2
Спасибо, но я использую СКД. Где там это надо прописывть?
E_Migachev
24.08.2011 11:39Ответ № 3
(2) в самом запросе
Код 1C v 8.х
 РегистрСведений.СостояниеБригад.СрезПоследних(&Дата, ) КАК СостояниеБригадСрезПоследних    
Name1
24.08.2011 14:19Ответ № 4
Поняла, что нада обращаться не к виртуальной таблице. Теперь запрос такой:
ВЫБРАТЬ
СостояниеБригад.Период,
СостояниеБригад.Машина,
СостояниеБригад.СостояниеЗаказа,
СостояниеБригад.Регистратор
ИЗ
РегистрСведений.СостояниеБригад КАК СостояниеБригад
ГДЕ
СостояниеБригад.Период МЕЖДУ &НачалоПериода И &КонецПериода

В Схеме компоновки данных на закладке "Параметры" указываю значения для параметров:
НачалоПериода - НачалоДня(ТекущаяДата()), КонецПериода - ТекущаяДата(). При формировании отчета: "Ошибка исполнения отчета по причине:
Ошибка инициализации по причине: Функция не найдена "НачалоДня".
Почему?
Name1
24.08.2011 15:34Ответ № 5
То есть, если коротко: Почему может не работать выражение в параметре: НачалоДня(ТекущаяДата())? Пишет, что не найдена функция "НачалоДня", но такая функция есть.
Name1
24.08.2011 15:53Ответ № 6
Извините за беспокойство, сделала через настройки отчета (в СКД).
E_Migachev
24.08.2011 15:56Ответ № 7
(5) Name1, посмотри по СКД статьи здесь, там много интересного, и есть все ответы на твои вопросы
Mokey
05.09.2011 11:17Ответ № 8
(5) Name1, НачалоПериода(ТекущаяДата(), ДЕНЬ). В СКД так параметры дат описываются
Подсказка: Для выделения Кода используйте (в редакторе).
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.