С вступлением в силу Постановления Правительства РФ от 02.04.2021 № 534 форма счета-фактуры претерпела существенные изменения. Одним из наиболее важных нововведений стало появление строки 5а «Документ об отгрузке», в которой необходимо указывать реквизиты первичного документа и порядковые номера строк. Пользователи конфигурации «Бухгалтерия государственного учреждения, редакция 1.0» (БГУ 1.0) столкнулись с проблемой: при печати счета-фактуры на основании документа Акт об оказании услуг строка 5а остается пустой, в то время как для реализации материалов данные заполняются корректно.
В рамках данной статьи мы подробно разберем, почему возникает эта ошибка, как она реализована в программном коде и какими способами можно восстановить корректное заполнение печатной формы.
Давайте разберем ситуацию. В релизе 1.0.68.3 разработчики внедрили новую печатную форму, однако алгоритм сбора данных оказался неполным. Если мы проанализируем работу системы, то заметим, что данные для печати собираются в общем модуле УчетНДС. Проблема носит сугубо технический характер: запрос, который формирует данные для печатной формы, просто не содержит инструкций для работы с документом Акт об оказании услуг.
Рассмотрим структуру функций в модуле УчетНДС, которые отвечают за подготовку данных. Для разных документов-оснований используются разные программные блоки:
Реализация материалов вызывается функция, в которой предусмотрен сбор реквизитов отгрузки.Акт об оказании услуг вызывается функция ДанныеДляПечати_УслугиОказанные, в которой на момент выпуска релиза 1.0.68.3 отсутствовал необходимый запрос к табличной части и связям документов.В результате, когда программа пытается сформировать структуру данных для печати, поле, отвечающее за документ отгрузки, остается неопределенным, и строка 5а в печатной форме не выводится.
Если мы обратимся к конфигуратору, то увидим разницу в реализации. Посмотрим на пример того, как данные собираются для основных средств (где все работает):
// Фрагмент кода для реализации ОС
РезультатЗапроса = СформироватьЗапросДляПечати_ОС(Параметры);
СтруктураДанных = СобратьСтуктуруДанныхДляПечати(ВыборкаШапки, ТаблицаТЧ, Истина, ВыборкаОснований);
В функции же ДанныеДляПечати_УслугиОказанные, которая обслуживает акты, параметр, отвечающий за выборку оснований, попросту не передавался или запрос не содержал пакета данных ВыборкаОснований. Из-за этого механизм формирования строки 5а не получал «пищи» для отображения информации.
Самый правильный и надежный метод решения проблемы — это обновление программы. Разработчики 1С признали данную ошибку (код ошибки 00142981) и оперативно выпустили исправления. Начиная с релиза 1.0.69.2 и выше, алгоритм формирования строки 5а для актов выполненных работ был полностью восстановлен.
Порядок действий:
Акт об оказании услуг и связанного с ним Счет-фактура выданный, чтобы обновились внутренние индексы строк.Если по каким-то причинам вы не можете оперативно обновить всю конфигурацию (например, из-за большого количества доработок), можно воспользоваться механизмом расширений (патчей). Для версии 1.0.68 выпускались специальные исправления, которые добавляли недостающий код в модуль УчетНДС без изменения основной конфигурации.
Проверить наличие доступных патчей можно через меню Сервис — Обслуживание — Обновление программы — Установленные исправления (патчи). Если патч для вашей версии доступен в центре обновлений 1С, система установит его автоматически.
Если необходимо исправить ситуацию «здесь и сейчас», проанализируем, что именно нужно изменить в общем модуле УчетНДС. Нам необходимо модифицировать запрос в функции сбора данных для услуг.
Основные моменты, которые должны быть реализованы в коде:
Важно помнить, что в первых вариантах исправления была замечена еще одна ошибка: вместо реальных номеров позиций программа всегда проставляла цифру «1». Это происходило из-за некорректной группировки в запросе. Убедитесь, что ваш алгоритм учитывает порядковые номера строк из табличной части документа-основания.
Если программиста нет рядом, а документ нужно отправить контрагенту немедленно, рассмотрим административные методы решения:
Универсальный передаточный документ (УПД) вместо счета-фактуры. Зачастую механизмы формирования УПД в переходных релизах работали стабильнее, так как используют иные алгоритмы компоновки макета.Разберем подробнее, что должно быть в строке 5а согласно актуальным требованиям. Там должна быть запись вида: «№ п/п 1-3 от 06.07.2021 № 236», где «1-3» — это номера строк из счета-фактуры, которые относятся к данному акту. Если у вас несколько актов к одному счету-фактуре, они должны перечисляться через точку с запятой.
Если после обновления вы видите в строке 5а всегда только цифру «1» (например, «№ п/п 1 от...»), хотя в документе 10 строк, это означает, что ваш релиз содержит промежуточную ошибку. В этом случае необходимо обновиться до версии 1.0.69.2 или выше, где алгоритм перечисления диапазонов строк был окончательно отлажен.