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