При объединении нескольких информационных баз в одну или при начале ведения многофирменного учета в конфигурации «1С:Бухгалтерия предприятия 3.0» разработчики и бухгалтеры регулярно сталкиваются с коллизиями нумерации. Чтобы исключить дублирование номеров документов между организациями, базе задают префиксы организаций. Однако после этого в печатных формах счетов-фактур и в книге продаж (а следовательно, и в декларации по НДС) начинают выводиться буквенные префиксы, что вызывает справедливые опасения бухгалтерии перед налоговыми проверками.
Разберем по шагам, почему типовые механизмы программы ведут себя подобным образом, как устроен алгоритм очистки номера на печать и какие способы существуют для решения этой задачи без отключения контроля уникальности.
Проанализируем ситуацию изнутри конфигурации. В «1С:Бухгалтерии предприятия 3.0» на базе Библиотеки стандартных подсистем (БСП) используется стандартизированный формат номеров документов. Полный номер формируется по шаблону: [ПрефиксИБ][ПрефиксОрганизации]-[Номер].
Ключевым элементом здесь является знак-разделитель — дефис (-). При выводе номера на печать, а также при заполнении книги покупок, книги продаж и регламентированной отчетности по НДС вызывается типовая функция общего модуля ПрефиксацияОбъектовКлиентСервер.НомерНаПечать.
Данная функция анализирует строку номера следующим образом:
- (дефис) на строго определенных позициях (как правило, на 3-й или 5-й позиции номера в зависимости от наличия префикса информационной базы).ТР010217), алгоритм не может корректно выделить границы префикса. Вся строка целиком считается значащим номером документа. В результате номер без изменений попадает как в печатную форму, так и в регистры учета НДС.Рассмотрим основной штатный вариант исправления ситуации. Чтобы типовой алгоритм очистки номера сработал корректно, номера счетов-фактур должны содержать префикс организации и дефис.
Вместо слитного номера ТР010217 документу необходимо присвоить номер вида ТР-010217 (или ТР-000010217 с дополнением лидирующими нулями). В таком случае программа автоматически:
ТР- при печати документа.010217.Массовую корректировку номеров уже введенных документов можно выполнить с помощью типовой обработки «Групповое изменение реквизитов» или написав небольшую обработку перенумерации.
Если специфика учета требует сохранить старый слитный формат номеров документов (без использования дефиса), разберем механизм обратной совместимости, заложенный разработчиками 1С при переходе с редакции 2.0 на 3.0.
В справочнике Организации предусмотрен служебный реквизит ПрефиксБП20. На форме элемента справочника он скрыт, однако доступен для изменения:
Организации нужной фирмы.ПрефиксБП20 и укажем в нем двухсимвольный буквенный префикс (например, ТР).При наличии заполненного реквизита ПрефиксБП20 функция НомерНаПечать проверяет начало строки номера на совпадение с этим префиксом и корректно удаляет его даже при отсутствии дефиса.
Выясним причину, по которой префикс может выводиться на печать даже при наличии дефиса. Такое происходит, если префикс был ошибочно зарегистрирован не как префикс организации, а как префикс информационной базы (узла распределенной информационной базы).
Проверим регистр сведений ПрефиксыИнформационныхБаз. В данном регистре хранится признак «Печатать префикс». Если этот флаг установлен для конкретного префикса, система принудительно оставляет буквенную часть номера во всех печатных формах и отчетах. Убедимся, что данный флаг отключен.
Если требуется реализовать нестандартное правило обработки номеров без изменения типовой конфигурации, воспользуемся предусмотренной точкой расширения БСП. В общем модуле ПрефиксацияОбъектовКлиентСерверПереопределяемый находится процедура ПриПолученииНомераНаПечать.
Подключим расширение конфигурации и применим директиву &Вместо или &После:
&После("ПриПолученииНомераНаПечать")
Процедура Расш1_ПриПолученииНомераНаПечать(Номер, Префикс, УдалитьПрефикс, НомерНаПечать)
// Если требуется дополнительно отсечь конкретный префикс вручную:
Если Лев(ВРег(НомерНаПечать), 2) = "ТР" Тогда
НомерНаПечать = Сред(НомерНаПечать, 3);
КонецЕсли;
КонецПроцедуры
Такой подход гарантирует централизованную очистку номера документа как при выводе на печать, так и при формировании регламентированных отчетов, не нарушая типовую поддержку конфигурации.
Рассмотрим, почему отключение контроля уникальности номеров в метаданных является опасной практикой:
Использование стандартного шаблона с дефисом (ТР-010217) либо настройка реквизита ПрефиксБП20 позволяют полностью решить проблему: уникальность номеров внутри базы сохраняется, а в печатные формы и налоговые декларации выгружается чистый исходный номер.