При формировании регламентированной отчетности (в частности, декларации по НДС) или при выполнении регламентных операций закрытия месяца в программе «1С:Бухгалтерия предприятия», редакция 2.0 пользователи могут столкнуться с критической синтаксической ошибкой следующего вида:
ОбщийМодуль.УчетНДСФормированиеОтчетности.Модуль(1886,2)}: Ожидается оператор препроцессора
Разберем подробнее, почему возникает данный сбой и как быстро вернуть базу в рабочее состояние.
Проанализируем ситуацию: начиная с релизов линейки 2.0.66.x разработчики типовых конфигураций внедрили в исходный код программных модулей новые структурные инструкции группировки кода — директивы препроцессора #Область и #КонецОбласти.
Пример фрагмента исходного кода, вызывающего сбой:
#Область СлужебныеПроцедурыИФункции
Процедура ЗаполнитьДанныеДекларации() Экспорт
// Исполняемый код формирования показателей
КонецПроцедуры
#КонецОбласти
Синтаксический анализатор устаревшей технологической платформы 1С:Предприятие 8.2 (например, релиз 8.2.19.90) не поддерживает директивы областей. Платформа видит символ #, но не распознает следующую за ним инструкцию, после чего аварийно прерывает компиляцию модуля. В результате работа с отчетом полностью блокируется.
Единственным правильным и штатным способом устранения ошибки является запуск информационной базы под управлением технологической платформы 1С:Предприятие 8.3 (релиз 8.3.8.1747 или выше). Разберем процесс по шагам.
Перед проведением любых системных операций обязательно создаем копию информационной базы. Для файловых баз достаточно скопировать файл 1Cv8.1CD в надежное место либо выполнить выгрузку через режим «Конфигуратор» (меню Администрирование → Выгрузить информационную базу в файл .dt).
Скачиваем и устанавливаем актуальный стабильный дистрибутив платформы версии 8.3. Удалять предыдущую платформу 8.2 не обязательно — несколько версий могут мирно сосуществовать на одном компьютере.
В окне запуска списка информационных баз выделим нужную базу, нажмем кнопку «Изменить» и на последней странице настроек в поле «Версия 1С:Предприятия» укажем 8.3 (или оставим поле пустым, чтобы запуск происходил на самой свежей установленной платформе).
При первом входе под платформой 8.3 система автоматически выполнит необходимую служебную адаптацию данных. Сама конфигурация «Бухгалтерия предприятия 2.0» продолжит работать в привычном режиме обычного приложения (толстый клиент), поэтому переучиваться или принудительно переходить на редакцию 3.0 не потребуется.
Рассмотрим специфику решения в зависимости от типа используемой поставки:
#Область и #КонецОбласти в указанном общем модуле. Однако этот вариант является исключительно временным костылем, так как последующие обновления типовой конфигурации все равно потребуют платформу 8.3.После запуска программы под платформой 8.3 откроем форму регламентированного отчета по НДС повторно — декларация заполнится в штатном режиме без синтаксических ошибок.