7. Табличная модель прикладного решения
#39

Готовишься к экзамену?

Полнофункциональный тренажер @bot_1cnik_bot с полноценным обучением, режимом экзамена и подробной статистикой.

Перейти в бота

Какие «предопределенные значения» можно прямо указать в тексте запроса 1С (например, через функцию ЗНАЧЕНИЕ()), не передавая их параметрами?

Значения системных перечислений платформы (например, из встроенных системных перечислений).
Неправильно: Такие значения действительно можно задавать в тексте запроса через ЗНАЧЕНИЕ(), но в вопросе требуется выбрать один вариант ответа, который полностью описывает все допустимые виды предопределенных значений. Этот пункт отражает только одну часть возможностей.
Предопределенные элементы прикладных объектов: справочников, перечислений, ПВХ, планов счетов, планов видов расчета (по их предопределенным именам).
Неправильно: Предопределенные данные конфигурации действительно можно получать в запросе через ЗНАЧЕНИЕ(), и это широко применяется в отчетах и обработках. Но этот пункт не включает другие допустимые виды предопределенных значений (например, пустые ссылки и точки маршрута), поэтому он неполный.
Пустые ссылки (значения «по умолчанию» для ссылочных типов) - например, пустая ссылка справочника или документа.
Неправильно: Пустую ссылку действительно можно использовать в запросе (часто для отбора «заполнено/не заполнено») - либо напрямую через ЗНАЧЕНИЕ(...ПустаяСсылка), либо через параметр, которому присвоена ПустаяСсылка() на встроенном языке. Однако этот вариант описывает только один вид предопределенных значений и не является полным ответом.
Значения точек маршрута бизнес-процессов (конкретные точки карты маршрута).
Неправильно: Точки маршрута бизнес-процессов также могут быть представлены в запросе как предопределенные значения через ЗНАЧЕНИЕ() с указанием метаданных бизнес-процесса и точки маршрута. Но в вопросе правильный ответ должен охватывать все перечисленные варианты, а не один из них.
Верны все перечисленные варианты (1-4).
Правильно: В тексте запроса можно описывать разные виды предопределенных значений через ЗНАЧЕНИЕ(): системные перечисления, предопределенные элементы конфигурации, пустые ссылки и точки маршрута бизнес-процессов. Это позволяет не передавать такие значения параметрами, когда они «жестко» заданы в конфигурации или платформе.

Пояснение

В языке запросов 1С есть удобный механизм «встроенных констант» - функция ЗНАЧЕНИЕ(). Она позволяет прямо в тексте запроса получить значение, которое заранее известно платформе/конфигурации и описывается через метаданные. Что именно можно задавать через ЗНАЧЕНИЕ() и как это выглядит: 1) Системные перечисления платформы. - Используют, когда нужно сравнить поле с системным значением (например, состояние объекта, тип операции и т.п.). 2) Предопределенные элементы конфигурации. - Можно обратиться к предопределенному элементу справочника/плана счетов/ПВХ/плана видов расчета/перечисления, если он действительно предопределен в конфигурации. - Пример по смыслу: ЗНАЧЕНИЕ(Справочник.Организации.ОсновнаяОрганизация) или ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Основной). 3) Пустые ссылки. - Пример: ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) - удобно для отборов «где реквизит не заполнен». - На практике часто делают так: в коде задают параметр &ПустаяСсылка = Справочники.Номенклатура.ПустаяСсылка() и используют его в запросе - это читабельнее, но сам факт возможности указать пустую ссылку прямо в тексте запроса сохраняется. 4) Точки маршрута бизнес-процессов. - Пример по смыслу: ЗНАЧЕНИЕ(БизнесПроцесс.Согласование.ТочкаМаршрута.Утверждение) - когда нужно отфильтровать/сгруппировать данные по конкретной точке маршрута. Практический контекст: - ЗНАЧЕНИЕ() особенно полезна в отчетах и универсальных запросах, где хочется избежать «магических строк» и ручного поиска ссылок. - Важно: если в тексте запроса указать предопределенное значение, которого нет в конфигурации (например, неверное имя предопределенного элемента), запрос завершится ошибкой на этапе выполнения. Поэтому используйте только реально существующие предопределенные имена и системные значения. Итог: текст запроса действительно может содержать описание всех перечисленных предопределенных данных - системные перечисления, предопределенные элементы конфигурации, пустые ссылки и точки маршрута бизнес-процессов.