В процессе работы с конфигурацией «Бухгалтерия государственного учреждения, редакция 1.0» пользователи нередко сталкиваются с ситуацией, когда документ КассовоеПоступление с операцией «Поступление субсидий» отказывается проводиться. Программа выдает критическую ошибку, ссылаясь на модуль объекта. Рассмотрим причины этой проблемы и разберем по шагам способы ее решения.
Ошибка локализуется в строке 86 модуля объекта документа КассовоеПоступление. Текст ошибки выглядит следующим образом:
{Документ.КассовоеПоступление.МодульОбъекта(86)}: Поле объекта не обнаружено (Контрагент)
Если ТипЗначения.СодержитТип(ТипЗнч(СтрокаДокумента[Реквизит.Имя])) Тогда
Проанализируем ситуацию. Данная ошибка возникает в момент работы алгоритма формирования проводок. Проблема кроется в динамическом обращении к реквизитам табличной части документа. Когда программа формирует проводки (особенно по забалансовым счетам или счетам санкционирования, таким как 508.00), она считывает список субконто, назначенных конкретному счету в Плане счетов. Затем программный код пытается найти в табличной части РасшифровкаПлатежа колонку, имя которой совпадает с именем типа субконто.
Если бухгалтер или администратор базы данных самостоятельно добавил на счет 508.00 (или аналогичные счета серии 500) дополнительное субконто Контрагенты, система начинает ожидать, что в каждой строке табличной части документа будет присутствовать соответствующий реквизит. Однако в типовой конфигурации БГУ 1.0 для определенных видов операций этот реквизит может быть вынесен только в шапку документа или вовсе отсутствовать в структуре метаданных табличной части. Отсутствие программного соответствия и вызывает фатальный сбой Поле объекта не обнаружено.
Разберем подробнее, почему так происходит. Счет 508.00 «Исполнение бюджета по доходам» в типовом решении предназначен для учета исполнения плана. Его стандартная настройка подразумевает аналитику по КБК и Классификация доходов. Добавление субконто Контрагенты или Договоры на счета санкционирования является распространенной методологической ошибкой.
Алгоритмы автоматического формирования проводок в 1С жестко прописаны и «ожидают» только стандартную аналитику. Как только мы меняем структуру Плана счетов, типовой механизм проведения документа КассовоеПоступление перестает понимать, откуда ему брать данные для заполнения новых субконто в проводке, особенно если в табличной части документа нет соответствующих полей.
Выясним, какие действия необходимо предпринять для восстановления работоспособности документа. Рассмотрим основной способ и альтернативные варианты.
Контрагенты, которое не предусмотрено типовой поставкой для этого счета — его необходимо удалить. После удаления лишней аналитики документ должен провестись без ошибок.Операция (бухгалтерская).Проанализируем ситуацию с обновлениями. Пользователи часто замечают, что ошибка начинает проявляться после перехода на новые релизы (например, с 1.0.41 на 1.0.42). Это связано с тем, что разработчики постоянно оптимизируют код проведения документов для унификации процессов. В новых версиях механизмы сбора данных из табличных частей могут становиться более «чувствительными» к составу субконто.
Посмотрим на пример: в старом релизе код мог игнорировать отсутствие поля, просто оставляя субконто пустым. В новом релизе обращение идет напрямую к коллекции СтрокаДокумента, и если ключа с именем субконто там нет, выполнение кода прерывается.
Если вы столкнулись с подобной проблемой, выполните следующие шаги для диагностики:
РасшифровкаПлатежа документа КассовоеПоступление. Сравните список имен колонок с именами типов субконто на счетах, используемых в проводках.Важно помнить: любые изменения в типовом Плане счетов (особенно добавление субконто на счета, участвующие в автоматическом проведении документов) должны быть тщательно протестированы. В БГУ 1.0 связь между экранными формами, табличными частями и алгоритмами модулей объектов очень тесная, и любое отклонение от типовой модели учета может привести к неработоспособности ключевых документов казначейского исполнения.