Данный репозиторий содержит расширение конфигураций 1С:Предприятие 8.3 для управляемых форм, предоставляющее общую команду для перехода к сопоставленным объектам из ЕМП в БГУ 2 в синхронизируемых информационных базах.
Данное расширение конфигурации предназначено для использования в 1С:Единая метрологическая платформа 2.0 (далее - ЕМП) до версии 8.0.1.58 (начиная с указанной версии расширение интегрировано в конфигурацию).
Расширение добавляет общую команду ППСО_ПерейтиКСопоставленномуОбъекту
(в интерфейсе - "Перейти в БГУ 2") в командную панель формы "Синхронизация данных".
Команда доступна в формах объектов всех синхронизируемых объектов.
Также расширение поставляет общую команду ППСО_СопоставленныеОбъекты
,
выполняющую переход из формы синхронизируемых объектов
в форму списка регистра СоответствияОбъектовИнформационныхБаз
.
Одной из основных проблем при синхронизации информационных баз является дублирование объектов при синхронизации.
Одной из причин возникновения проблемы являются множественные записи
в регистре СоответствияОбъектовИнформационныхБаз
для одного
объекта текущего узла (информационной базы) и выбранной синхронизируемой
информационной базы (измерение УзелИнформационнойБазы
в указанном
регистре). В указанном регистре не должно быть более одной записи
для одного объекта текущей базы (измерение УникальныйИдентификаторИсточника
),
синхронизируемой базы (измерение УзелИнформационнойБазы
).
В том случае, если описанных выше записей несколько, при синхронизации изменений из текущей информационной базы в синхронизируемой базе будет создан дубликат объекта.
Одна из возможных причин возникновения подобных проблем - использование обработки "Поиск и удаление дублей".
К сожалению, указанная обработка некорректно обрабатывает записи в регистре
СоответствияОбъектовИнформационныхБаз
, при замене ссылок на удаляемый дубликат
объекте не удаляя записи для него в указанном регистре,
а заменяя в нём ссылки на дубликат ссылками на оригинал (основной объект).
В итоге - получаем в регистре множественные записи.
Метод решения - выяснить, какая из записей содержит действительные
сведения о сопоставленном объекте в синхронизируемой информационной базе,
и удалить остальные.
Для этих целей из формы объекта, с синхронизацией которого возникли описанные
выше проблемы, переходим с использованием поставляемой данным расширением команды
в форму списка регистра СоответствияОбъектовИнформационныхБаз
. Записи
в указанном регистре будут отобраны по текущему объекту, из формы которого
осуществлён переход.
Непосредственно из формы списка регистра проверяем возможность перехода
к сопоставленным объекта в синхронизируемых информационных базах.
Удаляем записи, содержащие недействительные
сведения о сопоставленных объектах в синхронизируемых информационных базах.
Для использования расширения его необходимо подключить.
При подключении следует отключить параметры "Безопасный режим",
"Защита от опасных действий". Причина - расширение добавляет
собственную роль "Использование перехода к сопоставленным объектам",
и предоставляет этой роли право чтения планов обмена и
регистров НастройкиТранспортаОбменаДанными
,
СоответствияОбъектовИнформационныхБаз
.
Таким образом, пользователи, которым Вы назначите роль "Использование перехода к сопоставленным объектам", получат так же доступ на чтение к указанным объектам конфигурации.
Возможность использования предоставляемой расширением общей команды получат пользователи, которым назначена хотя бы одна из ролей:
- Использование перехода к сопоставленным объектам (поставляется расширением)
- Администрирование системы (поставляется расширяемой конфигурацией)
- Полные права (поставляется расширяемой конфигурацией)
- Выполнение синхронизации данных (поставляется расширяемой конфигурацией)
Для назначения пользователям указанной роли достаточно скопировать профиль доступа после подключения расширения и добавить в него указанную роль, после чего назначить созданный профиль доступа необходимым пользователям.
Для работы расширения необходимы параметры подключения к базе ЕМП:
- FQDN сервера (имя сервера)
- имя базы данных на сервере 1С:Предприятия
Эти параметры следует указать в настройках синхронизации (в настройках подключения).
Указанные параметры сохраняются в реквизитах регистра
НастройкиТранспортаОбменаДанными
.
Эти настройки необходимо указать, даже если синхронизация данных
выполняется через обмен файлами.
Подготовка рабочего места заключается в исполнении (с правами администратора)
файла install\install.cmd
.
Текущим должен быть корневой каталог репозитория!
Потребуется несколько перезагрузок.
Выполнять вплоть до отсутствия ошибок при выполнении.
Будут установлены:
- chocolatey (менеджер пакетов)
- git
- VSCode
- OneScript
- ряд пакетов под OneScript
- и git precommit hook в репозиторий проекта
Используем precommit1c. Порядок действий по фиксации изменений в расширениях следующий:
- пишем новую версию расширения в каталог extensions
- добавляем расширение в индекс git:
git add extensions/\*.cfe
, или же указываем конкретный файл - собственно, commit:
git commit
. При этом precommit1c разберёт добавленные в индекс расширения конфигурации, добавит в индекс "исходные" файлы расширений, а сами файлы расширений из индекса уберёт.
Безусловно, удобнее выполнять эти действия с использованием VSCode.
Репозиторий проекта размещён по адресу github.com/csm-ivanovo-ru/1s-GoToLinkedObjects-EMP. Стратегия ветвления - Git Flow.
При необходимости внесения изменений в сам проект предложите Pull Request в основной
репозиторий в ветку develop
.