- В этой теме 1 ответ, 2 участника, последнее обновление 22 часа, 40 минут назад сделано .
Просмотр 1 ветки ответов
Просмотр 1 ветки ответов
- Для ответа в этой теме необходимо авторизоваться.
Программирование и администрирование в 1С
База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как исправить ошибку «Поле не найдено ‘КлючиДоступаКОбъектам'» в запросе 1С?
{(5, 16)}: Поле не найдено «КлючиДоступаКОбъектам»
КОЛИЧЕСТВО(<<?>>КлючиДоступаКОбъектам) КАК Количество
Ошибка «Поле не найдено ‘КлючиДоступаКОбъектам'» в части
|
1 |
КОЛИЧЕСТВО(КлючиДоступаКОбъектам) КАК Количество |
означает, что в функции КОЛИЧЕСТВО() нужно указывать имя поля, а не имя таблицы (региcтра).
В 1С в агрегатных функциях (КОЛИЧЕСТВО, СУММА и т.п.) параметр — это поле, по которому считается количество.
В вашем случае, чтобы посчитать количество записей, нужно указать любое поле из регистра, например, измерение или ресурс.
Например:
|
1 |
КОЛИЧЕСТВО(КлючиДоступаКОбъектам.Объект) КАК Количество |
Или, если хотите посчитать количество строк, можно использовать любой не NULL реквизит.
Исправленный запрос:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|ВЫБРАТЬ | КлючиДоступаКОбъектам.Объект, | КлючиДоступаКОбъектам.КлючДоступаПользователей, | КлючиДоступаКОбъектам.КлючДоступаВнешнихПользователей, | КОЛИЧЕСТВО(КлючиДоступаКОбъектам.Объект) КАК Количество |ИЗ | РегистрСведений.КлючиДоступаКОбъектам КАК КлючиДоступаКОбъектам |СГРУППИРОВАТЬ ПО | КлючиДоступаКОбъектам.Объект, | КлючиДоступаКОбъектам.КлючДоступаПользователей, | КлючиДоступаКОбъектам.КлючДоступаВнешнихПользователей |ИМЕЮЩИЕ | КОЛИЧЕСТВО(КлючиДоступаКОбъектам.Объект) > 1 |
—
Если хотите просто посчитать количество строк, можно использовать:
|
1 |
КОЛИЧЕСТВО(*) КАК Количество |
но в 1С это не всегда работает, лучше указывать конкретное поле.
—
Итого: в функции КОЛИЧЕСТВО() указывайте поле, а не имя регистра.