Администрирование · 11 мин
Как в 1С поменять автора документа
Как изменить автора документа в 1С: через перепроведение, обработку, кодом и в запросе. Ограничения прав, риски и проверка результата.
Реквизит «Автор» (в типовых конфигурациях — «Ответственный» или «Автор») заполняется автоматически при создании документа: в него подставляется текущий пользователь. Вручную в форме документа это поле обычно недоступно для редактирования, поэтому сменить автора штатным кликом мыши не получится — нужны обходные пути.
Задача возникает в типичных ситуациях: сотрудник уволился, и его документы нужно передать другому ответственному; пользователь работал под чужой учётной записью; данные загружены обменом, и автором стал технический пользователь. В зависимости от объёма и конфигурации применяют разные методы — от перепроведения под другим пользователем до программной замены.
Важно понимать: в большинстве типовых конфигураций поле «Ответственный» носит информационный характер и не влияет на проводки и отчётность. Однако оно может использоваться в отборах отчётов, механизмах разграничения прав и согласовании, поэтому менять его следует осознанно.
Как устроен механизм автора в 1С
При создании документа платформа и конфигурация фиксируют пользователя, который его ввёл. В типовых решениях (Бухгалтерия предприятия, Управление торговлей, ERP) за это отвечает реквизит «Ответственный» с типом «СправочникСсылка.Пользователи». Он заполняется в обработчике «ОбработкаЗаполнения» значением текущего пользователя.
Кроме реквизита «Ответственный», платформа ведёт технологический журнал и историю изменений (если включено версионирование), где тоже видно, кто создавал и редактировал объект. Эти данные не зависят от реквизита: поменяв «Ответственного», вы не перепишете фактическую историю работы с документом.
Из этого следует практический вывод: смена автора — это изменение одного реквизита, а не «переписывание» документа. Проводки, суммы и движения по регистрам при этом затрагиваться не должны, если делать замену аккуратно.
Способ 1. Перепроведение документа под другим пользователем
Самый простой вариант для одного-двух документов. Во многих типовых конфигурациях при записи документа реквизит «Ответственный» перезаполняется текущим пользователем, если он пустой, либо остаётся прежним. Поведение зависит от конфигурации, поэтому сначала проверьте на копии базы или на несущественном документе.
- 1Войдите в базу под пользователем, который должен стать автором
- 2Откройте нужный документ
- 3Проверьте, заполняется ли поле «Ответственный» при записи — попробуйте очистить его, если поле доступно
- 4Нажмите «Провести» или «Записать»
- 5Откройте документ снова и убедитесь, что автор изменился
Если при записи реквизит не меняется, значит конфигурация заполняет его только при создании. Тогда этот способ не сработает, и нужно переходить к групповой обработке или программному методу.
Учтите: перепроведение документа обновляет движения по регистрам. Если документ старый, входит в закрытый период или после него изменилась методология учёта, перепроведение может изменить данные. Для закрытых периодов этот способ применять не стоит.
Способ 2. Групповое изменение реквизитов
В типовых конфигурациях на БСП (Библиотека стандартных подсистем) есть встроенная обработка «Групповое изменение реквизитов». Она позволяет массово поменять реквизит «Ответственный» у любого набора документов без перепроведения.
Найдите её в разделе «Администрирование» → «Обслуживание» → «Корректировка данных» → «Групповое изменение реквизитов» (точный путь зависит от конфигурации). Обработка доступна пользователям с правами администратора.
- 1Откройте «Групповое изменение реквизитов»
- 2Выберите вид объектов — нужный тип документа
- 3Настройте отбор: например, Ответственный = уволившийся сотрудник, за нужный период
- 4В списке реквизитов отметьте «Ответственный» и укажите новое значение
- 5Нажмите «Изменить реквизиты» и дождитесь окончания
- 6Проверьте несколько документов из выборки вручную
Преимущество метода — документы не перепроводятся, меняется только сам реквизит. Недостаток — обработка записывает объекты штатно, поэтому сработают подписки на события и проверки заполнения. Если в конфигурации есть логика, реагирующая на запись документа, она выполнится.
Перед массовой заменой сделайте резервную копию базы или хотя бы выгрузку затрагиваемых документов. Откатить групповое изменение штатными средствами нельзя — только восстановлением из копии.
Способ 3. Программная замена через код
Когда нужна точечная логика — например, заменить автора только у документов определённого вида за период с дополнительными условиями — используют встроенный язык. Код выполняют через консоль кода (внешнюю обработку) на сервере под полными правами.
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Ссылка ИЗ Документ.РеализацияТоваровУслуг
|ГДЕ Ответственный = &СтарыйАвтор И Дата МЕЖДУ &Нач И &Кон";
Запрос.УстановитьПараметр("СтарыйАвтор", СтарыйПользователь);
Запрос.УстановитьПараметр("Нач", НачалоГода(ТекущаяДата()));
Запрос.УстановитьПараметр("Кон", КонецГода(ТекущаяДата()));
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Объект = Выборка.Ссылка.ПолучитьОбъект();
Объект.Ответственный = НовыйПользователь;
Объект.ОбменДанными.Загрузка = Истина;
Объект.Записать();
КонецЦикла;Ключевой момент — строка Объект.ОбменДанными.Загрузка = Истина. Она отключает проверки заполнения, подписки на события и бизнес-логику записи, поэтому меняется только реквизит, а движения документа не трогаются. Это самый безопасный способ для документов закрытых периодов.
Обратная сторона: режим загрузки обходит все контрольные механизмы, включая проверку дат запрета изменения данных. Ошибка в отборе запроса приведёт к массовой порче данных без предупреждений. Запускайте код сначала с выводом списка найденных документов без записи, сверьте количество, и только потом выполняйте замену.
Ограничения прав и даты запрета изменения
Даже при наличии инструментов замена может не сработать из-за прав. Для групповой обработки нужны права администратора или специальная роль на корректировку данных. Обычному пользователю типовая конфигурация такую возможность не даст.
Отдельное препятствие — дата запрета изменения данных (раздел «Администрирование» → «Поддержка и обслуживание» → «Даты запрета изменения данных»). Если документ попадает в закрытый период, штатная запись будет отклонена. Варианты: временно сдвинуть дату запрета (с согласования ответственных за учёт), выполнить замену в режиме загрузки, который игнорирует проверку, или оставить документ без изменений.
Как выбрать подходящий способ
Как выбрать действие
Если база распределённая (РИБ) или настроена синхронизация с другими системами, учитывайте, что изменённые документы попадут в план обмена и уедут в связанные узлы. Это нормально, но увеличит трафик обмена при массовой замене.
Проверка результата после замены
После любого способа убедитесь, что изменилось именно то, что нужно, и ничего больше. Откройте несколько документов из обработанной выборки и проверьте поле «Ответственный». Затем сформируйте отчёт по движениям одного из документов и сравните с состоянием до замены, если есть возможность.
Как проверить результат
Отображается новый пользователь
Старое значение или пустое поле
Суммы и счета не изменились
Движения пересчитались, суммы отличаются
Соответствуют моменту обработки
Документ не был записан
Итоги совпадают с данными до замены
Обороты изменились — документы были перепроведены
Если после замены обнаружились изменившиеся обороты, значит документы были перепроведены. Восстановите данные из резервной копии или перепроведите остальные документы периода в правильной последовательности, чтобы выровнять последовательность проведения.
Что важно запомнить
Автор документа — это реквизит «Ответственный», который не меняется вручную из формы. Для единичных документов подходит перепроведение под другим пользователем, для массовой замены — обработка «Групповое изменение реквизитов», для закрытых периодов — программная запись в режиме загрузки. Перед массовыми изменениями всегда делайте резервную копию и проверяйте результат на нескольких документах.
Частые вопросы
Почему поле «Ответственный» недоступно для редактирования в форме документа?
В типовых конфигурациях этот реквизит заполняется программно и выводится только для просмотра, чтобы пользователи не подменяли авторство. Это осознанное решение разработчиков конфигурации, а не ошибка. Изменить значение можно только способами, описанными выше, и при наличии соответствующих прав.
Можно ли поменять автора у проведённого документа, не снимая проведение?
Да, через обработку «Групповое изменение реквизитов» или программную запись в режиме ОбменДанными.Загрузка. В обоих случаях документ остаётся проведённым, а его движения не затрагиваются. Режим загрузки предпочтительнее, так как не запускает бизнес-логику записи.
Влияет ли смена автора на отчётность и проводки?
Сам реквизит «Ответственный» на бухгалтерские и налоговые регистры не влияет — проводки формируются из других данных документа. Но он может использоваться в отборах управленческих отчётов и в настройках прав доступа, поэтому после замены проверьте, не изменились ли составы таких отчётов.
Как узнать, кто реально создавал документ, если автора уже поменяли?
Реквизит «Ответственный» после замены показывает нового пользователя, но фактическую историю можно посмотреть в версионировании объектов (если оно включено) или в журнале регистрации: там фиксируются события записи с указанием сеанса и пользователя.
Что делать, если нужно заменить автора у тысяч документов?
Используйте программную обработку с пакетной записью и обязательно вне рабочее время: массовая запись объектов блокирует таблицы и замедляет работу пользователей. Предварительно сделайте копию базы и протестируйте обработку на небольшой выборке.
Можно ли запретить пользователям менять автора документов?
Да. Не давайте рядовым пользователям права на групповое изменение реквизитов и полные права. Дополнительно можно настроить профили групп доступа, ограничив редактирование реквизита «Ответственный» на уровне RLS или ролей конфигурации.