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

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

Почему в 1С нельзя просто так изменить автора?

Поле «Автор» в 1С защищено от прямого редактирования не случайно. Разработчики платформы предусмотрели несколько уровней ограничений:

  • 🔒 Целостность данных: авторство фиксирует ответственного за объект, что критично для аудита и восстановления истории изменений.
  • 🛡️ Права доступа: в некоторых конфигурациях автор может влиять на видимость документа для других пользователей (например, в 1С:Документооборот).
  • ⚙️ Логика работы: в типовом функционале (например, согласование документов) авторство используется для маршрутизации задач.
  • 📜 Регламентированные отчёты: в бухгалтерских и налоговых отчётах автор может быть частью печатной формы (например, в актах выполненных работ).

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

⚠️ Внимание: Изменение автора в документах, которые уже проведены или включены в регламентные операции (например, закрытие месяца), может привести к расхождению итогов. Перед массовым редактированием обязательно сделайте резервную копию базы и проверьте влияние изменений в тестовом режиме.

Способ 1: Изменение автора через «Все функции» (для опытных пользователей)

Этот метод подходит для конфигураций на управляемых формах (например, 1С:Бухгалтерия 8.3 или 1С:ERP) и не требует прав администратора. Он основан на использовании встроенного механизма платформы для доступа к скрытым полям.

Алгоритм действий:

  1. Откройте документ или элемент справочника, в котором нужно изменить автора.
  2. Нажмите Ctrl + Shift + F12 (или перейдите в меню Все функции через правую кнопку мыши на заголовке формы).
  3. В открывшемся окне найдите команду Изменить реквизиты объекта (в некоторых конфигурациях она может называться Редактировать реквизиты).
  4. В списке реквизитов найдите поле Автор (или Пользователь, Создал — название зависит от конфигурации).
  5. Выберите нового пользователя из справочника Пользователи и сохраните изменения.

Этот способ работает не во всех конфигурациях — некоторые разработчики блокируют доступ к реквизитам через «Все функции». Если команда отсутствует или поле неактивно, переходите к следующему методу.

💡

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

Способ 2: Редактирование через консоль запросов (для администраторов)

Для пользователей с правами «Администратор» или «Полные права» доступен более гибкий метод — прямая правка данных через консоль запросов. Этот способ подходит для массового изменения автора в нескольких документах или справочниках.

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

ВЫБРАТЬ

ПоступлениеТоваровУслуг.Ссылка КАК Ссылка

ИЗ

Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг

ГДЕ

ПоступлениеТоваровУслуг.Автор = &ТекущийАвтор

// Обновление автора

ОБНОВИТЬ Документ.ПоступлениеТоваровУслуг КАК Док

УСТАНОВИТЬ

Док.Автор = &НовыйАвтор

ГДЕ

Док.Ссылка В (&СписокСсылок)

Как выполнить запрос:

  • 📌 Откройте Администрирование → Консоль запросов (или Сервис → Запросы в старых версиях).
  • 🔍 Вставьте запрос, заменив &ТекущийАвтор и &НовыйАвтор на нужные значения (можно выбрать из справочника пользователей).
  • 📋 Для массового обновления сначала выполните ВЫБРАТЬ-часть запроса, чтобы убедиться в правильности фильтра.
  • ⚡ Запустите ОБНОВИТЬ-часть запроса и подтвердите изменения.
⚠️ Внимание: Некоторые конфигурации (например, 1С:Управление торговлей) используют триггеры на изменение документов. После прямого обновления через запрос может потребоваться перепроведение документов или запуск регламентных операций для восстановления связей.

Сделать резервную копию базы|Проверить права доступа (нужны полные права)|Составить список документов для изменения|Убедиться, что новые авторы существуют в справочнике пользователей|Проверять документы на проведение после изменения-->

Способ 3: Программное изменение автора (для разработчиков)

Если вам нужно автоматизировать процесс или изменить автора в нестандартных объектах (например, в регистрах сведений), потребуется написать небольшой скрипт на встроенном языке . Этот метод самый универсальный, но требует знаний программирования.

Пример кода для изменения автора документа:

Процедура ИзменитьАвтораДокумента(СсылкаНаДокумент, НовыйАвтор)

ДокументОбъект = СсылкаНаДокумент.ПолучитьОбъект();

ДокументОбъект.Автор = НовыйАвтор;

ДокументОбъект.Записать();

КонецПроцедуры

// Пример вызова:

Ссылка = Документы.ПоступлениеТоваровУслуг.НайтиПоНомеру("ПТУ-000123");

НовыйАвтор = Справочники.Пользователи.НайтиПоНаименованию("Иванов И.И.");

ИзменитьАвтораДокумента(Ссылка, НовыйАвтор);

Особенности программного метода:

  • 🔧 Работает для любых объектов метаданных (документы, справочники, регистры).
  • 📝 Можно интегрировать в обработку для массового изменения.
  • ⚠️ Требует режим «Конфигуратор» или права на выполнение внешних обработок.
  • 🔄 Для проведения документов после изменения автора добавьте строку ДокументОбъект.Провести();.

Для сложных конфигураций (например, 1С:Комплексная автоматизация) может потребоваться дополнительная логика — например, обновление связанных регистров или перерасчёт итогов. В таких случаях лучше использовать транзакции:

НачатьТранзакцию();

Попытка

// Код изменения автора

ЗафиксироватьТранзакцию();

Исключение

ОтменитьТранзакцию();

Сообщить("Ошибка: " + ОписаниеОшибки());

КонецПопытки;

Способ 4: Использование внешних обработок

Если у вас нет доступа к конфигуратору или вы не хотите писать код самостоятельно, можно воспользоваться готовыми внешними обработками. Многие разработчики выкладывают бесплатные инструменты для изменения реквизитов объектов, включая автора.

Примеры популярных обработок:

Название обработки Назначение Совместимость
Универсальный редактор реквизитов Изменение любых реквизитов документов и справочников, включая автора 1С:Предприятие 8.3 (все конфигурации)
Массовое изменение автора Пакетное изменение автора в выбранных документах по фильтру 1С:Бухгалтерия, 1С:УТ, 1С:ERP
Редактор служебных полей Доступ к системным реквизитам (включая «Автор», «Дата создания») Только для управляемых форм

Как использовать внешнюю обработку:

  1. Скачайте файл обработки (.epf или .erf) с проверенного источника (например, Инфостарт или 1С:ИТС).
  2. Откройте базу в режиме 1С:Предприятие и перейдите в Файл → Открыть → Внешняя обработка.
  3. Загрузите файл и следуйте инструкциям на форме обработки (обычно нужно выбрать объект и нового автора).
  4. Сохраните изменения и перезагрузите базу, если это требуется.
⚠️ Внимание: Обработки от сторонних разработчиков могут содержать вредоносный код. Перед использованием проверьте файл на вирусы и запускайте сначала в тестовой базе. Отдавайте предпочтение обработкам с открытым исходным кодом или от сертифицированных партнёров 1С.

Ручной через "Все функции"|Консоль запросов|Программный код|Внешние обработки|Не изменял автора-->

Способ 5: Изменение автора через прямую работу с базой данных (для технических специалистов)

Этот метод подходит только для администраторов сервера 1С или системных администраторов, так как требует прямого доступа к SQL-базе. Он используется в крайних случаях, когда другие способы не работают (например, при повреждении данных или массовом исправлении).

Пример SQL-запроса для Microsoft SQL Server (для конфигураций на управляемых формах):

UPDATE [dbo].[Document123] -- Замените на реальную таблицу документа

SET [AuthorRef] = (SELECT [t_ref] FROM [dbo].[_Reference8] WHERE [t_descr] = 'Иванов И.И.')

WHERE [AuthorRef] = (SELECT [t_ref] FROM [dbo].[_Reference8] WHERE [t_descr] = 'Петров П.П.');

Важные нюансы:

  • 🗝️ Требуются права на изменение таблиц в SQL-базе.
  • 🔍 Имена таблиц и полей зависят от конфигурации (их можно найти в Конфигураторе → Администрирование → Хранилище конфигурации).
  • 🛑 Никогда не изменяйте системные таблицы (например, _1SJourn или _Subsystems) — это может привести к неработоспособности базы.
  • 🔄 После изменений выполните Тестирование и исправление базы в Конфигураторе.

Для PostgreSQL (используется в Linux-версиях 1С) синтаксис будет аналогичным, но с учётом особенностей СУБД. Например:

UPDATE "Document123"

SET "authorref" = (SELECT "t_ref" FROM "_Reference8" WHERE "t_descr" = 'Иванов И.И.')

WHERE "authorref" = (SELECT "t_ref" FROM "_Reference8" WHERE "t_descr" = 'Петров П.П.');

⚠️ Внимание: Прямое изменение данных в SQL обходит все проверки 1С, что может привести к несовпадению итогов, ошибкам проведения или потере ссылочной целостности. Используйте этот метод только если понимаете последствия и имеете резервную копию.
Что будет если изменить автора в проведённом документе?

При изменении автора в уже проведённом документе (например, реализации или платежном поручении) могут возникнуть следующие проблемы:

1. Расхождение итогов — если документ влияет на регистры (например, остатки товаров или денежные средства), его проведение может не обновить связанные данные.

2. Ошибки в отчётах — некоторые отчёты (например, «Анализ субконто») могут учитывать автора как фильтр.

3. Нарушение бизнес-процессов — если документ участвует в согласовании или задачах, изменение автора может сбросить статус процесса.

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

Частые ошибки и как их избежать

При изменении автора в 1С пользователи часто сталкиваются с типовыми проблемами. Рассмотрим самые распространённые из них и способы их решения:

Ошибка Причина Решение
Недостаточно прав для изменения объекта У пользователя нет прав на редактирование реквизита «Автор» Запросите права «Администратор» или используйте учётную запись с полными правами
Поле «Автор» не найдено в объекте В данной конфигурации поле называется иначе (например, «ПользовательСоздал») Проверьте структуру метаданных в Конфигураторе или используйте «Все функции» для поиска правильного реквизита
Документ не проведён после изменения автора Изменение автора не вызвало автоматического проведения Вручную проведите документ или добавьте строку ДокументОбъект.Провести(); в код
Ошибка ссылочной целостности Новый автор не существует в справочнике пользователей Сначала добавьте пользователя в справочник Пользователи (раздел «Администрирование»)

Ещё одна типичная ошибка — попытка изменить автора в архивных документах (например, за закрытые периоды). В некоторых конфигурациях (например, 1С:Бухгалтерия) такие документы блокируются от редактирования. В этом случае:

  • 🔓 Временно снимите флаг «Запрет редактирования» в настройках учётной политики (если это разрешено).
  • 📅 Используйте отмену проведения перед изменением автора.
  • 🔄 Создайте корректировочный документ вместо изменения оригинала.

1. Наличие нового пользователя в справочнике «Пользователи».

2. Права доступа текущего пользователя (нужны права на изменение реквизитов).

3. Статус документов (проведённые документы могут потребовать повторного проведения).

4. Влияние на отчёты и регламентные операции (особенно в бухгалтерских конфигурациях).-->

FAQ: Ответы на частые вопросы

Можно ли изменить автора в 1С:Зарплата и Управление Персоналом?

Да, но с оговорками. В 1С:ЗУП авторство документов (например, приказов или начислений) часто используется в кадровых отчётах. Для изменения:

  1. Используйте метод «Все функции» (если поле доступно).
  2. Для массового изменения напишите запрос с учётом особенностей конфигурации (в ЗУП автор может храниться в таблице DocumentCadres).
  3. После изменения проверьте отчёты «Кадровый учёт» и «Анализ начислений» на корректность данных.

⚠️ Внимательно относитесь к документам, которые уже включены в расчёт зарплаты — изменение автора может повлиять на расчёт среднего заработка или налогов.

Как изменить автора в 1С:Документооборот?

В 1С:Документооборот авторство тесно связано с бизнес-процессами и правами доступа. Здесь стандартные методы (например, «Все функции») могут не сработать. Рекомендации:

  • Используйте внешнюю обработку «Редактор реквизитов» (доступна на Инфостарт).
  • Для изменений через SQL учитывайте, что автор хранится в таблице DocFlow_Documents (поле Creator).
  • После изменения автора может потребоваться перезапуск бизнес-процесса для документа.

🔹 Если документ находится на согласовании, изменение автора может сбросить задачу. В этом случае лучше создать новый документ с правильным автором.

Почему после изменения автора документ исчез из отчётов?

Это типичная проблема, если:

  • В отчёте стоит фильтр по автору (например, «Показать только мои документы»).
  • Документ не был перепроведён после изменения автора (итоги не обновлены).
  • В конфигурации используются дополнительные отборы по пользователю (например, в 1С:ERP для разделения данных по подразделениям).

Решение:

  1. Проверьте настройки отчёта — снимите фильтр по автору.
  2. Перепроведите документ (ДокументОбъект.Провести();).
  3. Обновите итоги в регистрах через Администрирование → Обслуживание → Тестирование и исправление.
Можно ли изменить дату создания документа вместе с автором?

Технически да, но это крайне не рекомендуется. Дата создания документа в 1С связана с:

  • 📅 Хронологией операций (важно для бухгалтерских итогов).
  • 🔗 Ссылочной целостностью (документы могут ссылаться друг на друга по датам).
  • 📊 Отчётами (например, «Оборотно-сальдовая ведомость» учитывает даты документов).

Если всё же нужно изменить дату:

  1. Используйте SQL-запрос (поле обычно называется DateTimeCreation или ДатаСоздания).
  2. После изменения полностью перепроведите все документы за затронутый период.
  3. Проверьте логическую целостность через Администрирование → Обслуживание → Проверка логической целостности.

⚠️ В бухгалтерских базах изменение даты создания документов за закрытые периоды может привести к искажению налоговой отчётности.

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

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

  • 📋 Журнал регистрации (Администрирование → Журнал регистрации) — фиксирует вход пользователей и изменения объектов, но не всегда детализирует редактирование реквизитов.
  • 🔍 Внешние обработки (например, «Журнал изменений документов» с Инфостарта) — позволяют вести историю редактирования.
  • 📊 SQL-запросы — если включен аудит изменений, можно проанализировать таблицы _1SJourn или ConfigLog.
  • 🛠️ Доработка конфигурации — добавьте обработчик события ПередЗаписью для логирования изменений автора.

Пример кода для логирования:

Процедура ПередЗаписью(Отказ, ТекстСообщения)

Если ЗначениеЗаполнено(ЭтотОбъект.Автор) И ЭтотОбъект.Автор <> ЭтотОбъект.ТекущийАвтор Тогда

ЗаписатьЛог(НСтр("ru = 'Изменён автор документа %1 с %2 на %3'",

ЭтотОбъект.Ссылка, ЭтотОбъект.ТекущийАвтор, ЭтотОбъект.Автор));

КонецЕсли;

КонецПроцедуры