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

Справочники и Данные · 12 мин

Как поменять автора в 1С: все рабочие способы

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

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

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

Ниже разобраны все рабочие способы: от ручного редактирования одного документа до массовой замены через обработку, а также смена автора комментария в хранилище конфигурации и исправление авторства в журнале регистрации (спойлер: последнее невозможно штатно).

Где хранится автор и почему его нельзя править «в лоб»

В большинстве типовых конфигураций (Бухгалтерия предприятия, Управление торговлей, ERP) у документов есть реквизит «Ответственный» или «Автор», который заполняется текущим пользователем при записи. В справочниках аналогично. Технически это ссылка на элемент справочника «Пользователи» (или «Пользователи» + «Внешние пользователи» в конфигурациях на БСП).

Скрытое поле «Автор» часто не выведено на форму объекта — оно заполняется автоматически и отображается только в дополнительных сведениях или через «Ещё → Изменить форму». Поэтому пользователь, открыв документ, может не найти поле для редактирования и решить, что автор не меняется вовсе. На самом деле нужно либо вывести реквизит на форму, либо использовать обработку.

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

Способ 1. Ручное изменение автора в форме объекта

Подходит, когда нужно исправить один или несколько документов. Откройте документ, затем через меню «Ещё» выберите «Изменить форму» и проверьте, есть ли среди доступных реквизитов «Автор» или «Ответственный». Если поле есть на форме, но недоступно для редактирования, причина — настройки прав или программная блокировка в модуле формы.

Порядок действий простой: откройте документ, найдите поле «Ответственный» (обычно в шапке или на вкладке «Дополнительно»), выберите из списка нужного пользователя и запишите документ без перепроведения (кнопка «Записать», а не «Провести»). Если документ проведён, выбирайте «Записать» — перепроведение не требуется, так как движения не зависят от автора.

Если поле не выводится на форму, а доступа к конфигуратору нет, используйте универсальный подход: откройте документ и через «Ещё → Изменить реквизиты» (в конфигурациях на базе БСП) выберите реквизит «Ответственный» и задайте новое значение. Эта команда доступна пользователям с правами на групповое изменение реквизитов.

Ручная смена автора одного документа
  1. 1
    Откройте документ в режиме редактирования
  2. 2
    Найдите поле «Ответственный» или «Автор» (при необходимости выведите его через «Ещё → Изменить форму»)
  3. 3
    Выберите нового пользователя из справочника
  4. 4
    Нажмите «Записать», а не «Провести»
  5. 5
    Откройте карточку документа заново и убедитесь, что автор обновился

Способ 2. Групповое изменение через обработку

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

Алгоритм: откройте обработку, выберите тип объектов (например, «Документы: Реализация товаров и услуг»), задайте отбор — например, «Ответственный = Иванов» и период. Затем в списке реквизитов отметьте «Ответственный», укажите новое значение и нажмите «Изменить реквизиты». Обработка выполнит запись всех отобранных объектов в транзакции.

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

Способ 3. Программная замена через запрос и код

Для разработчиков и администраторов самый гибкий способ — внешняя обработка с запросом и обходом результата. Он позволяет задать произвольные условия отбора, вести журнал изменений и обрабатывать исключения. Типовой шаблон кода выглядит так: запросом выбираются ссылки на документы с нужным автором, затем каждый объект получается методом ПолучитьОбъект(), реквизиту присваивается новое значение, объект записывается.

Ключевые моменты кода: используйте Записать() без параметра проведения, чтобы не перепроводить документы; оборачивайте запись в попытку/исключение, чтобы один заблокированный объект не прервал всю обработку; при больших объёмах записывайте порциями с обходом результата запроса, а не выгрузкой всей таблицы в память.

bsl
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Реализация.Ссылка КАК Ссылка
|ИЗ
| Документ.РеализацияТоваровУслуг КАК Реализация
|ГДЕ
| Реализация.Ответственный = &СтарыйАвтор";
Запрос.УстановитьПараметр("СтарыйАвтор", СтарыйАвтор);

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
 НачатьТранзакцию();
 Попытка
 ОбъектДок = Выборка.Ссылка.ПолучитьОбъект();
 ОбъектДок.Ответственный = НовыйАвтор;
 ОбъектДок.Записать();
 ЗафиксироватьТранзакцию();
 Исключение
 ОтменитьТранзакцию();
 Сообщить("Ошибка: " + Выборка.Ссылка);
 КонецПопытки;
КонецЦикла;

Если конфигурация доработанная и реквизит называется иначе, уточните имя в конфигураторе: откройте структуру документа и посмотрите точное имя реквизита. Обращение к несуществующему реквизиту вызовет ошибку выполнения. Также помните, что программная запись объекта вызывает все обработчики событий (ПриЗаписи, ОбработкаПроверкиЗаполнения) — если в них есть проверки автора, код может завершиться ошибкой.

Как сменить автора в конфигураторе и хранилище

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

Что можно сделать: администратор хранилища может изменить имя пользователя хранилища (Администрирование → Пользователи в окне хранилища), после чего новые версии будут фиксироваться под обновлённым именем. Старые версии сохранят прежнее имя автора. Если нужно «передать» историю другому разработчику, единственный вариант — пересоздать хранилище с потерей истории, что на практике почти никогда не оправдано.

Авторство в комментариях к объектам конфигурации и в модулях (строки вида «// Иванов 01.03.») — это просто текст. Он меняется обычным редактированием модуля, но массовую замену по всей конфигурации придётся делать через выгрузку конфигурации в файлы и поиск/замену по текстам модулей с последующей загрузкой.

Проверка результата и типичные ошибки

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

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

Типичные ошибки при смене автора
01
Перепроведение документов вместо простой записи — лишняя нагрузка и риск изменить движения при разных курсах или остатках
02
Путаница между реквизитами «Ответственный», «Автор» и «Менеджер» — меняется одно поле, а отчёт смотрит на другое
03
Массовая замена без резервной копии — при ошибочном отборе восстановить данные неоткуда
04
Игнорирование прав доступа: если у нового автора нет прав на документы, он не увидит «свои» объекты в списках
05
Попытка отредактировать журнал регистрации или историю хранилища — это невозможно и приводит к потере времени

Ограничения, права и когда привлекать специалиста

Для ручного и группового изменения достаточно прав на редактирование объектов и доступа к обработке группового изменения реквизитов. Программная замена требует права на запуск внешних обработок и, фактически, полных прав или роли администратора. В базах с настроенным RLS (ограничение доступа на уровне записей) пользователь может физически не видеть часть документов старого автора — тогда обработку должен запускать тот, у кого полный доступ.

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

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

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

Список документов с отбором по новому автору
Норма

Количество документов совпадает с числом изменённых

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

Документов меньше — часть не записалась из-за ошибок или прав

Карточка произвольного документа
Норма

Поле «Ответственный» показывает нового пользователя, документ записан

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

Старое значение или документ не записывается без ошибки

Отчёт по менеджерам/авторам
Норма

Данные перераспределены на нового автора

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

Отчёт не изменился — вероятно, он использует другой реквизит

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

Можно ли поменять автора у проведённого документа?

Да. Смена автора не затрагивает движения по регистрам, поэтому достаточно записать документ без перепроведения. Откройте документ, измените поле «Ответственный» и нажмите «Записать» — проведение останется прежним.

Почему в форме документа нет поля «Автор»?

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

Изменится ли история в журнале регистрации после смены автора?

Нет. Журнал регистрации фиксирует фактические действия пользователей и не редактируется. После смены реквизита «Автор» в журнале появится новая запись о том, кто выполнил изменение, а старые записи останутся без изменений.

Как массово заменить автора у документов уволенного сотрудника?

Используйте обработку «Групповое изменение реквизитов»: отберите документы по условию «Ответственный = уволенный сотрудник», задайте новое значение и выполните замену. Перед этим сделайте резервную копию и проверьте отбор на маленькой выборке.

Можно ли изменить автора версии в хранилище конфигурации?

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

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

Вероятно, в конфигурации есть подписка на событие или код в модуле объекта, который принудительно заполняет реквизит текущим пользователем при записи. Потребуется доработка конфигурации или временное отключение подписки — это задача для разработчика.

Итог

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

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