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

Отбор в выборке из регистра сведений

Автор varaha, 22 авг 2013, 10:49

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

varaha

У регистра сведений есть ресурс "МояДата" типа "Дата"
Нужно обойти все записи с МояДата=Сегодня:

Отбор=Новый Структура;
Отбор.Вставить("МояДата",ТекущаяДата());
Выборка=РегистрыСведений.МойРегистрСведений.Выбрать(,,Отбор);

Во время выполнения ошибка: "Недопустимое значение параметра (параметр номер '3')".
Что тут не так????

mixqn

Цитата: varaha от 22 авг 2013, 10:49У регистра сведений есть ресурс "МояДата" типа "Дата"
Внимательно читаем синтаксис-помощник, метод Выбрать, РегистрСведенийМенеджер:
ЦитироватьВ качестве полей для отбора могут задаваться измерения или реквизиты, для которых в конфигураторе признак индексирования установлен в значение "Индексировать" или установлен признак "Ведущее".

varaha

Цитата: mixqn от 22 авг 2013, 11:27
Цитата: varaha от 22 авг 2013, 10:49У регистра сведений есть ресурс "МояДата" типа "Дата"
Внимательно читаем синтаксис-помощник, метод Выбрать, РегистрСведенийМенеджер:
ЦитироватьВ качестве полей для отбора могут задаваться измерения или реквизиты, для которых в конфигураторе признак индексирования установлен в значение "Индексировать" или установлен признак "Ведущее".

спасибо за ответ. Читал справку очень внимательно и очень много раз. Провел массу экспериментов. Признак "индексировать" у реквизита установлен! Это и побудило искать помощи на форуме. Глупо застрять на таком простом коде...
Добавлено: 22 авг 2013, 11:43


может с данными типа "дата" что-то не так? может только по измерению работает отбор, а по реквизиту нет? может глюк системы? у меня 1С 8.2.16.362

Besart

РегистрСведенийМенеджер.<Имя регистра сведений> (InformationRegisterManager.<Имя регистра сведений>)
Выбрать (Select)
Вариант синтаксиса: Для периодического регистра
Синтаксис:
Выбрать(<НачалоИнтервала>, <КонецИнтервала>, <Отбор>, <Порядок>)
<Отбор> (необязательный)
Тип: Структура.
Задает поле и значение отбора открываемой выборки. Ключ структуры описывает имя поля, а значение структуры - значение отбора по этому полю. В качестве полей для отбора могут задаваться измерения или реквизиты, для которых в конфигураторе признак индексирования установлен в значение "Индексировать" или установлен признак "Ведущее". Вид сравнения может быть только Равно.
Структура дополнительно может иметь элементы, соответствующие разделителям регистра с уровнем разделения НезависимоИСовместно, в состав которых входит регистр. Если такой элемент структуры задан для используемого в сеансе разделителя, значение для этого элемента должно совпадать со значением разделителя, иначе будет вызвано исключение.
Если параметр не указан, то отбор не используется.
Важно! Структура может содержать только один элемент.

Slin

varaha, Вы в отбор вставляете ресурс, а не реквизит или измерения.
Для отбора по ресурсу используйте запрос.
skype: slin-dev

varaha

Цитата: Besart от 22 авг 2013, 14:35
РегистрСведенийМенеджер.<Имя регистра сведений> (InformationRegisterManager.<Имя регистра сведений>)
Выбрать (Select)
Вариант синтаксиса: Для периодического регистра
Синтаксис:
Выбрать(<НачалоИнтервала>, <КонецИнтервала>, <Отбор>, <Порядок>)
<Отбор> (необязательный)
Тип: Структура.
Задает поле и значение отбора открываемой выборки. Ключ структуры описывает имя поля, а значение структуры - значение отбора по этому полю. В качестве полей для отбора могут задаваться измерения или реквизиты, для которых в конфигураторе признак индексирования установлен в значение "Индексировать" или установлен признак "Ведущее". Вид сравнения может быть только Равно.
Структура дополнительно может иметь элементы, соответствующие разделителям регистра с уровнем разделения НезависимоИСовместно, в состав которых входит регистр. Если такой элемент структуры задан для используемого в сеансе разделителя, значение для этого элемента должно совпадать со значением разделителя, иначе будет вызвано исключение.
Если параметр не указан, то отбор не используется.
Важно! Структура может содержать только один элемент.
Спасибо, но этот текст у меня имеется :D
признак индексирования реквизита установлен, код написан верно, компиляция проходит, а во время исполнения все равно выскакивает ошибка :( 
Возможно она вызвана другой причиной. Не могу понять какой
Добавлено: 22 авг 2013, 14:51


Цитата: Slin от 22 авг 2013, 14:47
varaha, Вы в отбор вставляете ресурс, а не реквизит или измерения.
Для отбора по ресурсу используйте запрос.
Благодарю! Так и знал, что это моя невнимательность из-за ночной работы... :angry:

mixqn

varaha, я же вам специально жирным выделил на что внимание обратить - только измерения и реквизиты, а у вас ресурс!

varaha

Цитата: mixqn от 22 авг 2013, 15:39
varaha, я же вам специально жирным выделил на что внимание обратить - только измерения и реквизиты, а у вас ресурс!
согласен. протупил. извините, за беспокойство. перегрузка :lol:

Kuzzka

Цитата: mixqn от 22 авг 2013, 11:27
Цитата: varaha от 22 авг 2013, 10:49У регистра сведений есть ресурс "МояДата" типа "Дата"
Внимательно читаем синтаксис-помощник, метод Выбрать, РегистрСведенийМенеджер:
ЦитироватьВ качестве полей для отбора могут задаваться измерения или реквизиты, для которых в конфигураторе признак индексирования установлен в значение "Индексировать" или установлен признак "Ведущее".
Хочу заметить одну вещь, что индексация и/или ведущее должно стоять только у реквизита, измерение (тестировалось на непериодическом РС) не нуждается в установке этих признаков.

Теги:

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

Рейтинг@Mail.ru

Поиск