Как исправить ошибку «Не задана схема компоновки у типовой операции» в 1С:БГУ 2.0

Программист 1С v8.3 (Управляемые формы) Бухгалтерский учет Финансы и профессиональные услуги
← На главную

При работе в конфигурации 1С:Бухгалтерия государственного учреждения 2.0 (БГУ 2.0) пользователи и технические специалисты часто сталкиваются с загадочной ошибкой: «Не задана схема компоновки у типовой операции». Данная проблема может возникнуть как при использовании стандартных (поставляемых) операций, так и при создании собственных настроек для формирования проводок. Рассмотрим подробно природу этой ошибки и разберем пошаговый алгоритм её устранения.

Выясним причину возникновения ошибки

Для начала проанализируем, как работает механизм типовых операций в БГУ 2.0. В отличие от старых версий программ 1С, где алгоритмы заполнения были жестко прописаны в коде, БГУ 2.0 использует гибкий механизм динамического формирования движений. Когда вы выбираете типовую операцию в документе, система пытается «на лету» построить запрос к данным документа, используя механизм Схемы компоновки данных (СКД).

Если программный код не может собрать этот запрос (схему), он выдает сообщение о том, что схема не задана. Проанализируем основные факторы, которые приводят к «пустоте» в схеме компоновки:

Разберем по шагам процесс диагностики

Рассмотрим алгоритм действий, который поможет нам локализовать проблемный участок в настройках типовой операции. Для этого выполним следующие действия:

Шаг 1. Переход в режим редактирования типовой операции. Нам необходимо открыть справочник ТиповыеОперации, найти ту операцию, на которую ругается система, и зайти в её форму. Обратите внимание на список проводок в нижней части формы.

Шаг 2. Проверка формул в строках проводки. Проанализируем каждую строку. Ошибка может скрываться в любом поле: СчетДебета, СчетКредита, Субконто, Сумма или Содержание. Нам нужно последовательно зайти в каждое поле, где используется формула (обозначается специальной иконкой или текстом выражения).

Шаг 3. Использование встроенного валидатора. В редакторе формул 1С:БГУ предусмотрена кнопка «Проверить формулы». Нажмем её. Однако стоит учитывать, что встроенная проверка не всегда ловит логические ошибки обращения к контексту документа, она проверяет только базовый синтаксис 1С.

Рассмотрим решение проблемы через исправление формул

Как показывает практика, чаще всего проблема решается путем нахождения синтаксической ошибки или удаления неправильно выбранного операнда формулы. Выясним, как правильно работать с операндами, чтобы избежать подобных сбоев.

При редактировании формулы крайне не рекомендуется писать имена реквизитов «по памяти». Вместо этого разберем правильный подход:

  1. В окне редактирования формулы обратим внимание на правую панель, где отображается список доступных полей документа-основания.
  2. Найдем нужный реквизит (например, Объект.СуммаДокумента или Строка.Номенклатура) и дважды кликнем по нему.
  3. Система автоматически подставит корректный путь к данным, что исключит ошибку в имени.

Если вы обнаружили, что в формуле используется обращение к реквизиту через точку от пустого значения, например Объект.Договор.ВидДоговора, а договор в документе не выбран, СКД может выдать ошибку компоновки. В таких случаях проанализируем ситуацию и добавим проверку:


?(ЗначениеЗаполнено(Объект.Договор), Объект.Договор.ВидДоговора, Справочники.ВидыДоговоров.ПустаяСсылка())

Проанализируем специфику «родных» (поставляемых) операций

Иногда ошибка «Не задана схема компоновки» возникает на стандартных операциях, которые поставляются вместе с релизом БГУ. Это может показаться странным, ведь их настраивали разработчики фирмы 1С. Посмотрим, почему это происходит:

Во-первых, это может быть следствием некорректного обновления. Если при обновлении конфигурации или расширения была нарушена целостность структуры метаданных, типовая операция «теряет» связь с объектами. В этом случае попробуем создать копию этой операции и проверить, сохраняется ли ошибка в копии.

Во-вторых, проблема может быть в кэше метаданных. 1С хранит структуру схемы компоновки в локальном кэше пользователя. Выполним стандартную процедуру очистки кэша или запустим базу с параметром /ClearCache.

Технический нюанс для разработчиков

Если вы занимаетесь глубокой отладкой, полезно понимать, какой именно метод вызывает ошибку. В программном коде БГУ 2.0 за сборку схемы отвечает общий модуль, работающий с объектом СхемаКомпоновкиДанных. Ошибка генерируется в тот момент, когда вызывается метод Инициализировать() процессора компоновки данных, а в качестве параметра передается некорректно сформированный макет.

Посмотрим на пример того, как система пытается интерпретировать ваши настройки в типовой операции. Фактически, ваши формулы превращаются в части секции ВЫБРАТЬ запроса СКД. Если в этой секции оказывается «мусор» или обращение к несуществующему полю, весь механизм формирования проводок перестает функционировать.

Подведем итог: для исправления ошибки необходимо тщательно проверить настройки проводок в типовой операции. Помните, что сообщение системы «Не задана схема компоновки» — это всего лишь следствие того, что в формулах или параметрах проводки содержится ошибка, не позволяющая программе собрать текст внутреннего запроса.

← На главную