Назначение
В процессе эксплуатации 1С:Документооборот в случае настроенных нескольких типов связи документов, часто возникает ситуация, когда пользователи указывают разные связи документов для одних и тех же видов документов. Например, есть договор и есть первичные учётные документы. В системе настроены типы связи для всех видов документов типа "Документ основание" и "Создало документ", но для связи Договора и первичного учётного документа созданы специальные связи с типами "Основной договор" и "Имеет ПУДы". И пользователи могут связывать одни и те же типы документов разными типами связи, что в результате приводит к некорректному поведению системы.
Данная внешняя обработка решает задачу массовой замены типов связей в регистре сведений «Связи объектов». Она позволяет заменить один тип связи на другой сразу для всех подходящих записей, при этом сохраняя все реквизиты (дату установки, комментарий, порядок, установившего пользователя) и опционально перестраивая обратные связи согласно настройкам справочника «Типы связей».
Возможности
- Множественная замена — в одном запуске можно указать несколько пар «старый → новый» тип связи. Например, за один проход заменить «Основной договор» на «Главный договор» и «Приложение» на «Дополнение».
- Отбор по видам документов — можно ограничить замену только теми связями, где основной объект (и/или связанный объект) имеет определённый вид. Например, заменить связи только для договоров, не затрагивая приказы.
- Предпросмотр результата — до запуска операции на вкладках «Текущие связи» и «Будущие связи» можно увидеть, какие записи будут изменены и какой результат получится.
- Автоматическое перестроение обратных связей — если в справочнике «Типы связей» для нового типа настроен тип обратной связи, система автоматически удалит старую обратную запись и создаст новую с корректным типом.
- Фоновое выполнение через подсистему БСП — при подключении через «Дополнительные отчёты и обработки» замена выполняется в фоновом задании. Пользователь может продолжать работу, а по окончании получит уведомление.
- Журналирование и таблица ошибок — все операции фиксируются в журнале регистрации событиями «Замена типов связей». Если при обработке отдельных записей возникли ошибки (например, конфликт ключа уникальности), они выводятся в таблицу на форме с указанием объекта, типа связи и описания ошибки.
- Проверка конфликтов ключа — если для объекта уже существует запись с «новым» типом связи (конфликт уникальности), такая запись пропускается без ошибки, с отметкой в логе.
Подключение
Вариант 1: Через «Дополнительные отчёты и обработки» (рекомендуется)
Этот способ обеспечивает полный функционал, включая фоновое выполнение.
- Откройте раздел Администрирование → Печатные формы, отчёты и обработки → Дополнительные отчёты и обработки.
- Нажмите Создать → Загрузить из файла.
- Выберите файл
ИзменениеТиповСвязиОбъектов.epf. - На вкладке «Команды» укажите размещение команд. Рекомендуется оставить:
- Раздел: Дополнительные отчёты и обработки
- (опционально) Справочник «Документы предприятия» — для быстрого доступа из карточки документа
- Убедитесь, что статус публикации — «Используется».
- Нажмите Записать и закрыть.
После подключения обработка появится в назначенных разделах интерфейса.
Вариант 2: Открыть как внешний файл
Если подсистема «Дополнительные отчёты и обработки» не используется или нужно быстро проверить работу:
- В программе выберите Файл → Открыть.
- Укажите файл
ИзменениеТиповСвязиОбъектов.epf. - Форма откроется сразу.
Важно: при открытии как внешнего файла фоновое выполнение недоступно. Операция будет выполняться синхронно — интерфейс «замрёт» на время обработки. Для больших объёмов записей рекомендуется подключать через БСП.
Примеры использования
Пример 1. Простая замена типа связи
Задача: компания решила унифицировать терминологию: вместо типа связи «Основной договор» использовать «Главный договор».
Действия:
- Открываем обработку.
- В таблице «Замены типов связей» добавляем строку:
- Тип связи «из»: Основной договор
- Тип связи «на»: Главный договор
- Поля «Вид документа» и «Вид документа связанного объекта» оставляем пустыми — замена будет выполнена для всех связей.
- Переходим на вкладку «Будущие связи» — проверяем, что результат ожидаемый.
- Нажимаем Выполнить изменения → Да.
Результат: все записи регистра «Связи объектов» со старым типом заменены на новый. Дата установки, комментарий, порядок и прочие реквизиты сохранены.
Пример 2. Замена с отбором по видам документов
Задача: заменить тип связи только для договоров и дополнительных соглашений, не затрагивая приказы и входящие письма.
Действия:
- Заполняем таблицу замен (как в Примере 1).
- В поле «Вид документа» выбираем:
- Договор
- Доп. соглашение
- Поле «Вид документа связанного объекта» оставляем пустым.
- На вкладке «Текущие связи» видим, что список ограничен только документами выбранных видов.
- Выполняем замену.
Результат: замена применена выборочно, прочие объекты не затронуты.
Пример 3. Замена с автоматическим перестроением обратных связей
Задача: изменить тип связи «Отправлен в ответ на» → «Является ответом на» и при этом автоматически перестроить обратные связи (чтобы у входящего документа корректно обновилась связь с исходящим).
Действия:
- Заполняем таблицу замен:
- «из»: Отправлен в ответ на
- «на»: Является ответом на
- Устанавливаем флажок «Обрабатывать обратные связи».
- Проверяем на вкладке «Будущие связи», что для каждой прямой связи появилась соответствующая обратная.
- Выполняем замену.
Результат:
- Прямые связи обновлены.
- Для каждой обработанной записи система определила тип обратной связи из настроек справочника «Типы связей»:
- удалила старую обратную запись (если она была)
- создала новую обратную запись с актуальным типом
- Если обратная запись с таким ключом уже существует — дубль не создаётся.
Внимание: перед использованием флажка «Обрабатывать обратные связи» убедитесь, что в справочнике «Типы связей» для нового типа корректно заполнено поле «Тип обратной связи». Иначе обратные связи просто удалятся без создания новых.
Пример 4. Множественная замена
Задача: за один проход обновить сразу несколько типов связей.
Действия:
- В таблице «Замены типов связей» добавляем несколько строк:
- Основной договор → Главный договор
- Приложение → Дополнение
- Скан-копия → Электронный образ
- Указываем отборы (если нужно).
- Проверяем предпросмотр.
- Запускаем.
Результат: система последовательно обрабатывает каждую строку таблицы. Если один и тот же «старый» тип указан дважды — вторая строка игнорируется (защита от дублей).
ОЧЕНЬ ВАЖНО: при использовании на продуктивной базе обязательно протестируйте планируемые изменения в тестовом контуре.
Проверено на следующих конфигурациях и релизах:
- Документооборот КОРП, редакция 3.0, релизы 3.0.20.21
Вступайте в нашу телеграмм-группу Инфостарт