При переходе на новые релизы программных продуктов 1С пользователи и администраторы иногда сталкиваются с досадными техническими ошибками в типовых конфигурациях. Одной из таких проблем стало внезапное исчезновение кнопки «Заполнить» в регламентированном отчете 6-НДФЛ. Эта ситуация наиболее характерна для конфигурации «Комплексная автоматизация 1.1» (релиз 1.1.100.2). В данной статье мы подробно разберем, почему это произошло, проанализируем программный код и найдем способы решения, включая экстренные правки и официальные обновления.
Разберем ситуацию с технической точки зрения. Проблема связана с вступлением в силу приказа ФНС России от 17.01.2018 № ММВ-7-11/18@, который ввел новую редакцию формы 6-НДФЛ. Разработчики включили в конфигурацию саму форму (в дереве объектов это ФормаОтчета2017Кв4), однако забыли программно «зарегистрировать» её в общих механизмах заполнения и расшифровки отчетности.
Проанализируем поведение системы: когда бухгалтер создает отчет за 2018 год, программа выбирает актуальную форму. Но так как в общем модуле управления отчетностью нет упоминания об этой новой форме как о «заполняемой», интерфейс скрывает кнопку «Заполнить». При этом в более старых формах (например, за 2016 год) кнопка остается на месте. Рассмотрим, как исправить эту ошибку программным путем.
Если конфигурация уже снята с поддержки или у вас нет возможности оперативно обновить релиз до исправленного, необходимо внести изменения в общий модуль ЗаполнениеРегламентированнойОтчетности. Нам потребуется отредактировать две ключевые функции.
Шаг 1. Регистрация возможности заполнения
Найдем в модуле ЗаполнениеРегламентированнойОтчетности функцию ВозможностиМодуля. Нам нужно указать системе, что для формы ФормаОтчета2017Кв4 существует алгоритм автозаполнения. Добавим следующий фрагмент кода:
ИначеЕсли СуществуетАлгоритмАвтозаполнения("РегламентированныйОтчет6НДФЛ", "ФормаОтчета2017Кв4", Отчет, Форма) Тогда
ДобавитьСтрокуОписанияОтчета(ТаблицаОписаний, "РегламентированныйОтчет6НДФЛ", "ФормаОтчета2017Кв4", Истина, ОписаниеПоказателей_6НДФЛ_2016Кв1);
Шаг 2. Подключение данных для заполнения
Далее перейдем к функции ВернутьДанныеДляЗаполнения в том же модуле. Здесь мы должны вернуть функции сбора данных для новой формы. Проанализируем код и добавим условие:
ИначеЕсли Отчет = "РегламентированныйОтчет6НДФЛ" И Форма = "ФормаОтчета2017Кв4" Тогда
Возврат ЗначенияПоказателей_6НДФЛ_2016Кв1(ПараметрыОтчета);
После внесения этих правок кнопка «Заполнить» появится в экранной форме отчета, и данные начнут собираться автоматически.
После того как мы восстановили кнопку заполнения, возникнет вторая проблема: при попытке расшифровать суммы в ячейках (двойным кликом) ничего не будет происходить или система выдаст ошибку. Это происходит потому, что расшифровка тоже требует явного указания соответствия форм.
Рассмотрим исправление функции ФормаРасшифровкиРегламентированногоОтчета в общем модуле ЗаполнениеРегламентированнойОтчетности. Нам нужно добавить блок кода, который свяжет новую редакцию формы с объектом расшифровки Расшифровка6НДФЛ.
Найдем блок, где обрабатывается ИДОтчета = "РегламентированныйОтчет6НДФЛ", и дополним его условием для ФормаОтчета2017Кв4:
ИначеЕсли ИДРедакцииОтчета = "ФормаОтчета2017Кв4" Тогда
ИмяОтчетаРасшифровки = "Расшифровка6НДФЛ";
ИмяРасчета = "РасчетПоказателей_6НДФЛ_2016";
ПараметрыОтчета.Вставить("ИмяСКД");
ДополнитьПараметрыОтчета6НДФЛ_2016(ПараметрыОтчета, ИмяПоказателя);
ИмяНабораДанных = ПараметрыОтчета.ИмяСКД;
Этот код позволит использовать существующую систему компоновки данных (СКД) от предыдущей редакции формы, так как структура данных в новой форме 6-НДФЛ концептуально не изменилась настолько, чтобы требовать полной переработки механизмов расшифровки.
Выясним, какие альтернативные пути решения существуют, если вы не хотите вносить изменения в конфигурацию вручную:
.erf). Вы можете скачать исправленную форму 6-НДФЛ и подключить её через справочник ДополнительныеОтчетыИОбработки. Это позволит работать с корректной формой, не снимая конфигурацию с поддержки.Проанализируем еще несколько нюансов, которые помогут избежать ошибок при формировании отчетности:
Подведем итог: отсутствие кнопки «Заполнить» — это чисто программная недоработка типового релиза. Мы рассмотрели детальные инструкции по правке кода, которые позволяют быстро вернуть работоспособность отчету в условиях жестких дедлайнов сдачи налоговой отчетности.