Зачем это нужно
Платформа разрешает менять номер в любом документе, а типовые конфигурации это никак не ограничивают. Чем заканчивается ручная правка номеров:
- в базе появляются дубли и пропуски, а «чтобы встало по порядку» номера правят снова;
- один номер, введённый короче остальных, ломает автонумерацию всей серии: программа начинает выдавать номера от него и через какое-то время упирается в ошибку «Значение поля "Номер" не уникально» (механизм подробно разобран в статье «Значение поля Номер не уникально»: как один номер без нулей ломает автонумерацию в 1С);
- номер на печати перестаёт совпадать с тем, что уже ушло контрагенту и попало в книгу продаж.
С кодами справочников то же самое: код номенклатуры или контрагента часто используется в обменах и выгрузках, и после ручной правки сопоставление по коду перестаёт находить объект.
Штатная «Дата запрета изменения» эту задачу не решает: она закрывает период целиком и только после того, как он сдан. Расширение действует на любые даты и закрывает только номер и код – остальные реквизиты документа остаются доступными.
Как это работает
В форме. Поле «Номер» документа и «Код» элемента справочника становятся только для просмотра – и у записанного объекта, и у нового (в большинстве форм, подробнее – ниже). Номер нового документа программа присвоит сама при записи.

Поле «Номер» в форме документа не редактируется
При записи. Если номер записанного документа или код элемента всё-таки изменили – внешней обработкой, кодом доработки, в форме, где поле не закрыто, – запись отклоняется:

Номер изменён в обход формы: документ не записывается
Номер документа присваивается автоматически, изменять его запрещено (прежний номер 0000-000603). Изменить номер может пользователь с ролью "Изменение номеров документов вручную" или администратор.
Для справочников действует то же правило, сообщение – про код элемента. В ERP поле номера закрывается так же:

ERP: номер заказа клиента не редактируется
Кому можно менять номера и коды
- Администраторам (полные права) – всегда.
- Пользователям с ролью «Изменение номеров документов вручную» – номера документов.
- Пользователям с ролью «Изменение кодов справочников вручную» – коды справочников.
Роли независимы: можно разрешить менять коды номенклатуры, но не номера документов, и наоборот. Выдаются штатно – через профили групп доступа: добавьте роль в профиль (или создайте отдельный профиль, например «Изменение номеров вручную») и включите пользователя в группу доступа с этим профилем. Отдельного справочника настроек у расширения нет.
Что не ограничивается
- Документы и справочники без автонумерации – например, «Счет-фактура полученный» в ERP (номер вводится по документу поставщика) или «Валюты» (код по классификатору). Расширение смотрит на свойство «Автонумерация» в метаданных, список вести не нужно.
- Новые объекты: в форме поле закрыто, номер присвоит программа.
- Перенумерация программой: при переносе документа в другой год конфигурация очищает номер, и программа присваивает новый – это не считается ручным изменением (как и любая перенумерация, при которой номер сначала очищается).
- Загрузка данных обменом и код конфигурации, выполняемый в привилегированном режиме.
Где поле закрывается в формах
Поле закрывается в формах, которые используют стандартные подключаемые команды БСП, – это подавляющее большинство форм документов. В остальных формах (в основном служебные документы ЭДО, маркировки, запросов в госорганы, документы, которые загружаются автоматически, и многие формы справочников) поле может остаться доступным, но изменённый номер или код не запишется – сработает проверка при записи.
Что показала проверка на демо-базах (формы открывались так же, как у пользователя, – на записанных документах):
| Конфигурация | Документов с автонумерацией | Поле «Номер» закрыто в форме | Без своей формы | Остальные |
|---|---|---|---|---|
| Бухгалтерия предприятия 3.0.122 | 313 | 222 | 52 (устаревшие «Удалить…») | 39 |
| 1С:ERP Управление предприятием 2.6.1.64 | 724 | 606 | 13 | 105 (из них 50 не вводятся вручную) |
Установка
- Сделайте резервную копию базы.
- «Администрирование» (в ERP, КА и УТ – «НСИ и администрирование») → «Печатные формы, отчеты и обработки» → «Расширения» → «Добавить из файла» →
ЗапретИзмененияНомеровИКодов.cfe. - Снимите флажок «Безопасный режим» у расширения. В безопасном режиме платформа не даёт расширению встроиться в формы (поле номера останется доступным), а проверка при записи не видит привилегированный режим и может отклонить служебную перенумерацию конфигурации. Если после установки поле номера у пользователя без роли редактируется – первым делом проверьте этот флажок.
- Перезапустите программу.
- Выдайте роли тем, кому нужно менять номера или коды.
Расширение не добавляет в базу данных и не меняет конфигурацию; удаляется из того же списка.
Технические требования
- Конфигурации на БСП 3.1 с управляемыми формами. Проверено на «Бухгалтерии предприятия» 3.0.122.97 и «1С:ERP Управление предприятием 2» 2.6.1.64; «Комплексная автоматизация 2» и «Управление торговлей 11» построены на той же основе, что и ERP. В других конфигурациях на БСП расширение тоже должно применяться – проверьте на копии базы.
- Платформа 1С:Предприятие 8.3.27 и новее (собрано на 8.3.27, режим совместимости расширения 8.3.17, проверено на 8.5.1).
- Расширение «Адаптация», без данных. Код открыт.
Ограничения
- Пользователи с полными правами не ограничиваются. Если в базе все работают под администратором, расширение ничего не изменит.
- Если номер записанного документа меняет нетиповая доработка не в привилегированном режиме, запись тоже будет отклонена – такой код нужно выполнять в привилегированном режиме или выдать пользователю роль.
- Поле закрывается только в управляемых формах. Проверка при записи работает в любом клиенте.
Проверено
Автотест на копиях обеих демо-баз (все записи – в отменяемых транзакциях):
| Действие | Без роли | С ролью |
|---|---|---|
| Изменить номер записанного документа | отказ с сообщением | записано |
| Изменить код элемента справочника с автонумерацией | отказ с сообщением | записано |
| Записать документ без изменений | записано | записано |
| Перенести документ в следующий год | записано, новый номер | записано, новый номер |
| Изменить номер при загрузке обменом | записано | записано |
| Изменить номер в привилегированном режиме | записано | записано |
| Новый документ | записано | записано |
| Изменить код справочника без автонумерации | записано | записано |
Роли проверены по отдельности: с ролью номеров изменяются номера, но не коды, и наоборот. Под пользователем без полных прав (главный бухгалтер демо-базы БП) поля номера документа и кода номенклатуры закрыты, а изменённый номер не записывается. Администратор меняет номера и коды без ограничений.
Вступайте в нашу телеграмм-группу Инфостарт