Как удалить префикс информационной базы и организации в 1С
Содержание
Префикс в номерах документов 1С — это не «мусор в коде», который правят в конфигураторе. В типовых конфигурациях на платформе 8.3 его задают две настройки режима «1С:Предприятие»: префикс информационной базы и префикс организации. Чтобы удалить префикс, их очищают прямо в пользовательском режиме, а конфигуратор нужен только если вы хотите заодно сократить длину самого номера.
Сразу главное: очистка настройки убирает префикс только у новых документов и элементов справочников. Номера уже созданных объектов останутся прежними — их придётся перенумеровывать отдельной обработкой, и делать это стоит далеко не всегда.
Откуда в 1С берётся префикс в номере
Номер документа в типовой конфигурации собирается из нескольких частей: префикс плюс порядковый номер фиксированной длины. Например, в АА-000000012 два первых символа — это префикс, остальное — сам счётчик. Для кодов элементов справочников работает тот же механизм.
Префикс приходит из двух источников:
- 🗄️ Префикс информационной базы — один-два символа, которые 1С добавляет ко всем новым номерам и кодам. Его главная задача — обеспечить уникальность номеров, когда баз несколько и они обмениваются данными (распределённая база РИБ, синхронизация с другой конфигурацией).
- 🏢 Префикс организации — задаётся в карточке организации. Нужен, чтобы при учёте по нескольким фирмам их документы не получали одинаковые номера.
Понять, какой именно префикс вам мешает, можно по самому номеру. Как правило, первыми идут символы префикса организации, затем — префикс информационной базы, и только потом счётчик. Если в номере две буквы, а организация одна, скорее всего работает префикс информационной базы. Если буквы меняются от фирмы к фирме — это префикс организации.
Сам порядковый номер платформа присваивает автоматически при записи документа. Длина номера жёстко задана в конфигураторе в свойствах объекта, и префикс занимает часть этой длины. Поэтому, пока вы не трогаете конфигуратор, после очистки префикса длина поля не изменится — просто первые символы перестанут заполняться, а счётчик продолжится с текущего значения.
Если у вас свой, нетиповой механизм нумерации (обработчик при установке нового номера, собственный нумератор), искать настройку в пользовательском режиме бесполезно — логику задаёт код конфигурации, и смотреть нужно именно его.
Что проверить до удаления префикса
Прежде чем что-то очищать, ответьте на один вопрос: база участвует в обмене данными? Если это узел РИБ или настроена синхронизация с другой базой, менять префикс информационной базы нельзя — именно он разводит номера разных узлов, и после изменения обмен начнёт конфликтовать по идентификаторам.
Второй вопрос — а нужно ли вообще убирать префикс? Он часто стоит не «по ошибке», а выполняет полезную работу. Прогоните свой случай по дереву решений ниже, прежде чем что-то чистить.
Остальное — обычная гигиена перед изменением данных.
Для простой очистки настройки монопольный (однопользовательский) режим не нужен — это делается на работающей базе. Монополия понадобится позже и только в одном случае: если вы решите менять длину номера в конфигураторе.
Как очистить префикс информационной базы
Это основная настройка, из-за которой префикс появляется у всех объектов.
- Откройте раздел
Администрирование → Синхронизация данных(название раздела в вашей конфигурации может немного отличаться). - Найдите поле «Префикс информационной базы».
- Очистите его значение и сохраните форму.
После этого все документы и элементы справочников, созданные с этого момента, пойдут без префикса информационной базы. Ранее введённые объекты сохранят свои старые номера — платформа номера задним числом не пересобирает.
Если поле заблокировано или рядом стоит признак активной синхронизации — значит, база в обмене. Сначала разберитесь с обменом (или вовсе откажитесь от затеи), иначе получите расхождение номеров между узлами.
Как убрать префикс организации
Второй источник — префикс в карточке организации. Он встречается, когда в базе ведётся учёт по нескольким фирмам.
- Откройте список организаций (раздел
Главное, пункт «Организации»). - Зайдите в карточку нужной организации.
- Найдите поле «Префикс» и очистите его.
- Повторите для каждой организации, у которой префикс нужно убрать.
Здесь легко попасть в ловушку: вы очистили префикс информационной базы, а новые документы всё равно выходят с буквами. Причина — остался незачищенный префикс организации. Проверяйте обе настройки.
Префиксы организаций обычно вводят специально, чтобы номера не пересекались между фирмами. Если вы уберёте их у всех организаций, два документа разных фирм в один день могут получить одинаковый номер. Для бухгалтерии это допустимо (номер уникален в пределах фирмы), но проверьте, что это не сломает ваш внутренний регламент.
Как перенумеровать уже созданные документы
Самый частый вопрос после очистки настроек: а как убрать префикс из старых номеров? Честный ответ практика — в большинстве случаев этого делать не нужно.
Номера проведённых документов уже попали в печатные формы, акты сверки, декларации и, возможно, в ЭДО. Если вы перенумеруете их в базе, бумажные и электронные экземпляры у контрагентов останутся со старыми номерами — появится расхождение, которое придётся объяснять. Поэтому разумная тактика — очистить настройку и жить дальше с чистой нумерацией для новых документов.
Если перенумеровать всё-таки необходимо (например, база только запущена и реальных операций ещё не было), это делают внешней обработкой, которая перебирает документы и перезаписывает поле «Номер». Готовой типовой команды с названием «Удаление префикса» в конфигурации нет — обработку пишут под задачу. Логика такая:
// Запускать ТОЛЬКО на копии базы, затем перенести результат
Выборка = Документы.ПоступлениеТоваровУслуг.Выбрать();
Пока Выборка.Следующий() Цикл
Объект = Выборка.ПолучитьОбъект();
// отрезаем символы префикса; число символов — под вашу длину префикса
Объект.Номер = Сред(Объект.Номер, 3);
Объект.ОбменДанными.Загрузка = Истина; // не пересобирать номер и движения
Объект.Записать();
КонецЦикла;
Ключевая строка — ОбменДанными.Загрузка = Истина. Она говорит платформе записать объект «как есть», не запуская заново бизнес-логику и не переприсваивая номер. Без неё типовой механизм снова подставит префикс при записи.
Что здесь обязательно учесть:
- 🔁 Обработка меняется под каждый тип документа отдельно — один цикл на
ПоступлениеТоваровУслугне тронет реализации и платёжки. Соберите список всех видов документов, где встречается префикс, и пройдите по каждому. - 🔢 После обрезки префикса номера могут совпасть (например,
АА-0001иББ-0001превратятся в0001). Заранее продумайте, не нарушится ли уникальность в пределах периода и организации. - 📊 Изменение только поля «Номер» не трогает движения по регистрам — суммы и остатки останутся на месте. А вот если вы заодно перепроводите документы, следите, чтобы перепроведение не изменило учётные данные.
- 🧪 Прогоняйте только на копии базы. Убедились, что результат корректен, — повторяйте на рабочей базе в то время, когда пользователи не работают.
Отдельный момент — счётчик нумерации. Он хранит последний выданный номер и после перенумерации продолжит выдавать значения с прежней позиции. Если нужно, чтобы новые документы начались с единицы, счётчик придётся сбрасывать отдельно (в типовых конфигурациях для этого есть периодичность нумерации: с началом нового года счётчик обычно обнуляется сам).
Запись с ОбменДанными.Загрузка = Истина отключает все проверки заполнения и проведение. Это мощный, но опасный приём: ошибка в обработке молча запишет некорректные данные. Копия базы перед запуском — не формальность.
Почему нельзя править номера напрямую в SQL
Соблазн «быстро обновить одним UPDATE по таблице» возникает всегда, но для 1С это плохой путь.
Таблицы и поля в базе данных 1С имеют служебные, обфусцированные имена: документы лежат в таблицах вида _DocumentNNN, а номер — в колонке _Number. Сопоставление «объект метаданных → таблица» хранит сама платформа, и напрямую в SQL оно не очевидно.
Прямая запись в SQL в обход платформы:
- не поддерживается фирмой 1С и снимает базу с поддержки при проблемах;
- не проходит через механизмы блокировок и регистрации изменений — в базе с синхронизацией это гарантированно сломает обмен;
- легко рассогласует связанные данные (ссылки, индексы, итоги регистров), а восстановить их штатно уже не получится.
Правило простое: номера и любые данные 1С меняются только средствами самой 1С — обработкой на встроенном языке, как выше. За SQL есть легальная ниша: читать данные для анализа, оценивать размеры таблиц, искать узкие места производительности. Но запись в прикладные таблицы (_Document…, регистры, справочники) оставьте платформе — только она знает, какие сопутствующие структуры нужно обновить вместе с номером.
Сокращение длины номера в конфигураторе
Очистка префикса не укорачивает сам номер: если длина поля была 11 символов, такой она и останется, просто первые позиции не заполнятся. Для большинства задач этого достаточно — визуально номер уже без букв. Но если вам принципиально, чтобы поле стало физически короче, это уже изменение структуры, и его делают в конфигураторе.
- Откройте конфигуратор, снимите конфигурацию с поддержки для редактирования (если она типовая и заблокирована).
- В свойствах нужного документа найдите параметр длины номера и задайте новое значение.
- Обновите конфигурацию базы данных.
Шаг 3 изменяет структуру таблиц, поэтому платформа потребует монопольный доступ. Перед обновлением структуры из базы будут выгнаны все пользователи — планируйте это на нерабочее время и предупредите коллег заранее.
Учитывайте два последствия. Во-первых, для типовой конфигурации снятие с поддержки усложнит будущие обновления от вендора: каждый релиз придётся принимать с учётом вашей правки. Во-вторых, уже сохранённые длинные номера нужно будет привести к новой длине той же обработкой, иначе они продолжат отображаться по-старому. Поэтому изменение длины в конфигураторе оправдано только тогда, когда без него действительно не обойтись.
Типичные ошибки
Ошибки по этой теме чаще всего не в самих шагах, а в последствиях — поэтому собрал их отдельно, без повтора инструкций выше.
| Симптом | Причина | Что делать |
|---|---|---|
| Новые документы всё равно с префиксом | Очистили только одну из двух настроек | Проверьте и префикс ИБ, и префикс организации |
| Префикс вернулся сам | База — узел РИБ, значение восстановилось при обмене | Не менять префикс в узле обмена |
| После перенумерации номера задвоились | Без префикса номера разных фирм/периодов совпали | Вернуть префикс или задать правило уникальности |
| Обмен данными стал выдавать конфликты | Изменён префикс ИБ в синхронизируемой базе | Восстановить префикс из резервной копии |
Отдельно про коды справочников: настройка префикса информационной базы влияет и на них, поэтому после её очистки новые элементы пойдут без букв. Коды уже заведённых элементов при этом не поменяются — логика та же, что и с документами.