К статье
Практический материал

Администрирование · 13 мин

Как редактировать базу данных 1С: способы, инструменты и меры безопасности

Как редактировать базу данных 1С без риска: работа через конфигуратор, групповая обработка, запросы и внешние инструменты. Резервные копии, права и типичные ошибки.

Редактирование базы данных 1С — задача, с которой сталкиваются бухгалтеры, администраторы и разработчики: нужно исправить ошибочный реквизит, массово обновить справочник или изменить записи, недоступные через обычные формы. Способов несколько: от штатного режима «Предприятие» и групповой обработки до конфигуратора и прямых запросов к СУБД. Выбор зависит от объёма изменений, прав доступа и рисков.

Главное правило: база 1С — это не просто таблицы, а связанная структура объектов с контролем ссылочной целостности. Прямое вмешательство в обход логики платформы способно разрушить связи между документами, регистрами и справочниками, и восстановить данные без резервной копии будет невозможно. Поэтому любое редактирование начинается с бэкапа и понимания, какие объекты затрагиваются.

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

Как устроена база 1С и почему нельзя править её «в лоб»

Информационная база 1С хранится либо в файле с расширением 1Cv8.1CD (файловый режим), либо на сервере СУБД — чаще всего Microsoft SQL Server или PostgreSQL (клиент-серверный режим). Но платформа не работает с этими таблицами напрямую: она строит над ними объектную модель — справочники, документы, регистры, планы счетов — и поддерживает связи между ними.

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

Ещё один нюанс — имена таблиц и полей в СУБД генерируются платформой и не совпадают с именами объектов конфигурации. Соответствие хранится в служебных структурах, и разбираться в нём без опыта рискованно. Поэтому прямой доступ к СУБД — крайняя мера, а не рабочий инструмент.

Подготовка: резервная копия, права и монопольный режим

Перед любыми массовыми изменениями сделайте резервную копию. В файловом режиме достаточно выгрузить базу через конфигуратор: меню «Администрирование» → «Выгрузить информационную базу» — получится файл с расширением .dt. В клиент-серверном режиме надёжнее делать копию средствами СУБД, потому что выгрузка .dt большой базы занимает много времени.

Проверьте свои права. Для редактирования справочников и документов достаточно прав пользователя с доступом к соответствующим объектам. Для групповой обработки, консоли запросов и работы в конфигураторе нужны права администратора или роль с расширенными возможностями. Если нужной кнопки нет в интерфейсе — вероятно, её скрыла настройка прав, а не сама программа.

Для пакетных изменений желательно установить монопольный режим, чтобы другие пользователи не создавали и не проводили документы в момент обработки. В файловой базе это делается через конфигуратор или запуск с параметром, в клиент-серверной — через консоль кластера или блокировку сеансов в типовых конфигурациях (раздел «Администрирование» → «Обслуживание» → «Блокировка работы пользователей»).

Порядок подготовки к редактированию
  1. 1
    Сделайте резервную копию: выгрузка .dt или копия средствами СУБД
  2. 2
    Проверьте, что копия восстанавливается на тестовой базе
  3. 3
    Убедитесь, что у учётной записи есть нужные права
  4. 4
    Установите монопольный режим или заблокируйте сеансы пользователей
  5. 5
    Проверьте изменения на одной записи, прежде чем запускать массовую обработку

Редактирование через режим «Предприятие»

Простейший и самый безопасный способ — правка через обычные формы: открыть элемент справочника или документ, изменить поля и записать. Платформа выполнит все проверки, а документ при необходимости перепроведётся с обновлением движений. Этот способ подходит для точечных исправлений.

Менее очевидная возможность — редактирование реквизитов, скрытых в форме. В большинстве типовых конфигураций есть команда «Ещё» → «Изменить форму», позволяющая вывести нужное поле. Для объектов, у которых форма вообще не предусмотрена (некоторые регистры сведений, служебные объекты), используется универсальный подбор или специализированные обработки.

Групповое изменение реквизитов

В типовых конфигурациях на БСП (Библиотека стандартных подсистем) есть встроенная обработка «Групповое изменение реквизитов»: раздел «Администрирование» → «Обслуживание» → «Корректировка данных». Она позволяет выбрать вид объектов, наложить отбор (например, все товары конкретной группы) и установить новое значение реквизита для всей выборки.

Обработка работает через объектную модель, то есть с контролем платформы, и показывает число изменённых элементов. Перед запуском проверьте отбор на маленькой выборке: ошибка в условии приведёт к изменению лишних записей, и отменить операцию штатной кнопкой «Отменить» нельзя — только восстановлением из копии.

Редактирование через конфигуратор

Конфигуратор нужен не столько для правки данных, сколько для изменения структуры: добавления реквизитов, создания ролей, доработки модулей. Но он также даёт доступ к инструментам администрирования: выгрузка и загрузка базы, тестирование и исправление, просмотр активных пользователей.

Чтобы открыть конфигуратор, запустите ярлык 1С, выберите базу и нажмите «Конфигуратор» вместо «1С:Предприятие». Изменения структуры конфигурации применяются через «Обновить конфигурацию базы данных» (клавиша F7) и требуют монопольного доступа. При обновлении платформа выполняет реструктуризацию — перестроение таблиц под новую структуру; на больших базах это занимает заметное время.

Тестирование и исправление

Если база уже содержит ошибки — «битые» ссылки, повреждённые записи, — используйте «Администрирование» → «Тестирование и исправление». Отметьте проверки «Ссылочная целостность» и «Логическая целостность данных», выберите режим «Тестирование и исправление» и обязательно работайте на копии. Опция удаления объектов с битыми ссылками необратима: сначала запустите проверку без исправления и оцените список проблем.

Массовое редактирование обработками и запросами

Когда штатной групповой обработки недостаточно — нужна сложная логика, изменение нескольких полей по условию, работа с табличными частями, — применяют внешние обработки на встроенном языке. Для файлового режима и большинства клиент-серверных баз используются универсальные инструменты: консоль запросов, консоль кода, редакторы объектов. Такие обработки открываются через «Файл» → «Открыть» и выполняются под правами текущего пользователя.

Консоль запросов позволяет сначала выбрать данные запросом и убедиться, что отбор корректен, а затем программно обойти результат и изменить записи. Типовой приём: сначала выполнить только SELECT и проверить количество строк, потом добавить цикл изменения. Это защищает от ошибки «обновил не то».

bsl
Запрос = Новый Запрос("ВЫБРАТЬ Ссылка ИЗ Справочник.Номенклатура ГДЕ Архивный = ЛОЖЬ");
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
    Объект = Выборка.Ссылка.ПолучитьОбъект();
    Объект.Архивный = Истина;
    Объект.Записать();
КонецЦикла;

Ключевое правило при такой работе: изменения выполняйте через ПолучитьОбъект() и Записать(), а не прямыми запросами UPDATE к таблицам. Запись объекта запускает проверки платформы и обновляет связанные структуры. Для очень больших объёмов имеет смысл оборачивать пакеты записей в транзакции, чтобы при сбое не осталась наполовину обработанная выборка.

Типичные ошибки при массовой правке
01
Запуск обработки без предварительного просмотра выборки — изменяются тысячи лишних записей, откат возможен только из бэкапа
02
Изменение реквизитов проведённых документов без перепроведения — движения по регистрам перестают соответствовать данным документа
03
Работа без монопольного режима — пользователи параллельно создают документы, и итоговые данные расходятся
04
Правка на рабочей базе без теста на копии — ошибка логики обработки обнаруживается уже на боевых данных

Прямое редактирование таблиц SQL: когда это оправдано

Прямая правка таблиц в СУБД — самый рискованный способ. Легитимных сценариев немного: база не открывается платформой из-за повреждения отдельной записи, нужно исправить служебное значение, недоступное объектными средствами, или требуется экстренное вмешательство при недоступности сервера 1С. Во всех остальных случаях объектные средства предпочтительнее.

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

Сравнение способов редактирования

Формы в режиме «Предприятие»

Точечные исправления одной-двух записей. Полный контроль платформы, но не подходит для массовых изменений

Групповое изменение реквизитов

Массовая правка простых реквизитов по отбору. Безопасно, но логика изменений ограничена установкой значений

Обработки и консоль кода

Сложная логика, табличные части, регистры. Требует навыков встроенного языка и тестирования на копии

Прямая правка таблиц SQL

Только аварийные случаи. Максимальный риск разрушения целостности, обязательны копия и последующее тестирование

Проверка результата после редактирования

Изменение данных — только половина задачи; вторая половина — убедиться, что ничего не сломано. Начните с прямой проверки: откройте несколько изменённых объектов в режиме «Предприятие» и убедитесь, что реквизиты заполнены корректно, документы открываются и проводятся.

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

Финальный шаг для серьёзных вмешательств — тестирование и исправление в режиме проверки без исправления. Чистый отчёт о ссылочной и логической целостности подтверждает, что база в рабочем состоянии.

Контрольные точки

Как проверить результат

Открытие изменённых объектов
Норма

Формы открываются, значения реквизитов соответствуют задуманному

Тревожный признак

Объект не открывается, появляются ошибки формата или пустые обязательные поля

Движения документов
Норма

Проведённый документ формирует движения, отчёты сходятся с данными документа

Тревожный признак

Отчёты показывают старые данные, суммы в регистрах не совпадают с документом

Тестирование и исправление
Норма

Проверки целостности завершаются без ошибок

Тревожный признак

Найдены битые ссылки или нарушения логической целостности

Ограничения и границы самостоятельной работы

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

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

Итог

Что важно запомнить

Редактируйте базу 1С объектными средствами платформы: формы, групповая обработка, обработки на встроенном языке. Перед изменениями делайте резервную копию и проверяйте её восстановление. Массовые операции сначала тестируйте на малой выборке, после — проверяйте целостность. Прямая правка таблиц SQL — только аварийная мера.

Частые вопросы

Можно ли отменить групповое изменение реквизитов?

Штатной кнопки отмены нет. Откат возможен только восстановлением базы из резервной копии или обратной обработкой, если вы заранее сохранили старые значения. Поэтому перед массовой операцией делайте копию и фиксируйте изменяемые данные.

Как отредактировать запись, если нет кнопки «Изменить»?

Чаще всего причина в правах: у учётной записи нет права на изменение объекта, либо действует дата запрета редактирования. Проверьте права в разделе администрирования и настройку дат запрета изменения данных. Если объект открыт другим пользователем монопольно — дождитесь освобождения или попросите администратора завершить сеанс.

Чем файловая база отличается от серверной с точки зрения редактирования?

Объектные средства (формы, обработки, конфигуратор) работают одинаково. Различия в администрировании: файловую базу можно скопировать как файл, но она уязвимее к повреждениям при сбоях и не поддерживает прямой доступ через SQL. Серверная требует бэкапов средствами СУБД и позволяет (рискованно) править таблицы напрямую.

Можно ли редактировать данные закрытого периода?

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

Что делать, если после правки база перестала открываться?

Не запускайте повторные попытки записи. Восстановите базу из резервной копии, сделанной перед редактированием. Если копии нет — сделайте копию текущего повреждённого состояния как файла и запустите тестирование и исправление на ней либо утилиту chdbfl для файловой базы. Дальнейшие эксперименты проводите только на копии.

Нужен ли монопольный режим для групповой обработки?

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