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

В этой статье мы разберем 7 рабочих методов, включая групповые обработки, внешние отчеты, обработки с использованием языка и даже варианты для пользователей без доступа к конфигуратору. Особое внимание уделим нюансам для популярных конфигураций: 1С:Бухгалтерия 8, 1С:Управление торговлей 11 и 1С:ERP 2.5. Вы узнаете, как избежать ошибок при массовом изменении, какие ограничения накладывают типовой функционал и как автоматизировать процесс для регулярных задач.

Прежде чем приступать к изменениям, убедитесь, что у вас есть резервная копия базы данных — это защитит от потери данных при ошибках в обработке. Также проверьте права доступа: для большинства методов потребуются права не ниже «Полные права» или «Администрирование».

📊 Какую конфигурацию 1С вы используете?
1С:Бухгалтерия 8
1С:Управление торговлей 11
1С:ERP 2.5
1С:Зарплата и Управление Персоналом
Другую

1. Стандартная групповая обработка документов

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

Чтобы изменить вид операции для группы документов:

  • 📁 Откройте раздел с нужными документами (например, Продажи → Реализация товаров и услуг в 1С:УТ 11).
  • 🔍 Примените отбор по дате, контрагенту или другим реквизитам, чтобы выделить нужные документы.
  • 📋 Выделите документы (можно использовать Ctrl+A для выбора всех в списке).
  • 🔧 Нажмите Ещё → Групповая обработка (или Действия → Групповое изменение в некоторых конфигурациях).
  • 📝 В открывшемся окне выберите поле Вид операции и укажите новое значение.

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

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

Выполнена резервная копия базы|Права пользователя позволяют редактировать документы|Отбор применён корректно (не захвачены лишние документы)|Проверены зависимости между документами (счета, накладные, платежи)

-->

2. Использование внешних обработок для массового изменения

Если стандартные инструменты не подходят, на помощь приходят внешние обработки. Их можно скачать с портала 1С:ИТС, форумов или написать самостоятельно. Популярные обработки для изменения вида операции:

  • 📄 «Групповое изменение реквизитов документов» (универсальная обработка от 1С).
  • 🔄 «Массовое изменение видов операций» (специализированная для бухгалтерских документов).
  • 📊 «Помощник замены видов операций» (с поддержкой фильтров по дате, контрагенту, сумме).

Как работать с внешней обработкой:

  1. Скачайте файл обработки (обычно с расширением .epf).
  2. В откройте Файл → Открыть и выберите скачанный файл.
  3. В интерфейсе обработки укажите:
    • 📅 Диапазон дат документов.
    • 🏢 Контрагентов или другие фильтры.
    • 🔄 Текущий и новый вид операции.
  • Запустите обработку и дождитесь завершения.
  • Преимущество внешних обработок — гибкость настройки и возможность предварительного просмотра изменений. Например, обработка «Групповое изменение реквизитов» показывает список документов, которые будут изменены, и позволяет исключить отдельные позиции.

    Обработка Поддерживаемые конфигурации Особенности
    Групповое изменение реквизитов 1С:Бухгалтерия, 1С:УТ, 1С:ERP Универсальная, поддерживает большинство документов
    Массовое изменение видов операций 1С:Бухгалтерия 8.3 Специализирована для бухгалтерских операций
    Помощник замены видов операций 1С:УТ 11, 1С:ERP 2.5 Фильтры по сумме, валюте, складу
    ⚠️ Внимание: Некоторые внешние обработки могут некорректно работать с документами, имеющими статусы «Проводён» или «Отменён». Перед запуском проверьте настройки обработки — часто есть опция «Игнорировать проводки» или «Только непроводённые документы».

    3. Программное изменение через конфигуратор (для администраторов)

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

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

    Процедура ИзменитьВидОперации()
    

    // Выбираем документы за последний месяц

    НачалоПериода = НачалоМесяца(ТекущаяДата());

    КонецПериода = КонецМесяца(ТекущаяДата());

    Выборка = Документы.РеализацияТоваровУслуг.Выбрать(

    НачалоПериода, КонецПериода,

    "ВидОперации = Значение(Перечисление.ВидыОперацийРеализации.ПродажаКомиссионера)");

    Пока Выборка.Следующий() Цикл

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

    ДокументОбъект.ВидОперации = Перечисление.ВидыОперацийРеализации.Продажа;

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

    КонецЦикла;

    Сообщить("Обработано документов: " + Документы.РеализацияТоваровУслуг.ПолучитьКоличество(НачалоПериода, КонецПериода));

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

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

    Для запуска скрипта:

    1. Откройте конфигуратор (1С:Предприятие → Конфигуратор).
    2. Перейдите в Отладка → Выполнить код.
    3. Вставьте скрипт и нажмите Выполнить.
    💡

    Перед массовым изменением через скрипт сделайте тестовый запуск на копии базы. Используйте конструкцию Если Ложь Тогда для временного отключения записи документов и проверки логики отбора.

    4. Обмен данными через XML (для интеграций)

    Если документы нужно изменить в рамках обмена данными между базами (например, при миграции из 1С:УТ 10.3 в 1С:ERP 2.5), удобно использовать XML-файлы. Этот метод требует навыков работы с форматами обмена, но позволяет гибко настраивать правила преобразования.

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

    • 📤 Выгрузите документы в XML через Администрирование → Обмен данными.
    • 📝 Откройте файл в текстовом редакторе (например, Notepad++) или специализированном инструменте (XML Marker).
    • 🔧 Найдите теги с видом операции (обычно <ВидОперации>) и замените значения.
    • 📥 Загрузите изменённый файл обратно в базу.
    • Пример фрагмента XML для документа реализации:

      <Документ>
      

      <Вид>РеализацияТоваровУслуг</Вид>

      <ВидОперации>ПродажаКомиссионера</ВидОперации>

      <Дата>2023-10-15</Дата>

      <Номер>РТ-000123</Номер>

      </Документ>

      Этот способ полезен, если нужно изменить вид операции вместе с другими реквизитами (например, одновременно обновить ставку НДС или валюту). Однако он требует аккуратности: ошибка в структуре XML может привести к сбою загрузки.

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

      5. Обработка через «Помощник замены ссылок» (для сложных случаев)

      В конфигурациях 1С:ERP и 1С:УТ 11 есть специализированный инструмент — «Помощник замены ссылок». Он позволяет не только менять виды операций, но и исправлять ошибки в ссылках между объектами. Этот метод полезен, если при изменении вида операции нарушаются связи с другими документами (например, счетами-фактурами).

      Как использовать помощник:

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

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

    Однако у инструмента есть ограничения:

    • ⏳ Работает медленнее, чем прямые SQL-запросы или скрипты.
    • 🔒 Требует монопольного режима работы с базой.
    • 📊 Не поддерживает массовую обработку более 10 000 документов за один запуск.
    • Что делать, если помощник замены ссылок не видит документы?

      Если помощник не находит документы по вашему запросу, проверьте:

      1. Правильность написания вида операции (чувствительно к регистру).

      2. Наличие прав на чтение/изменение документов у текущего пользователя.

      3. Статус документов: помощник может игнорировать помеченные на удаление или архивные записи.

      Если проблема остаётся, попробуйте использовать SQL-запрос (см. следующий раздел).

      6. Прямые SQL-запросы (для опытных пользователей)

      Для крупных баз (100 000+ документов) самый быстрый способ — прямые SQL-запросы к базе данных. Этот метод требует знания структуры таблиц и доступа к SQL Server или PostgreSQL (в зависимости от СУБД).

      Пример запроса для изменения вида операции в документах РеализацияТоваровУслуг (для SQL Server):

      UPDATE [dbo].[Document100]  -- Document100 — типовой идентификатор для реализации в УТ 11
      

      SET [PostingType] = 2 -- 2 — код вида операции "Продажа" (уточните в справочнике)

      WHERE [PostingType] = 3 -- 3 — код вида операции "ПродажаКомиссионера"

      AND [Date] BETWEEN '2023-10-01' AND '2023-10-31'

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

      1. Подключитесь к базе через SQL Server Management Studio или pgAdmin.
      2. Найдите таблицу с документами (имена таблиц зависят от конфигурации; для 1С:УТ 11 реализации обычно хранятся в Document100).
      3. Проверьте коды видов операций в таблице Enum16 (для ВидыОперацийРеализации).
      4. Выполните запрос и проверьте результат.

      Критично: перед выполнением SQL-запроса сделайте резервную копию базы и проверьте запрос на тестовом сервере. Ошибка в запросе может привести к потере данных или нарушению целостности базы.

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

      7. Автоматизация через регламентные задания

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

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

      1. В откройте Администрирование → Регламентные задания.
      2. Нажмите Создать и выберите тип задания Выполнение кода.
      3. В поле «Код» вставьте скрипт для изменения вида операции (аналогичный примеру из раздела 3).
      4. Укажите расписание (например, Ежемесячно, 1-е число в 2:00).
      5. Сохраните и запустите задание в тестовом режиме.

      Преимущества регламентных заданий:

      • ⏰ Автоматическое выполнение в удобное время (например, ночью).
      • 📊 Возможность логирования результатов (количество обработанных документов, ошибки).
      • 🔄 Поддержка уведомлений по email при завершении.

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

      💡

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

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

      При массовом изменении вида операции пользователи часто сталкиваются с типичными проблемами. Вот самые распространённые ошибки и способы их предотвращения:

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

      Ещё одна частая проблема — несовпадение видов операций в разных конфигурациях. Например, при переносе данных из 1С:УТ 10.3 в 1С:ERP 2.5 коды видов операций могут отличаться. В этом случае:

      • 📋 Сверьте справочники ВидыОпераций в обеих базах.
      • 🔧 Настройте правила конвертации в плане обмена.
      • 📊 Используйте отчёт Сравнение видов операций (доступен в 1С:ERP).
      ⚠️ Внимание: Если после массового изменения документ перестал проводиться с ошибкой «Недопустимый вид операции для данного типа документа», проверьте соответствие вида операции и типа документа в конфигураторе (Методы → ОпределитьВидыОпераций).

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

      Можно ли изменить вид операции в проводённых документах?

      Да, но после изменения обязательно перепроведите документы, так как вид операции влияет на бухгалтерские проводки. В некоторых конфигурациях (например, 1С:Бухгалтерия 8.3) для этого есть обработка «Групповое перепроведение документов».

      Как узнать код вида операции для SQL-запроса?

      Коды видов операций хранятся в таблице Enum{XX}, где XX — номер перечисления. Например, для ВидыОперацийРеализации в 1С:УТ 11 это обычно Enum16. Чтобы узнать точный код:

      1. Откройте справочник Виды операций в .
      2. Нажмите Все действия → Открыть список перечислений.
      3. Найдите нужный вид операции и посмотрите его Идентификатор или Значение.
      Что делать, если после изменения вида операции исчезли проводки?

      Это происходит, потому что новый вид операции не совместим с текущими данными документа. Решения:

      • 🔄 Верните старый вид операции и проверьте данные документа (например, наличие обязательных реквизитов для нового вида).
      • 📝 Вручную допишите недостающие реквизиты и перепроведите документ.
      • 🛠 Используйте обработку «Восстановление проводок» (доступна на ИТС).
      Как изменить вид операции только для документов определённого контрагента?

      Используйте фильтр по контрагенту в групповой обработке или добавьте условие в SQL-запрос/скрипт. Пример для скрипта:

      Выборка = Документы.РеализацияТоваровУслуг.Выбрать();
      

      Пока Выборка.Следующий() Цикл

      Если Выборка.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию("ООО Розница") Тогда

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

      ДокументОбъект.ВидОперации = НовыйВидыОпераций.Продажа;

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

      КонецЕсли;

      КонецЦикла;

      Можно ли отменить массовое изменение вида операции?

      Отменить изменение можно, только если:

      • 🔙 У вас есть резервная копия базы до изменений.
      • 📜 Вы вели журнал изменений (включается в настройках учётной политики).
      • 🔄 Вид операции менялся через обработку с функцией Отмена (редко, но встречается в некоторых внешних решениях).

      В остальных случаях придётся вручную возвращать старые значения или восстанавливать базу из бэкапа.