В процессе эксплуатации программы 1С:Бухгалтерия предприятия 3.0 пользователи и системные администраторы нередко сталкиваются с необходимостью изменить префиксы существующих документов или кодов справочников. Это может быть связано с реорганизацией компании, разделением баз данных, изменением учетной политики или перенастройкой обменов данными. Выполнение такой задачи вручную для тысяч документов физически невозможно.
В данной статье мы подробно разберем, как реализовать массовую префиксацию объектов штатными средствами программы, детально изучим технический алгоритм и проанализируем серьезные юридические и налоговые риски, которые влечет за собой перенумерация некоторых видов документов.
Для успешного выполнения задачи нам понадобятся права администратора системы и базовое понимание работы со встроенным языком 1С. Если требуется выполнить задачу без написания программного кода, можно воспользоваться готовой обработкой для массовой перенумерации документов с добавлением префиксов.
---
Для изменения номеров документов и кодов справочников мы будем использовать стандартный встроенный инструмент «Групповое изменение реквизитов». Найти его можно, перейдя в раздел меню Администрирование — Обслуживание — Корректировка данных.
По умолчанию платформа 1С защищает ключевые системные поля (такие как «Номер» для документов или «Код» для справочников) от случайного изменения, скрывая их из общего списка доступных реквизитов. Чтобы обойти это ограничение и получить полный доступ к редактированию номеров, выполним следующие шаги:
РеализацияТоваровУслуг).Теперь в списке доступных для изменения полей появятся служебные реквизиты, включая Номер.
Важное предупреждение: Простое указание нового текстового значения в поле «Номер» приведет к тому, что программа попытается записать во ВСЕ выбранные документы один и тот же номер. Это вызовет ошибку уникальности, и система заблокирует проведение операции. Чтобы этого избежать, нам необходимо написать алгоритм, который будет динамически преобразовывать номер каждого конкретного документа.
Для этого в поле «Новое значение» для реквизита «Номер» мы выберем вариант «Выполнить произвольный алгоритм». Рассмотрим пример кода на встроенном языке 1С, который решает эту задачу:
// Пример алгоритма для изменения префикса номеров документов
ДлинаСтарогоПрефикса = 4; // Количество символов старого префикса (например, "ОФ00")
НовыйПрефикс = "МСК";
Для Каждого СтрокаОбъекта Из ОбъектыДляИзменения Цикл
Объект = СтрокаОбъекта.Ссылка.ПолучитьОбъект();
Если Объект <> Неопределено Тогда
ТекущийНомер = Объект.Номер;
// Отсекаем старый префикс и формируем новый номер
БезПрефикса = Сред(ТекущийНомер, ДлинаСтарогоПрефикса + 1);
Объект.Номер = НовыйПрефикс + БезПрефикса;
Попытка
// Записываем документ без проведения, чтобы не нарушать движения
Объект.Записать(РежимЗаписиДокумента.Запись);
Исключение
ЗаписьЖурналаРегистрации("МассоваяПрефиксация",
УровеньЖурналаРегистрации.Ошибка, , ,
"Не удалось записать документ: " + Объект.Ссылка + ". Ошибка: " + ОписаниеОшибки());
КонецПопытки;
КонецЕсли;
КонецЦикла;
Этот код берет каждый выбранный документ, выделяет его уникальную цифровую часть (отбрасывая старый префикс заданной длины), прибавляет в начало новое значение префикса и корректно перезаписывает объект в базе данных.
---
Массовое изменение исторических документов не решает проблему нумерации будущих документов, которые пользователи будут создавать завтра. Чтобы новые документы автоматически получали правильный префикс, проанализируем структуру номера в 1С:Бухгалтерии 3.0.
Стандартный номер формируется по шаблону: [Префикс организации][Префикс информационной базы]-[Номер]. Разберем, как настроить каждую составляющую:
Внимание! Изменение префикса информационной базы в уже работающей системе с настроенным обменом данными — это критическая операция. Если вы измените префикс ИБ «на лету», это нарушит правила сопоставления объектов при синхронизации, что гарантированно приведет к задвоению справочников и документов при следующем сеансе обмена. Для контроля результатов и поиска расхождений в проводках после сеансов обмена применяется программа автоматического сравнения бухгалтерских проводок между базами 1С.
Также помните, что при переходе на новый префикс автонумерация в программе начнется заново с единицы (000001). Первый созданный документ нового периода с новым префиксом вам потребуется отредактировать вручную, задав правильную длину и начальный номер, чтобы система могла корректно продолжить сквозную нумерацию по цепочке.
---
Прежде чем запускать групповую обработку для всей базы данных, необходимо ответить на важнейший вопрос: все ли документы можно префиксировать?
В обсуждениях специалистов часто упоминаются риски изменения нумерации приходных и расходных кассовых ордеров (ПКО и РКО). Разберем эту ситуацию с правовой и практической точек зрения.
Выясним причину жестких требований к кассовой дисциплине:
Поэтому при настройке отбора в обработке «Групповое изменение реквизитов» категорически рекомендуется исключать из обработки документы «Приходный кассовый ордер» и «Расходный кассовый ордер» за закрытые и уже распечатанные периоды.
---
Мы выяснили, что массовое изменение префиксов документов в программе 1С:Бухгалтерия 3.0 — выполнимая техническая задача. Однако она требует взвешенного подхода и аккуратности: