GithubHelp home page GithubHelp logo

csm-ivanovo-ru / 1s-gotolinkedobjects-emp Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 693 KB

Разработка на github.com прекращена. Репозиторий перемещён на gitlab.ivcsm.ru. Расширение, добавляющее в ЕМП общую команду перехода в БГУ 2 к сопоставленными при обмене объектам

Home Page: https://gitlab.ivcsm.ru/1c-shared/emp/1s-GoToLinkedObjects-EMP

License: The Unlicense

JavaScript 3.52% Batchfile 2.57% 1C Enterprise 93.91%
1c emp

1s-gotolinkedobjects-emp's Introduction

Поддержка быстрого перехода к сопоставленным объектам из ЕМП в БГУ 2

GitHub release

Semantic Versioning Conventional Commits

Данный репозиторий содержит расширение конфигураций 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.

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

1s-gotolinkedobjects-emp's People

Contributors

dependabot[bot] avatar sergey-s-betke avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.