Работа с устаревающими платформами, такими как 1С:Предприятие 7.7, часто преподносит сюрпризы, особенно в периоды масштабных законодательных изменений. В начале 2020 года многие бухгалтеры и технические специалисты столкнулись с целой серией проблем в регламентированной отчетности по страховым взносам (РСВ). Рассмотрим подробнее, как решить основные технические сложности, возникающие в версиях 20q1005 и 20q1006.
Первая проблема, с которой столкнулись пользователи в релизе 20q1005, — это полное отсутствие функционала автоматического заполнения в определенных разделах. Разберем причину: это была программная ошибка в коде внешнего отчета, допущенная разработчиками при экстренном выпуске обновления.
Решение: Единственным надежным способом восстановить кнопку является обновление комплекта отчетности до версии 20q1006 или выше. Если после установки обновления кнопка всё еще не появилась, выполним следующие шаги:
7.70.292 или актуальнее).20q1006, а не в старую папку 20q1005.Даже после перехода на версию 20q1006 пользователи часто сталкиваются с ошибкой при заполнении Приложения 3 к Разделу 1. Программа выдает сообщение о несоответствии КПП, даже если визуально данные верны. Проанализируем ситуацию: это происходит из-за жесткого и не совсем корректного алгоритма сравнения строковых значений в модуле отчета.
Рассмотрим, как исправить это программно. Нам потребуется внести изменения в файл внешнего отчета rsv2001.ert, который находится в папке с отчетностью (путь ExtForms\RP20Q1.GRP или аналогичный). Посмотрим на пример исправления кода:
Найдем строку (ориентировочно №3450), где происходит проверка КПП. Для обхода ошибки можно изменить строгое равенство на нестрогое или добавить функции удаления пробелов.
// Фрагмент кода в rsv2001.ert
// Было (примерная логика):
Если КПП_Отчета <> КПП_Файла Тогда
Сообщить("КПП отчета " + КПП_Отчета + " не совпадает с КПП в файле обмена");
КонецЕсли;
// Рекомендуемое исправление с использованием СокрЛП:
Если СокрЛП(КПП_Отчета) <> СокрЛП(КПП_Файла) Тогда
// Если ошибка сохраняется из-за особенностей кода,
// опытные пользователи меняют условие на:
Если СтрДлина(СокрЛП(КПП_Отчета)) < СтрДлина(СокрЛП(КПП_Файла)) Тогда
// дополнительная логика
КонецЕсли;
КонецЕсли;
Чаще всего достаточно заменить оператор = на >= в условиях проверки, чтобы программа игнорировала пустые значения КПП, которые могут передаваться в структуру файла обмена.
Выясним причину странного поведения программы, когда удаление данных в одном приложении (например, Приложении 2) внезапно «лечит» ошибки в другом (Приложении 3). В системе 1С 7.7 данные регламентированных отчетов сохраняются в специализированных файлах с расширением .rvs.
Когда вы переходите с одной версии отчетности на другую и пытаетесь перезаполнить отчет, созданный ранее, может возникнуть конфликт объектов. В базе данных сохраняются ссылки на старые версии разделов, которые «невидимы» в обычном интерфейсе, но учитываются при финальной сборке файла выгрузки или печатной формы.
Разберем по шагам, как очистить эти «фантомные» записи:
20q1006.Посмотрим на структуру хранения данных, чтобы понимать, где искать концы при возникновении критических ошибок. Все файлы отчетов физически располагаются в каталоге базы данных по следующему пути:
...\ExtForms\XXXXXXXX.YY\, где XXXXXXXX — это ИНН организации, а YY — порядковый номер (например, 01).
Внутри этой папки создаются подкаталоги по кодам КНД и годам. Конкретные данные сохраняются в файлах вида ДДММNNNN.rvs. Если вы хотите вручную проверить версию формы, зашитую в файле, его можно открыть любым текстовым редактором. Ищите строку, похожую на эту:
{{"S","0","0","0","0","0","01.01.2020"},"ВерсияФормы"}
Важный момент: Если вы столкнулись с тем, что Тестер (программа налоговой службы) не находит ошибок в сформированном файле, а сама 1С выдает предупреждения при печати — скорее всего, вы столкнулись именно с проблемой «мусорных» данных в .rvs файлах. В этом случае печатная форма может формироваться корректно, и такой отчет можно сдавать, несмотря на предупреждения системы.
Подводя итог нашему анализу, дадим несколько практических советов для работы с отчетностью в 1С 7.7:
ERT-файлов или массовым удалением сохраненных данных.Тестер, CheckXML), так как встроенные механизмы проверки в 7.7 могут содержать устаревшие алгоритмы.Совместное использование актуальных релизов отчетности и ручной очистки кэшированных данных позволяет успешно сдавать отчеты даже на такой почтенной платформе, как 1С 7.7.