Как увеличить длину кода номенклатуры и исправить ошибки автонумерации в 1С

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

В процессе эксплуатации систем на базе 1С:Предприятие пользователи часто сталкиваются с ситуацией, когда стандартной длины кода номенклатуры (обычно это 11 символов) перестает хватать, или автоматическая нумерация начинает работать некорректно. В данной статье мы подробно проанализируем, как правильно увеличить разрядность кода, разберемся в причинах появления странных префиксов и научимся восстанавливать порядок в справочниках.

Способ 1. Изменение длины кода через Конфигуратор

Это классический метод, который требует прав администратора и монопольного доступа к базе данных. Разберем этот процесс по шагам:

  1. Запустим информационную базу в режиме Конфигуратор.
  2. В дереве конфигурации найдем ветку Справочники и выберем объект Номенклатура.
  3. Вызовем контекстное меню правой кнопкой мыши и выберем пункт Открыть форму объекта (или просто дважды кликнем по справочнику).
  4. Перейдем на вкладку Данные.
  5. Найдем поле Длина кода. Здесь мы увидим текущее значение (например, 11). Установим необходимое нам число знаков.

Важный момент: если конфигурация находится на поддержке, перед внесением изменений ее необходимо снять с замка. Однако проанализируем последствия: при последующих обновлениях системы вам придется вручную объединять изменения, так как стандартные настройки будут конфликтовать с вашими. Чтобы избежать этого, в современных версиях платформы 8.3 рекомендуется использовать Расширения конфигурации. Рассмотрим, как это сделать:

  1. Создадим новое расширение (меню Конфигурация — Расширения конфигурации).
  2. Добавим справочник Номенклатура в расширение.
  3. В расширении изменим длину кода. Система будет использовать значение из расширения, а основная конфигурация останется нетронутой, что обеспечит легкое обновление.

Способ 2. Решение проблемы с «забитой» нумерацией и буквами

Иногда пользователи замечают, что вместо цифр в коде начинают появляться странные наборы букв, например, «олонк». Проанализируем ситуацию: 1С воспринимает код как строку. Когда система генерирует новый номер, она ищет строку с максимальным значением и прибавляет к последнему символу единицу согласно таблице Unicode.

Если кто-то случайно ввел код, заканчивающийся на букву «и», следующий код автоматически получит букву «к» (как в примере «олони» -> «олонк»). Чтобы исправить это, выполним следующие действия:

  1. Откроем список номенклатуры и выведем колонку Код (через Еще — Изменить форму, если она скрыта).
  2. Отсортируем список по коду в порядке убывания.
  3. Найдем все элементы, коды которых содержат буквы или нарушают цифровую последовательность.
  4. Вручную отредактируем эти коды, вернув им правильный цифровой формат с соблюдением лидирующих нулей.

Способ 3. Работа с префиксами («УТ», префиксы организаций)

Бывает так, что в коде внезапно появляются буквы «УТ» или другие префиксы. Выясним причину их появления. Чаще всего это связано с одним из трех факторов:

Для исправления ситуации проверим настройки параметров учета и настройки синхронизации. Если префикс больше не нужен, его следует удалить в настройках, но уже созданные коды придется перенумеровать.

Способ 4. Массовая перенумерация с помощью стандартных инструментов

Если товаров слишком много, ручная правка не подходит. Воспользуемся универсальной обработкой Универсальный подбор и обработка объектов (доступна на дисках ИТС или в составе типовых инструментов администратора).

Разберем алгоритм работы с обработкой:

  1. Выберем объект поиска — Справочник.Номенклатура.
  2. Настроим отбор (если нужно перенумеровать только определенную группу товаров).
  3. На вкладке Обработки выберем пункт Перенумерация объектов.
  4. Укажем начальный номер и длину кода. Важно, чтобы новая длина соответствовала настройкам в Конфигураторе.
  5. Нажмем Выполнить.

Внимание: изменение кода справочника не влияет на связи в документах, так как 1С внутри системы связывает объекты по уникальному идентификатору (GUID), а не по коду. Однако, если вы печатаете ценники или формы документов, где выводится код, информация в старых распечатках перестанет совпадать с базой.

Влияние на внешние системы и оборудование

Прежде чем увеличивать длину кода, проанализируем смежные области:

Таким образом, увеличение длины кода — это технически несложная процедура, но она требует внимательного подхода к сохранению единообразия данных и проверки интеграций с торговым оборудованием. Рекомендуем сначала выполнить все действия на копии базы данных.

← На главную