Глава 3. Synergy IDE

Ревизия VCS: 91194b34b

Дата сборки документа: 2018.06.28 10:45:35

Содержание

3.1. Приложения
3.1.1. Введение
3.1.2. Концепция приложений Synergy
3.1.3. Атрибуты приложения
3.2. Настройки платформы
3.2.1. Формы завершения
3.2.2. Системные справочники
3.2.3. Настройки интерпретатора
3.2.4. Экспорт и импорт настроек платформы
3.2.4.1. Экспорт настроек
3.2.4.2. Импорт настроек
3.3. Обзор Synergy IDE
3.3.1. «Чистая» установка Synergy
3.3.2. Обновление версии Synergy
3.3.3. Интерфейс Synergy IDE
3.3.3.1. Панель меню и навигатор
3.3.3.2. Рабочая область и вкладки
3.3.3.3. Навигация по объектам приложения
3.3.4. Изменения конструктора форм
3.3.4.1. Отображение идентификаторов компонентов и признака наличия скрипта
3.3.4.2. Скрипты формы
3.3.4.3. Выделение цветом вложенных таблиц
3.3.4.4. Настройка вспомогательного текста для компонентов формы
3.3.4.5. Копирование содержимого ячеек между формами
3.3.4.6. Заполнение создающим пользователем в динамической таблице
3.3.4.7. Доработка компонента «Ссылка на реестр»
3.3.4.7.1. Новые настройки компонента
3.3.4.7.2. Новые возможности сопоставлений
3.3.4.8. Настройка условных действий с компонентами формы
3.3.4.8.1. Пример настройки: одно поле влияет на состав отображаемых полей
3.3.4.8.2. Пример настройки: работа с динамическими таблицами
3.3.4.9. Настройка произвольной маски поля
3.3.4.9.1. Основы синтаксиса
3.3.4.9.2. Использование в конструкторе форм
3.3.4.9.3. Обязательность поля с настроенной маской
3.3.5. Скрипты интерпретатора как объекты приложения
3.3.5.1. Возможность обработки событий Synergy с помощью интерпретатора
3.3.6. Новые условия в фильтрах реестров
3.3.6.1. Числовое поле
3.3.6.2. Фильтрация по текущему пользователю
3.3.7. Копирование объектов приложения
3.3.8. Перенос объектов в приложении и между приложениями
3.3.8.1. Перемещение внутри приложения
3.3.8.2. Перемещение между приложениями
3.3.9. Экспорт и импорт приложения
3.3.9.1. Экспорт приложения
3.3.9.2. Импорт приложения
3.3.9.2.1. Предварительная валидация архива
3.3.9.2.2. Выбор импортируемых объектов
3.3.9.2.3. Проверка целостности приложения
3.3.9.2.4. Правила замены объектов приложения
3.3.9.3. Методы API для экспорта и импорта приложения
3.3.9.3.1. API экспорта приложения
3.3.9.3.2. API импорта приложения

В версии 4.0 hamming мы внедрили понятие Synergy IDE - принципиально новый подход к задаче разработки бизнес-приложений на Synergy. Основные изменения включают в себя новый интерфейс Конфигуратора, явное введение понятия «приложения» как сущности Synergy, а также прочие сопутствующие доработки.

Рассмотрим их подробнее.

3.1. Приложения

3.1.1. Введение

При разработке бизнес-приложений на базе Synergy разработчики сталкиваются с такими проблемами:

  • сложность работы одновременно с несколькими объектами конфигурации Synergy: Конфигуратор Synergy не позволяет одновременно открыть несколько объектов одного типа - например, глядя на маршрут активации, настроенный в одном реестре, настроить аналогичный маршрут в другом реестре;

  • разобщенность кода: Synergy позволяет добавлять пользовательский код в различные объекты, при этом точки добавления этого кода неочевидны (например, сложно найти код, добавленный в компоненты формы);

  • сложность совместной разработки приложений: большинство объектов Synergy не поддерживают версионность, а при выполнении импорта конфигурации заменяются не только те объекты, которые были непосредственно изменены, но и те, от которых зависит измененный объект. При этом возникают ситуации, когда изменения, внесенные одним разработчиком Synergy, перекрываются изменениями, внесенными следующим разработчиком, во время замены связанных объектов;

  • невозможность логической группировки объектов Synergy: часто экземпляр Synergy содержит несколько групп объектов, не взаимодействующих между собой (например, объекты для работы приложения CRM и для приложения HRM). При этом структурировать список однотипных объектов, относящихся к разным логическим блокам (реестры CRM, реестры HRM, реестры для внутренних процессов организации), возможно только с помощью их названий, потому что располагаются они в общем списке объектов.

Прежде, чем приступить к описанию изменений в Synergy IDE, имеет смысл договориться о новой терминологии, которую мы вводим.

Сущность - набор специфических атрибутов (реестры, формы, справочники и т.д.)

Объект - экземпляр сущности с уникальными значениями атрибутов этой сущности (реестр «Служебные записки», справочник дней недели)

Мы также изменили подход к роли пользователя, рабочим инструментом которого является Synergy IDE. Теперь пользователя, имеющего доступ к Конфигуратору Synergy (бывший Методолог), мы будем называть Synergy Developer, или Разработчик Synergy. Флаг, который предоставляет пользователю эту роль через Административное приложение, также переименован.

3.1.2. Концепция приложений Synergy

Приложением называется изолированный набор объектов различных сущностей, сгруппированных произвольным образом.

В случае приложений изолированность означает, что никакой объект одного приложения не может быть связан с каким-либо объектом другого приложения.

Некоторые объекты Synergy в силу особенностей архитектуры не могут принадлежать ни одному приложению, поскольку используются множеством других объектов и не допускают дублирования. К ним относятся:

  • автогруппы пользователей

  • системные справочники с зарезервированным кодом и структурой

  • настройки личного дела

  • встроенный отчет по оргструктуре

  • настройки папок Хранилища, ролей, свойств и классификатора

Эти объекты перенесены в отдельный раздел «Настройки платформы», о котором будет подробно рассказано далее.

Внутри приложения объекты группируются с помощью папок, что позволяет работать с приложением и его объектами так же, как с привычной файловой системой.

Рисунок 3.1. Приложение в Synergy IDE

Приложение в Synergy IDE

При этом группировать объекты приложения можно не только по их типам, но и любым другим удобным способом: например, по реализуемым вариантам использования или даже по области ответственности членов команды разработки.

Сформированная структура приложения сохраняется и при его экспорте: теперь результатом экспорта является архив, содержащий ту же структуру файлов и папок, которая отображается в навигаторе приложения.

3.1.3. Атрибуты приложения

Приложение характеризуется своим названием, кодом, номером ревизии и правами доступа. Просмотреть свойства открытого приложения можно, выбрав в панели меню «Приложение - Свойства»:

Рисунок 3.2. Свойства приложения

Свойства приложения

Название и кодприложения задаются при создании приложения, могут быть изменены в процессе работы. При этом к коду приложения применяются такие же правила валидации, как и к остальным объектам Synergy.

Номер ревизии - автоматически вычисляемое число, характеризующее состояние всех объектов приложения. При создании нового приложения оно имеет номер 1. Каждое создание и сохранение изменений любого объекта приложения или самого приложения увеличивает номер ревизии. Таким образом можно контролировать, было ли изменено состояние приложения.

Права доступа к приложению - набор групп пользователей, которым предоставлено право на чтение и/или изменение приложения.

  • Право «Чтение» для приложения означает право на чтение всех объектов, входящих в приложение, без возможности их редактирования и добавления новых сущностей.

  • Право «Изменение» для приложения означает право на чтение, изменение и удаление всех объектов приложения. Пользователь, входящий в группу, которой предоставлено это право, может добавлять, изменять и удалять/скрывать объекты, а также изменять атрибуты самого приложения и назначать права на него.

Пользователю с ролью Synergy Developer доступны для изменения все приложения экземпляра Synergy. Эта роль также дает право на создание новых приложений.

Пользователи, входящие в группы, которым предоставлено право доступа к отдельным приложениям Synergy, мы будем называть Synergy Application Developer, или Разработчики приложений Synergy.

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