С введением новых правил заполнения счетов-фактур согласно Постановлению Правительства РФ №1137 (в редакции №534 от 01.07.2021), многие пользователи платформы 1С 7.7 «Торговля и Склад» столкнулись с техническими сложностями. Самая распространенная проблема — возникновение ошибок при попытке вывести документ на печать, а также вопросы, связанные с «пропавшими» колонками для прослеживаемых товаров. В этой статье мы подробно разберем, как устранить ошибку ДатаДокВходящий и правильно настроить отображение новой формы.
Проанализируем природу данной ошибки. В системе 1С:Предприятие 7.7 существует несколько типовых конфигураций, самыми популярными из которых являются «Бухгалтерский учет» (БП) и «Торговля и Склад» (ТиС). Структура документов в них различается. В конфигурации «Бухгалтерский учет» в документе СчетФактураВыданный присутствует реквизит ДатаДокВходящий, который используется для учета входящих номеров и дат. Однако в конфигурации «Торговля и Склад» такого реквизита в стандартной структуре документа нет.
Когда мы пытаемся использовать внешнюю печатную форму (файл с расширением .ert), которая была написана универсально или заимствована из «Бухгалтерии», программный код формы обращается к объекту Документ.ДатаДокВходящий. Поскольку в ТиС этого поля не существует, система выдает критическую ошибку и прекращает формирование печатного листа.
Выясним причину, по которой 1С продолжает использовать ошибочную форму, даже если конфигурация была обновлена. В последних релизах 1С 7.7 (например, начиная с 7.70.1004 для ТиС) разработчики уже включили обновленную печатную форму непосредственно в саму конфигурацию. Однако архитектура 1С 7.7 работает по принципу приоритета внешних файлов:
ExtForms\PrnForms..efd) и сама форма (.ert), система запускает их.Рассмотрим ситуацию: пользователь скачивает обновление, в инструкции к которому сказано «зарегистрировать внешнюю форму». Но часто в архиве обновлений лежат старые или недоработанные файлы, в то время как внутри обновленного .md файла уже находится корректная рабочая версия. Таким образом, регистрируя внешнюю форму SF1137.ert, вы собственноручно блокируете работу правильной встроенной формы.
Для решения проблемы нам необходимо «очистить» систему от некорректных внешних обработок. Выполним следующие действия:
каталог_базы\ExtForms\PrnForms.SF1137.ert и SF1137.efd.После выполнения этих действий система автоматически начнет использовать встроенную форму из последнего обновления, где ошибка ДатаДокВходящий исправлена, а алгоритмы адаптированы именно под «Торговлю и Склад».
Другой частый вопрос пользователей: «Почему в новой форме нет столбцов 12, 12а и 13?». Разберем требования законодательства. Согласно Постановлению №1137 в редакции №534, эти графы предназначены исключительно для операций с товарами, подлежащими прослеживаемости (РНПТ).
Важно понимать алгоритм работы актуальной формы в 1С:
Если вы видите, что форма датирована 2021 годом, но колонок нет — это не ошибка, а правильная работа программного кода, экономящего место на листе в соответствии с правилами заполнения.
Если вы все же решили использовать внешнюю форму и хотите исправить ее самостоятельно, проанализируем фрагмент кода, который обычно вызывает сбой. В модуле формы SF1137.ert нужно заменить прямое обращение к реквизиту на проверку его существования или на использование данных документа-основания.
Пример исправления обращения к входящей дате:
// Вместо ошибочного:
// ПечДатаВх = Докум.ДатаДокВходящий;
// Используем безопасный вариант для ТиС:
Если Метаданные.Документ(Докум.Вид()).РеквизитШапки("ДатаДокВходящий").Выбран() = 1 Тогда
ПечДатаВх = Докум.ДатаДокВходящий;
Иначе
// Для ТиС берем дату самого документа или иную логику
ПечДатаВх = Докум.ДатаДок;
КонецЕсли;
Также обратим внимание на заполнение новой строки 5а (Документ об отгрузке). В 1С 7.7 ТиС этот реквизит формируется динамически. Проверьте, чтобы в коде формирования этой строки использовались функции получения номера и даты первичного документа (например, «Реализация купленного товара»). Если документ-основание не заполнен, строка 5а может остаться пустой, что будет нарушением правил заполнения.
Подводя итог, отметим: в 90% случаев для корректной работы в 1С 7.7 достаточно просто обновить конфигурацию до актуального релиза и удалить старые внешние файлы из папки PrnForms. Это гарантирует использование кода, протестированного разработчиками 1С на соответствие всем нормам Постановления 1137.