1s GoToLinkedObjects для 1С

Расширение для 1С:Предприятие 8.3, обеспечивающее быстрый переход к сопоставленным объектам и диагностику проблем синхронизации.

1C Configurations

Not specified.

Pricing

Free or price is not specified.

README

Поддержка быстрого перехода к сопоставленным объектам

GitHub release

Semantic Versioning
Conventional Commits

Данный репозиторий содержит расширение конфигураций 1С:Предприятие 8.3
для управляемых форм, предоставляющее общую команду для перехода
к сопоставленным объектам в синхронизируемых информационных базах.

Назначение расширения

Данное расширение конфигурации предназначено для использования в
1С:Бухгалтерия государственного учреждения редакции 2.0
при использовании интеграции с Единой метрологической платформой
(далее - ЕМП).

Команда "Перейти в..."

Расширение добавляет общую команду ППСО_ПерейтиКСопоставленномуОбъекту
(в интерфейсе - "Перейти в ЕМП") в командную панель формы "Синхронизация данных".

Команда перехода к сопоставленному объекту

Команда доступна в формах объектов всех синхронизируемых объектов.

Также данное расширение предназначено для диагностики возможных проблем синхронизации
объектов в информационных базах.

Команда "Сопоставленные объекты"

Расширение поставляет общую команду ППСО_СопоставленныеОбъекты,
выполняющую переход из формы синхронизируемых объектов
в специализированную форму списка регистра СоответствияОбъектовИнформационныхБаз
с отбором по текущему объекту
(доступна администраторам системы).

Команда перехода к форме регистра соответствия объектов

Команда "Предупреждения синхронизации"

Также расширение поставляет общую команду ППСО_ПредупрежденияСинхронизации,
выполняющую переход из формы синхронизируемых объектов
в форму списка регистра РезультатыОбменаДанными с отбором по текущему объекту
(доступна администраторам системы).

Также данное расширение предназначено для диагностики возможных проблем синхронизации
объектов в информационных базах.

Диагностируемые проблемы синхронизации и методы их решения

Дублирование объектов при синхронизации

Описание проблемы

Одной из основных проблем при синхронизации информационных баз является
дублирование объектов при синхронизации.

Одной из причин возникновения проблемы являются множественные записи
в регистре СоответствияОбъектовИнформационныхБаз для одного
объекта текущего узла (информационной базы) и выбранной синхронизируемой
информационной базы (измерение УзелИнформационнойБазы в указанном
регистре). В указанном регистре не должно быть более одной записи
для одного объекта текущей базы (измерение УникальныйИдентификаторИсточника),
синхронизируемой базы (измерение УзелИнформационнойБазы).

В том случае, если описанных выше записей несколько, при синхронизации
изменений из текущей информационной базы в синхронизируемой базе будет
создан дубликат объекта.

Возможные причины возникновения проблемы

Одна из возможных причин возникновения подобных проблем - использование обработки
"Поиск и удаление дублей".

К сожалению, указанная обработка некорректно обрабатывает записи в регистре
СоответствияОбъектовИнформационныхБаз, при замене ссылок на удаляемый дубликат
объекте не удаляя записи для него в указанном регистре,
а заменяя в нём ссылки на дубликат ссылками на оригинал (основной объект).
В итоге - получаем в регистре множественные записи.

Методы решения проблемы

Метод решения - выяснить, какая из записей содержит действительные
сведения о сопоставленном объекте в синхронизируемой информационной базе,
и удалить остальные.
Для этих целей из формы объекта, с синхронизацией которого возникли описанные
выше проблемы, переходим с использованием поставляемой данным расширением команды
в форму списка регистра СоответствияОбъектовИнформационныхБаз. Записи
в указанном регистре будут отобраны по текущему объекту, из формы которого
осуществлён переход.
Непосредственно из формы списка регистра проверяем возможность перехода
к сопоставленным объекта в синхронизируемых информационных базах.
Удаляем записи, содержащие недействительные
сведения о сопоставленных объектах в синхронизируемых информационных базах.

Подготовка к работе

Для использования расширения его необходимо подключить.
При подключении следует отключить параметры "Безопасный режим",
"Защита от опасных действий". Причина - расширение добавляет
собственную роль "Использование перехода к сопоставленным объектам",
и предоставляет этой роли право чтения планов обмена и
регистров НастройкиТранспортаОбменаДанными,
СоответствияОбъектовИнформационныхБаз.

Подключение расширения

Таким образом, пользователи, которым Вы назначите роль
"Использование перехода к сопоставленным объектам", получат
так же доступ на чтение к указанным объектам конфигурации.

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

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

Создание профиля доступа

Для работы расширения необходимы параметры подключения к базе ЕМП:

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

Вызов формы параметров подключения к базе
Параметры подключения к базе

О подготовке рабочего места разработчика

Подготовка рабочего места заключается в исполнении (с правами администратора)
файла install\install.cmd.
Текущим должен быть корневой каталог репозитория!
Потребуется несколько перезагрузок.
Выполнять вплоть до отсутствия ошибок при выполнении.

Будут установлены:

Внесение изменений в расширения

Используем precommit1c.
Порядок действий по фиксации изменений в расширениях следующий:

Безусловно, удобнее выполнять эти действия с использованием VSCode.

Репозиторий проекта размещён по адресу
github.com/csm-ivanovo-ru/1s-GoToLinkedObjects.
Стратегия ветвления - Git Flow.

При необходимости внесения изменений в сам проект предложите Pull Request в основной
репозиторий в ветку develop.

Полезные ссылки