При работе в программах 1С:Комплексная автоматизация 2.4 или 1С:ERP пользователи часто сталкиваются с ситуацией, когда система автоматически добавляет буквенные префиксы в номера кассовых документов. Одним из самых частых вопросов является появление буквы «В» в номерах Приходных кассовых ордеров (ПКО). Разберем подробно, почему это происходит, на что влияет данный префикс и как можно изменить это поведение системы.
Для начала выясним, откуда берется эта буква. В типовых конфигурациях на базе ERP-платформы логика нумерации заложена непосредственно в модулях объектов. Если мы проанализируем процедуру ПриУстановкеНовогоНомера, то увидим алгоритм, который жестко связывает тип хозяйственной операции с префиксом документа.
Рассмотрим пример кода, который отвечает за установку номера в документе ПКО:
Процедура ПриУстановкеНовогоНомера(СтандартнаяОбработка, Префикс)
Префикс = "0";
Если ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПоступлениеДенежныхСредствИзДругойКассы Тогда
Если ТипЗнч(КассаОтправитель) = Тип("СправочникСсылка.Кассы") Тогда
Если ОбщегоНазначения.ЗначениеРеквизитаОбъекта(КассаОтправитель, "КассоваяКнига") = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Касса, "КассоваяКнига") Тогда
Префикс = "В";
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Как мы видим из кода, префикс «В» устанавливается только в том случае, если выполняется операция ПоступлениеДенежныхСредствИзДругойКассы и при этом обе кассы (отправитель и получатель) относятся к одной и той же Кассовой книге. Если же операция имеет другой вид (например, «Поступление оплаты от клиента»), префикс остается стандартным.
Разберем, зачем разработчики 1С внедрили такое разделение. Префикс «В» расшифровывается как «Внутреннее перемещение». Использование отдельной серии номеров для внутренних операций решает несколько важных задач:
Однако такая логика часто вступает в противоречие с желанием пользователей видеть строго сквозную нумерацию без буквенных индексов. Важно понимать, что буква «В» — это часть уникального идентификатора номера в базе данных 1С.
Серьезная проблема возникает при попытке выгрузить платежные документы (например, Платежные поручения, где тоже могут быть свои префиксы, например, «П») во внешние системы банков. Банковские системы часто имеют жесткие ограничения:
Если в номере присутствует БН00-В00001, банк выдаст ошибку. Проанализируем, как это решается в типовом функционале. В обработке «Обмен с банком» (или при использовании DirectBank) обычно предусмотрены механизмы очистки номера. При выгрузке система должна автоматически «отрезать» префиксы организации и информационной базы. Если этого не происходит, необходимо проверить настройки правил обмена или использовать современные протоколы прямого взаимодействия, которые умеют очищать номер документа от служебных префиксов 1С.
Рассмотрим несколько способов решения задачи, если префикс «В» категорически мешает работе.
Способ 1. Ручная корректировка и обновление нумерации
Если документов немного, можно попробовать изменить номер вручную, заменив «В» на «0». Однако после этого необходимо выполнить процедуру ОбновитьНумерациюОбъектов(). Выясним нюанс: если в базе уже есть ПКО с таким же номером, но без буквы, возникнет конфликт уникальности. 1С не позволит записать два документа с одинаковыми номерами в пределах одного периода (года).
Способ 2. Использование Расширения конфигурации (Рекомендуется)
Чтобы не снимать базу с поддержки, создадим Расширение. В нем нужно перехватить процедуру ПриУстановкеНовогоНомера для документа ПриходныйКассовыйОрдер. Мы можем использовать аннотацию &Вместо или &После, чтобы принудительно очищать префикс.
Пример кода в расширении:
&Вместо("ПриУстановкеНовогоНомера")
Процедура Расш1_ПриУстановкеНовогоНомера(СтандартнаяОбработка, Префикс)
// Вызываем стандартную логику, если нужно
ПродолжитьВызов(СтандартнаяОбработка, Префикс);
// Принудительно сбрасываем буквенный префикс внутреннего перемещения
Если Найти(Префикс, "В") > 0 Тогда
Префикс = СтрЗаменить(Префикс, "В", "0");
КонецЕсли;
КонецПроцедуры
Способ 3. Изменение настроек в Банк-Клиенте
Если проблема только в выгрузке, проанализируем настройки программы в разделе Казначейство -> Сервис -> Выгрузка платежей в банк. В настройках конкретного банковского счета или в параметрах самой обработки выгрузки часто присутствует флаг «Удалять префикс организации». Убедитесь, что он включен. Это позволит оставить «красивую» нумерацию в 1С для бухгалтера, но отправлять в банк только цифровой номер.
Перед тем как внедрять изменения, проанализируем возможные последствия. Если мы уберем префикс «В», то:
Таким образом, мы выяснили, что префикс «В» — это осознанное решение разработчиков 1С для разделения потоков денежных средств. Если он мешает только при взаимодействии с банком, лучше корректировать правила выгрузки. Если же цель — единообразие в кассовой книге, наиболее правильным техническим решением будет использование расширения конфигурации.