Список критичных изменений системы версий 3.2.х
Список исправлений к версии 3.2.12
Нет критичных изменений
Список исправлений к версии 3.2.11
Нет критичных изменений
Список исправлений к версии 3.2.10
API Кода. Публичные методы и интерфейсы
1. Реорганизовано вычисление прав доступа для элементов оргструктуры:
- Для элемента оргструктуры «Отдел» выбираются все пользователи, находящиеся в этом отделе с учетом все подчиненных элементов оргструктуры
- Для остальных элементов оргстурктуры («Должность», «Группа сотрудников») выбираются только те пользователи, которые назначены непосредственно на выбранный элемент оргструктуры (без учета подчиненных элементов)
Экпорт-Импорт
Изменения визарде импорта
В шаг проверки визарда импорта добавлена проверка совместимости свойств объединяемых процессов. Если по каким-либо причинам объединение невозможно, импорт не будет проведен. Ранее импорт допускался, но конфликтный процесс не импортировался.
Список исправлений к версии 3.2.9
API Кода. Публичные методы и интерфейсы
1. Менеджер EleWise.ELMA.Documents.Managers.DocumentTaskManager теперь наследуется от TaskBaseManager<IDocumentTask>, а не от EntityManager<IDocumentTask, long>.
KPI
1. Изменен тип свойства ProcentWellDone класса EleWise.ELMA.KPI.Models.Performance.PerformanceDiscipline c int на double
2. Изменен тип свойства Weight класса EleWise.ELMA.KPI.Web.Models.SMART.SmartTaskModel c int на double
Пользовательский интерфейс
KPI
1. Добавлена кнопка «Продлить задачу» для SMART-задач. Кнопка доступна только для проконтролированных задач
Список исправлений к версии 3.2.8
Изменение Управления договорами
- Изменен документ «Договор»:
- Отображаемое имя атрибута «Закрыт» документа «Договор» переименовано в «Этапы закрыты».
- В документ Договор добавлен атрибут «Договор закрыт» типа «Да/Нет».
- Документу «Договор» добавлен необязательный атрибут «Акт закрытия договора».
- Для фильтров атрибутов «Дата договора» и «Срок договора» добавлена генерация относительной даты.
- Изменена логика закрытия договора:
- Ранее договор считался закрытым, если были закрыты все его этапы (т.е. на все этапы были назначены акты). Теперь договор считается закрытым, когда его атрибут «Договор закрыт» имеет значение «Да»
- Закрытие договора допускается либо при отсутствии этапов, либо при всех закрытых этапах.
- Изменение этапов при закрытом договоре невозможно.
- При обновлении на версию 3.2.8 для всех договоров, считавшихся закрытыми по старой логике, атрибуту «Договор закрыт» будет задано значение «Да».
- Убрано ограничение на минимальное количество этапов у договора. Теперь возможно создание договора без этапов.
- Изменены системные папки-фильтры модуля «Управление договорами»:
- Папка-фильтр исходящих договоров «Закрытые» переименована в «Закрытые этапы». Выбирает зарегистрированные исходящие договоры этапы которых считаются закрытыми.
- Папка-фильтр входящих договоров «Закрытые» переименована в «Закрытые этапы». Выбирает зарегистрированные входящие договоры этапы которых считаются закрытыми.
- Добавлена папка-фильтр для исходящих договоров «Закрытые». Выбирает зарегистрированные закрытые исходящие договоры.
- Добавлена папка-фильтр для входящих договоров «Закрытые». Выбирает зарегистрированные закрытые входящие договоры.
- Изменен класс EleWise.ELMA.Documents.Contracts.Web.Controllers. ContractController:
- Класс сделан наследникомотDmsController<IContract, long>.
- Добавлен метод OpenContract(Guid contractUid).
- Изменен класс веб-модели закрытия договора EleWise.ELMA.Documents.Contracts.Web.Models. ContractCloseModel:
- Убрано свойство IDeed Deed.
- Добавлено свойство IDeed StepsDeed (акт, закрывающий этапы).
- Добавлено свойство IDeed ContractDeed (акт, закрывающий договор).
- Изменен класс менеджера договоров EleWise.ELMA.Documents.Contracts.Managers. ContractManager:
- Добавлен метод закрытия договора void CloseContract(IContract contract, IDeed deed = null).
- Добавлены методы открытия договора OpenContract(Guid uid) и OpenContract(IContract contract).
- Изменен класс EleWise.ELMA.Documents.Contracts.Web.Controllers. ContractStepController:
- Убран метод ActionResult NotClosedSteps(GridCommand command, ContractCloseModel contractCloseModel)
- Добавлен метод ActionResult CloseContractSteps(ContractCloseModel model)
- Добавлен метод ActionResult CloseContractStepsPopup (ContractCloseModel model)
- Изменен класс менеджера этапов EleWise.ELMA.Documents.Contracts.Managers. ContractStepManager:
- Добавлен метод CloseSteps(IEnumerable<IContractStep> steps, IDeed deed)
Пользовательский интерфейс
Изменена форма создания договора
- Этапы договора сделаны необязательными для заполнения. По умолчанию договор создается без этапов.
Изменена карточка договоров
1. Изменена кнопка «Закрыть договор»:
- Отображается если договор открыт
- Если этапы договора не закрыты, то при нажатии открывает всплывающее окно, на котором нужно будет указать закрывающий акт. Этим актом будет закрыт и договор и все имеющиеся незакрытые этапы.
- Если этапы договора закрыты, то при нажатии открывает всплывающее окно, на котором можно указать акт закрывающий договор.
2. Добавлена кнопка «Открыть договор». Отображается у закрытых договоров. Позволяет открыть договор.
3. Добавлена кнопка «Закрыть этапы». Позволяет выборочно закрывать этапы договора.
Изменен агрегированный отчет
- Из агрегированного отчета исключены задачи со статусом «Невозможно выполнить и проконтролировано».
- В задачи «Всего просрочено сейчас» будут включаться только задачи со статусом «Новая», «Прочитана», «Выполняется».
Задачи
1. В задачах и Smart-задачах запретили изменять согласующего
2. В поиск по задачам добавлено поле «Работа выполнена».
Работа с клиентами
- В разделе Работа с клиентами -> Сделки, выведена «Сумма объема продаж» сделок, отображаемых в текущем списке (суммарно со всех страниц списка).
Проекты
Роль проекта "Менеджер проекта" переименована в роль "Администраторы проекта"
Общее
В поиске EQL появилась возможность использования относительных дат при фильтрации полей типа Дата/время, примеры таких запросов:
- CreationDate in RelativeDateTime(’-1d’, null) - Поиск записей, созданных со вчерашнего дня.
- CreationDate in RelativeDateTime(’-1d’, ’-1d’) - Поиск записей, созданных за вчерашний день.
API Кода. Публичные методы и интерфейсы
- Переопределен метод Delete менеджера EleWise.ELMA.KPI.Managers.IndicatorManager –в метод добавлено удаление всех ссылок на показатель
- Добавлен Метод EleWise.ELMA.Calendar.Managers.CrossingEvents(ICollection<ISchedule> schedules, DateTime fromDate, DateTime toDate, long? currentId, Guid? currentTypeUid) , который ищет пересечения в календаре (кроме событий с Id = currentId и/или TypeUid = currentTypeUid).
- Добавлен Метод EleWise.ELMA.Calendar.Managers.CrossingEvents(ICollection<ISchedule> schedules, DateTime fromDate, DateTime toDate, long? currentId, Guid? currentTypeUid) , который ищет пересечения в календаре (кроме событий с Id = currentId и/или TypeUid = currentTypeUid).
CRM фильтрация
- Свойство EleWise.ELMA.CRM.Models.ISaleStageEleWise.ELMA.CRM.Models.ISaleFilter.SaleStageотмечено устаревшим, вместо него нужно использовать свойство Iesi.Collections.Generic.ISet<EleWise.ELMA.CRM.Models.ISaleStage>EleWise.ELMA.CRM.Models.ISaleFilter.SaleStages
- Свойство EleWise.ELMA.CRM.Models.IContractorEleWise.ELMA.CRM.Models.ISaleFilter.Contractorотмечено устаревшим, вместо него нужно использовать свойство Iesi.Collections.Generic.ISet<EleWise.ELMA.CRM.Models.IContractor>EleWise.ELMA.CRM.Models.ISaleFilter.Contractors
- Свойство EleWise.ELMA.CRM.Models.IContractorRegionEleWise.ELMA.CRM.Models.ISaleFilter.Regionотмечено устаревшим, вместо него нужно использовать свойство Iesi.Collections.Generic.ISet<EleWise.ELMA.CRM.Models.IContractorRegion>EleWise.ELMA.CRM.Models.ISaleFilter.Regions
- Свойство EleWise.ELMA.CRM.Models.IContractorIndustryEleWise.ELMA.CRM.Models.ISaleFilter.ContractorIndustryотмечено устаревшим, вместо него нужно использовать свойство Iesi.Collections.Generic.ISet<EleWise.ELMA.CRM.Models.IContractorIndustry>EleWise.ELMA.CRM.Models.ISaleFilter.ContractorIndustries
- Свойство EleWise.ELMA.CRM.Models.IMarketingActivityEleWise.ELMA.CRM.Models.ISaleFilter.MarketingActivityотмечено устаревшим, вместо него нужно использовать свойство Iesi.Collections.Generic.ISet<EleWise.ELMA.CRM.Models.IMarketingActivity>EleWise.ELMA.CRM.Models.ISaleFilter.MarketingActivities
- Свойство System.Nullable<EleWise.ELMA.CRM.Enums.SalePriority>EleWise.ELMA.CRM.Models.ISaleFilter.Priorityотмечено устаревшим, вместо него нужно использовать свойство System.Collections.Generic.List<EleWise.ELMA.CRM.Enums.SalePriority>EleWise.ELMA.CRM.Models.ISaleFilter.Priorities
- Свойство EleWise.ELMA.CRM.Models.ISaleTypeEleWise.ELMA.CRM.Models.ISaleFilter.SaleType отмечено устаревшим, вместо него нужно использовать свойство Iesi.Collections.Generic.ISet<EleWise.ELMA.CRM.Models.ISaleType>EleWise.ELMA.CRM.Models.ISaleFilter.SaleTypes
Изменения в механизме подсчета статусов в ознакомлении
Если в скриптах задачи ознакомления создаются вручную через веб-интерфейс ELMA, то ознакомление работает некорректно. Для отправки кому-то на ознакомление нужно использовать метод менеджера:
- AcquaintanceTaskGroupManager.Instance.AddExecuters
Список исправлений к версии 3.2.7
Улучшение и исправления в Экспорте-Импорте
Добавлен экспорт-импорт типов РКК.
Пользовательский интерфейс
Изменения визарде экспорта
В визарде экспорта на этапе «Типы документов» добавлена закладка выбора типов РКК.
Изменения в активити «Согласование»
Убрана настройка «Если нет новых согласующих». Теперь если по ходу исполнения процесса, эта активити не добавляет новых согласующих, маршрут направляется по решению тех, кто пытается добавиться в этом активити (решения достаются из существующего листа согласования).
Публичные методы и интерфейсы
Календарь
В точку расширения EleWise.ELMA.Calendar.ICalendarItemProvider добавлено свойство bool External { get; }, которое определяет, является ли календарь внешним по отношению к ELMA (например, Google-календарь).
Общее
- В интерфейсе EleWise.ELMA.BPM.Web.Common.ExtensionPoints.IFilterPropertyEditor добавлен метод EleWise.ELMA.BPM.Web.Common.ExtensionPoints.PropertyAction(WebViewAttributes a).
- В интерфейсе EleWise.ELMA.BPM.Web.Common.ExtensionPoints.IFilterPropertyEditorудалено свойство string TemplateName.
- В интерфейсе EleWise.ELMA.BPM.Web.Common.ExtensionPoints.IFilterPropertyEditor добавлено свойство string PropertyDisplayNamе.
Показатели
Удалено свойство Curators объекта EleWise.ELMA.KPI.Models.IIndicator
Задачи
- В метод EleWise.ELMA.Tasks.Managers. TaskManager.Clone(ITask task) добавлено игнорирование даты создания и комментариев при клонировании .
- В метод EleWise.ELMA.Calendar.Managers.CalendarEventManager.CloneEvent и EleWise.ELMA.Tasks.Managers.TaskManager.CloneEvent(ICalendarEvent @event)добавлено игнорирование даты создания при клонировании .
- В метод EleWise.ELMA.Model.Managers.EntityManager<T, IdT>.Delete(T obj) добавлена проверка для иерархических справочников, запрещающая удалять группы с вложенными элементами
Список исправлений к версии 3.2.6
Улучшение и исправления в Экспорте-Импорте 3.2.0
- Добавлена проверка атрибутов типа PropertySettings (Атрибут РКК, Атрибут документа).
- В шаг проверки импортируемой конфигурации добавлена проверка импортируемой оргструктуры. Если оргструктуру опубликовать невозможно по причине ошибки, импорт конфигурации будет запрещен.
- Добавлена выгрузка метаданных объектов отображаемых в дизайнере, но не являющихся справочниками.
Пользовательский интерфейс
Изменения в Отчетах
- В дизайнере, для источников данных отчетов добавлена возможность изменять язык по умолчанию.
При редактировании или создании источника данных при установке галочки в чекбокс «Сделать языком запроса по умолчанию» и нажатии кнопки «ОК», выбранный язык будет запомнен как язык по умолчанию. Он будет использоваться при создании новых источников данных.
Настройка персональная, привязана к пользователю.
2. В дизайнере для источников данных отчетов улучшен список документов
Для источника данных HQL:
- Добавлены блоки
Для источника данных SQL:
- Добавлены описания атрибутов, заданных в родительских документах (отображены синим цветом)
- Добавлены описания атрибутов, не представленных непосредственно в таблицы типа документа (например атрибут со связью N-N)
- Добавлены блоки
Изменения в левом меню в веб-интерфейсе
- Из меню удален дублирующийся пункт «Отчет».
Изменения визарде экспорта
- В визарде экспорта на этапе «Объекты и справочнике» в список объектов добавлены объекты не являющиеся справочниками, но отображаемые в дизайнере (все пользовательские и системные, измененные пользователями). Для них доступна только выгрузка метаданных. Выгрузка данных недоступна.
Безопасность
Публичные методы и интерфейсы
- В интерфейсе EleWise.ELMA.Security.IRoleTypeSelectorGroupsModelItemsдобавлено свойство EleWise.ELMA.Security.IRoleTypeSelectorGroupsCategory Category, для вывода и группировки дополнительных прав в окне назначения прав доступа.
- В методеCanGrandToElement интерфейса EleWise.ELMA.Security.Services.IInstanceSettingsPermission, добавлены новые параметры EleWise.ELMA.Security.Services.IInstanceSettingsPermission.CanGrandToElement(Permission[] elementPermission, Permission[] userPermission, Permission permissionToCheck, Guid permissionRoleTypeId, IEntity permissionRole, object target)
- В интерфейс EleWise.ELMA.Security.Services.IInstanceSettingsPermissionдобавлен метод bool IsSystemRole(Guid permissionRoleTypeId, IEntity permissionRole, object target).
- Свойство проекта EleWise.ELMA.Projects.Models.IProject.PlanWorkLogустарело, вместо него используется лимит трудозатрат EleWise.ELMA.Projects.Models.IProject.PlanWorkLogs.
- Заменены свойства фильтра проектов EleWise.ELMA.Projects.Models.IProjectFilter.ProjectLifeCycleStage на EleWise.ELMA.Projects.Models.IProjectFilter.ProjectLifeCycleStages и EleWise.ELMA.Projects.Models.IProjectFilter.Stage на EleWise.ELMA.Projects.Models.IProjectFilter.Stages.
Задачи
API Кода. Публичные методы и интерфейсы
- Добавлен Метод EleWise.ELMA.Workflow.Managers.WorkflowTaskBaseManager.IsAvailableReAssign(ITaskBase task) , который проверяет возможность переназначения задачи по бизнес-процессу.
- Добавлен методEleWise.ELMA.Calendar.Managers.CalendarEventPeriodicalManager.RemoveForwardCreatedEvents(ICalendarEventPeriodical template), который удаляет все экземпляры периодического события с датой начала больше даты завершения периодического события.
- В метод EleWise.ELMA.CRM.Managers.ProductManager.Delete добавлена проверка на использования товара в сделках.
Пользовательский интерфейс
- В фильтрах по задачам введены относительные даты
Было:
Стало:
2. Тип объектов в фильтрах сделан иерархическим с иконками
KPI
API Кода. Публичные методы и интерфейсы
- Изменились методы библиотеки для рисования графиков shapes.js
- Изменен метод GetStep(max) на GetStep(min, max)
- Изменен метод DrawYAxisValues(ctx, uid, step, textOption) на DrawYAxisValues(ctx, uid, min, max, textOption)
- Изменен метод DrawChartLegend(ctx, parentShape, uid, chart, fontSize, legendWidth, index, max) на DrawChartLegend(ctx, parentShape, uid, chart, fontSize, legendWidth, index, min, max)
- Изменен метод DrawChart(ctx, parentShape, uid, max, chart, lineWidth, forecast) на DrawChart(ctx, parentShape, uid, min, max, chart, lineWidth, forecast)
- Изменен метод DrawBar(ctx, parentShape, uid, index, valWidth, dataWidth, max, chart, highlight, forecast) на DrawBar(ctx, parentShape, uid, index, valWidth, dataWidth, min, max, chart, highlight, forecast)
- Изменен метод DrawInvertBar(ctx, uid, index, valWidth, dataWidth, max, values, statuses, lineColor, forecast) на DrawInvertBar(ctx, uid, index, valWidth, dataWidth, min, max, values, statuses, lineColor, forecast)
- Переименован параметр метода EleWise.ELMA.KPI.Web.Controllers.PerformanceController.AddWPI jsonWpis в realWpiJsonData
CRM
Пользовательский интерфейс
Создание продукта (товара и услуги). При создании папки теперь нельзя задавать цену.
1) Создание папки
Было:
Стало:
2) Добавление товара/услуги
Было:
Стало:
Справочники
Пользовательский интерфейс
Иерархический объект с типом иерархии «Элементы»:
- Объект состоит только из элементов. Элементы могут образовывать иерархию
- При выборе объекта в выпадающем списке отображаются все элементы.
При расширенном выборе объекта:
- При нажатии на строку с объектом - объект выбирается в выпадающий список (ComboBox)
- При нажатии на иконку с папкой или на поле с типом «Наименование» происходит переход по иерархии
Иерархический объект с типом иерархии «Группы и элементы»:
- Объект состоит из групп и элементов. Родительским объектом могут являться только группы.
- В качестве родительского объекта могут быть выбраны только группы
- При выборе объекта в выпадающем списке отображаются только элементы (без групп)
При расширенном выборе объекта:
- При нажатии на группу(на иконку с папкой или на поле с типом «Наименование») происходит переход по иерархии
- При нажатии на элемент - объект выбирается в выпадающий список (ComboBox)
Список исправлений к версии 3.2.5
Разработка пользовательских расширений
Пакет с плагином для Visual Studio 2010 теперь поставляется в виде инсталлятора. Для установки плагина на компьютере должна быть обязательно установлена Бесплатная Демо-версия системы (текущий плагин проверяет наличие версии 3.2).
Шаблоны проектов и элементов в плагине
В плагин добавлены шаблоны для создания:
- Полный модуль ELMA 3 (серверная и веб часть)
- Веб модуль ELMA 3
- Портлет ELMA 3
Изменение Экспорта-Импорта процессов
- В шаг проверки импортируемой конфигурации добавлена проверка импортируемых процессов.
- Добавлено объединение контекста (параметров) процессов при импорте.
- Добавлено автоматическое переименование импортируемых процессов в случае совпадения отображаемого имени с уже имеющимися.
- Изменена точка расширения действий, выполняемые при сохранении сущности IEntityImportSaveActions (и соответственно ее реализации):
Улучшение и исправления в Экспорте-Импорте 3.2.0
1.1. метод ExecPreSaveActions возвращает вместо значения типа bool список сообщений List<TestImportMessages>;
1.2. добавлен метод TestRead, для реализации проверки импортируемых данных в шаге проверки импортируемой конфигурации.
Изменение публикации процессов
- В проверку процесса добавлена проверка элемента «Создание документа». Если тип документа не указан, процесс не будет опубликован.
Перенос классов.
- Класс действий при импорте для матрицы ответственности ResponsibilityMatrixImportSaveActionsперенесен из пространства имен EleWise.ELMA.Workflow.Deploy.PropTypes в EleWise.ELMA.Workflow.Deploy.Import .
- Класс действий при импорте для процессов WorkflowProcessImportSaveActions перенесен из пространства имен EleWise.ELMA.Workflow.Deploy.PropTypes в EleWise.ELMA.Workflow.Deploy.Import .
- Класс "отвязки" старых параметров отчета при импорте метаданных ClearBeforeDelReportParameterперенесен из пространства имен EleWise.ELMA.Workflow.Deploy.Import в EleWise.ELMA.Reports.Deploy.Import.
Экспорт отчетов в веб-документ.
- Добавлен новый тип документа «Веб-документ Отчет».
- В точку расширения Провайдер медиа-файлов EleWise.ELMA.Web.Mvc.Html.FileBrowser. IMediaFileProvider добавлено свойство ProviderUid.
Выгрузка конфигурации Демо-версии и ее запуск.
- В интерфейс провайдера преобразования БД EleWise.ELMA.Runtime.Db.Migrator.Framework. ITransformationProvider добавлены методы работы с бэкапами для выгрузки конфигурации BackupDemoDatabase и RestoreDemoDatabase.
- В интерфейсе сервиса архивации/разархивации EleWise.ELMA.Services.IZipService для всех методов изменен тип возвращаемого значения. С bool на Exception.
- Добавлен механизм запуска локальной конфигурации для Демо-версии, запускающий веб-сервер на указанном при установке порте (если он занят, то на любом свободном в диапазоне от 7000 до 49151). Не доступен при установке веб-сервера в качестве сервиса.
- Конфигурации Демо-версий изменены с удаленных на локальные.
Пользовательский интерфейс
Изменения в документообороте
1. В меню карточки документа добавлена кнопка, позволяющая переименовывать документ без открытия окна редактирования.
2. Добавлена настройка, запрещающая создавать/редактировать тип документа через веб-интерфейс. Если она включена:
2.1. Нельзя создать документ через стандартный веб-интерфейс;
2.2. Нельзя редактировать документ через стандартный веб-интерфейс;
2.3. Документ исключается из списка недавно созданных;
2.4. Возможность переименования документа через кнопку переименования остается;
2.5. Возможность создания документа через скрипты остается.
3. Добавлен экспорт отчета в веб-документ. При включенном модуле «Электронный документооборот» помимо сохранения возможна отправка сформированного документа на ознакомление или согласование.
4. Добавлена выгрузка/запуск конфигурации в бесплатной демо-версии:
4.1. В разделе «Меню» дизайнера появилась кнопка «Выгрузка конфигурации», позволяющая выгружать текущую конфигурацию вместе с базой данных в файл *.elma3config;
4.2. В управлении конфигурациями появилась возможность добавить локальную конфигурацию, указав в ней ранее выгруженный файл *.elma3config. Запуск такой конфигурации возможен если веб-сервер не работает как сервис.
Импорт-экспорт
Изменена версия протокола «Импорта/экспорта» с 1.0 на 2.0.
В версии протокола 2.0 добавлена поддержка импорта списка «Очередей сообщений» и блоков бизнес процесса работающих с «Очередями сообщений».
При заливке файла экспорта версии 2.0 в старую версию системы, в случае содержания в файле блоков работы с «очередями сообщений» импорт произведен не будет.
Задачи
Изменения в интерфейсе
1. Изменено дерево задач. Мой отдел, Трудозатраты и Периодические задачи вынесены в отдельные пункты меню и теперь имеют свое собственное дерево. Дерево в списке задач можно редактировать. Поиск задач превратился в фильтр Все.
Было:
Стало:
2. В разделе Список задач введены фильтры, изменена форма поиска задач. Появилась возможность использовать EQL-поиск, а также выгрузить список задач в excel.
Было:
Стало:
Документооборот
Изменение по правам документа
В объектах документооборота (папках, документах) появился новый уровень прав. Помимо чтения, редактирования и полного, появился «Выдача прав». Этот уровень находится в зависимости от полного доступа. То есть, когда есть полный, есть и выдача прав, когда нет выдачи прав, нет и полного.
Соответственно, в скриптах, чтобы раздать полный доступ нужно раздать еще и Выдачу прав. Если в скриптах раздаются права без специальной функции, то нужно добавить туда и раздачу «Выдача прав». Пример:
folderOffice.Permissions.Add(new InstanceOf<IDmsObjectPermission> { New = { DmsObject = folderOffice, PermissionId = PermissionProvider.DocumentViewPermission.Id, TypeRoleId = CommonRoleTypes.User.Id, User = admin } }.New); folderOffice.Permissions.Add(new InstanceOf<IDmsObjectPermission> { New = { DmsObject = folderOffice, PermissionId = PermissionProvider.DocumentEditPermission.Id, TypeRoleId = CommonRoleTypes.User.Id, User = admin } }.New); folderOffice.Permissions.Add(new InstanceOf<IDmsObjectPermission> { New = { DmsObject = folderOffice, PermissionId = PermissionProvider.DocumentManagerAccessPermission.Id, TypeRoleId = CommonRoleTypes.User.Id, User = admin } }.New); folderOffice.Permissions.Add(new InstanceOf<IDmsObjectPermission> { New = { DmsObject = folderOffice, PermissionId = PermissionProvider.DocumentFullAccessPermission.Id, TypeRoleId = CommonRoleTypes.User.Id, User = admin } }.New);
Лучше всего использовать специальную функцию для раздачи прав, она берет на себя всю логику:
DmsObjectManager.Instance.AddPermissionWithDependencies(document, permission, user);
Пользовательский интерфейс
- Появилась полноценная работа с веб-документами. Теперь их можно отправлять на согласования и ознакомления, комментировать, задавать вопрос. Все что можно делать с простыми веб-документами
- В документооборотных задачах в процессе теперь можно работать с контекстом процесса
- В раздаче прав на документ и папку новая галочка «Выдача прав»
Конструктор форм
API Кода. Публичные методы и интерфейсы
- Свойство bool EleWise.ELMA.CRM.Models.IContractor.SameAddress отмечено устаревшим, оно не используется в приложении и будет удалено в будущих версиях
- При изменении параметра ReadOnly в динамических формах при неоднократном вхождении свойства на форму необходимо указывать вторым параметром в методе For имя элемента свойства, чтобы устанавливать значение правильному элементу (во избежание переключения редактируемости поля с одного контрола на другой)
Пользовательский интерфейс
Предупреждение об использовании замененных представлений
При замене представлений в конфигурации, которые влияют на отображение сущностей, для которых настроено отображение через конструктор форм, отображается предупреждение внизу страницы.
На странице используются представления, заданные в конфигурации, которые в версии 3.5 будут удалены.
Нужно удалить эти представления из папки с конфигурацией и произвести соответствующие изменения в форме представления в дизайнере,
иначе, после обновления на версию 3.5, страница может отобразиться неправильно, или не отобразиться совсем.
+ Пути к предстaвлениям
Список представлений, которые влияют на отображение сущностей:
/Modules/EleWise.ELMA.CRM.Web/Views/ContractorLegal/TabView.cshtml
/Modules/EleWise.ELMA.CRM.Web/Views/ContractorIndividual/TabView.cshtml
/Modules/EleWise.ELMA.CRM.UA.Web/Views/ContractorLegalUa/TabView.cshtml
/Modules/EleWise.ELMA.CRM.Web/Views/Shared/Contractor/TasksTab.cshtml
/Modules/EleWise.ELMA.CRM.Web/Views/Shared/ContractorLegal/ContractorLegalEditForm.cshtml
/Modules/EleWise.ELMA.CRM.Web/Views/Shared/ContractorIndividual/ContractorIndividualEditForm.cshtml
/Modules/EleWise.ELMA.CRM.UA.Web/Views/Shared/ContractorLegalUa/ContractorLegalUaEditForm.cshtml
/Modules/EleWise.ELMA.CRM.Web/Views/Sale/TabView.cshtml
/Modules/EleWise.ELMA.CRM.Web/Views/Sale/TasksTab.cshtml
/Modules/EleWise.ELMA.CRM.Web/Views/Shared/Sale/SaleEditForm.cshtml
/Modules/EleWise.ELMA.Documents.Web/Views/Shared/Document/TabView.cshtml
/Modules/EleWise.ELMA.Documents.Web/Views/Document/GeneralInfo.cshtml
/Modules/EleWise.ELMA.Documents.Web/Views/Shared/Document/Attributes.cshtml
/Modules/EleWise.ELMA.Documents.Web/Views/Document/Links.cshtml
/Modules/EleWise.ELMA.Documents.Web/Views/Shared/Document/EditForm.cshtml
/Modules/EleWise.ELMA.Workflow.Web/Views/WorkflowTask/Execute.cshtml
/Modules/EleWise.ELMA.Workflow.Web/Views/WorkflowTask/ExecuteTabView.cshtml
/Modules/EleWise.ELMA.Workflow.Web/Views/Shared/WorkflowTask/FieldsView.cshtml
/Modules/EleWise.ELMA.Workflow.Web/Views/Shared/WorkflowTask/DefaultFieldsView.cshtml
При наличии указанных представлений в папке с конфигурацией прочтите статью Удаление представлений, влияющих на отображение сущностей через конструктор форм.
Трудозатраты
Публичные методы и интерфейсы
- Настройка «Вести журнал трудозатрат» EleWise.ELMA.Tasks.TasksSettings.WorkLog помечена как устаревшая и заменена настройкой WorkLogEnabled в EleWise.ELMA.Tasks.WorkLogSettings «Разрешить ведение трудозатрат».
- Метод EleWise.ELMA.Projects.Web.Controllers.SetCurrentMenuItem(IProject project) помечен как устаревший, вместо него используется одноимённый метод без параметров.
- Свойство EleWise.ELMA.Tasks.AutoApproveMyWorklog «Разрешить автосогласование собственных трудозатрат» помечено как устаревшее, вместо него нужно использовать группу «Автосогласование собственных трудозатрат».
Пользовательский интерфейс
1. Трудозатраты вынесены в отдельный раздел меню Задач. Страницы Администрирование трудозатрат, Мой отдел, и Мои трудозатраты объединены в одну.
Проекты+
1. Изменено меню проектов. Добавлен поиск и фильтры по проектам. Копки Добавить проект и Добавить шаблон вынесены на главную портлетную страницу проектов. Все шаблоны, проекты найти теперь в одном месте, используя поиск и фильтры.
2. Удалены кнопки «Публиковать проект», «Закрыть проект» на странице проекта. Удалён переключатель «Опубликовать проект» на странице создания проекта. Публикация и закрытие проектов реализованы через жизненный цикл проекта. По умолчанию проект теперь не публикуется, а создаётся со стадией «Черновик» жизненного цикла проекта, установленного по умолчанию для всех проектов.
3. В процессах добавлены пользовательские расширения «Публиковать проект», «Закрыть проект», «Открыть проект заново», «Изменение стадии проекта». Добавлен базовый процесс, подключённый к базовому жизненному циклу проектов.
Управление показателями
API Кода. Публичные методы и интерфейсы
Изменились методы контроллера EleWise.ELMA.KPI.Web.Controllers.IndicatorController
а. Удален метод SaveDepartmentUsers(IList<IUser> users, string name = "")
б. Изменен метод AllResponsibles(IList<IUser> users, int? page, int? pageSize) на AllResponsibles(PerformanceMyDepartmentModel model, int? page, int? pageSize)
2. Изменились методы контроллера EleWise.ELMA.KPI.Web.Controllers.PerformanceController
а. Удален метод SaveTemplate – вместо него необходимо использовать метод Save
б. В метод EditItemWeight(Guid? id, int weight, string jsonData) добавлен параметр string realWpiJsonData
в. Изменен метод AddOrgItemIndicators(string jsonMatrix, List<int> ids) на AddOrgItemIndicators(string indicatorJsonData, List<int> ids)
3. В классе EleWise.ELMA.KPI.Web.Models.Settings.MyDepartmentSettings свойство List<UserList> UsersFavorites заменено на List<long> UserIds
4. EleWise.ELMA.KPI.DTO.Extensions.GetMatrixPersonalResponsible(this IndicatorDTO indicator) возвращает IEnumerable<ResponsibilityAssignmentMatrixDTO>
5. EleWise.ELMA.KPI.Security.Roles.ResponsibleForEigenValue переименован в EleWise.ELMA.KPI.Security.Roles.ResponsiblePersonalValue
Работа с клиентами
API Кода. Публичные методы и интерфейсы
1. Перенесены методы из EleWise.ELMA.CRM.Web.Controllers.SaleController в EleWise.ELMA.CRM.Web.Controllers.InpaymentController:
public ActionResult Inpayments(GridCommand command, long saleId, bool readOnly = false)
public ActionResult AddInpayment(long? saleId)
public ActionResult EditInpayment(long id)
public ActionResult EditInpayment(SaleInpaymentEditModel model)
public ActionResult UpdateInpaymentsGrid(ISale sale)
public ActionResult DeleteInpayment(long id, bool readOnly = false)
public ActionResult CloseInpaymentsPlan(long id, Money inpaymentsTotal)
public ActionResult SetInpaymentInvoice(long id)
public ActionResult SetInpaymentDate(long id, DateTime? date)
public ActionResult SetInpaymentStatus(long id, string onclick, string prefix)
public ActionResult SetInpaymentStatus(InpaymentChangeStatusModel statusModel)
public JsonResult CheckPlanCompleted(long id)
2. Перемещены представления в модуле EleWise.ELMA.CRM.Web:
\Sale\SaleInpayments\Grid.cshtml в \Inpayment\SaleInpayments\Grid.cshtml
\Sale\SaleInpayments\Inpayments.cshtml в \Inpayment\SaleInpayments\Inpayments.cshtml
\Sale\SaleInpayments\SetInpaymentDatePopup.cshtml в \Inpayment\SetInpaymentDatePopup.cshtml
\Sale\SaleInpayments\SetInpaymentStatusPopup.cshtml в \Inpayment\SetInpaymentStatusPopup.cshtml
\Sale\SaleInpayments\EditInpayment.cshtml в \Inpayment\EditInpayment.cshtml
Список исправлений к версии 3.2.3
Обновление версии Web API
Версия веб АПИ обновлена до 1.0.2. В этой версии произведено изменение документации по перечислениям. Добавлены методы веб АПИ в MetadataService для получения метаданных наследников классов и перечислений. Добавлены методы веб АПИ в EntityService для добавления (Insert) и обновления (Update) объектов системы.
Публичные методы и интерфейсы
Свойства EleWise.ELMA.CRM.Models.IContact.Parent, EleWise.ELMA.CRM.Models.IContact.IsGroup, EleWise.ELMA.CRM.Models.ILead.Parent, EleWise.ELMA.CRM.Models.ILead.IsGroup отмечены устаревшими, они не используется в приложении и будут удалены в будущих версиях.
Изменение Экспорта-Импорта Пользовательских расширений
- В Экспорт-Импорт 3.2.0 добавлен экспорт-импорт пользовательских расширений.
- Экспорт-импорт пользовательских расширений через xml-файл убран.
- Импорт системных пользовательских расширений перенесен из EleWise.ELMA.CRM.Workflow.Processes.Components. ModuleInitializer в EleWise.ELMA.CRM.Workflow.Processes.Components.CustomActivityImport.
- Из контроллера EleWise.ELMA.Workflow.Design.Controllers.CustomActivityController удалены методы ExportSelectedItem() и Import()
- Удален класс EleWise.ELMA.CRM.Workflow.Processes. CustomActivityImport.
- Удален менеджер EleWise.ELMA.Workflow.DTO.Managers. CustomActivityE. Его метод DoNew(CustomActivityDTO oldCa, string newPrefix = "", bool copy = false) перенесен в менеджер EleWise.ELMA.Workflow.DTO.Managers. CustomActivityDTOManager.
- Файлы ресурсов модуля EleWise.ELMA.CRM.Workflow.Processes с системными пользовательскими расширениями (RelationshipCallCreate, RelationshipMailCreate, RelationshipMeetingCreate, SaleCreate, SalePropertiesChange) заменены на соответствующие им файлы конфигурации экспорта-импорта.
Изменение правил проверки процесса с пользовательскими расширениями
- В проверку/публикацию процесса добавлена проверка активити Пользовательское расширение:
- при отсутствии Пользовательского расширения в системе будет выведено предупреждение. Публикация процесса при этом выполнится.
- при отсутствии в системе опубликованной версии пользовательского расширения будет выведена ошибка. Публикация процесса будет прервана.
Пользовательский интерфейс
Изменен визард экспорта
В шаг «Процессы» добавлена закладка со списком доступных для экспорта пользовательских расширений
Управление показателями
API Кода. Публичные методы и интерфейсы
Изменился способ получения пользователей, ответственных за персональный показатель – вместо
var responsibleMatrix = indicator.GetResponsiblesMatrix(); var responsibleItem = responsibleMatrix.GetPermissionsByRole(Roles.Responsible).FirstOrDefault(); var users = responsibleItem.GetAllUsers();
необходимо использовать:
var users = indicator.GetResponsiblesMatrix().GetAllUsersByRole(Roles.ResponsiblePersonalValue);
Пользовательский интерфейс
Изменены настройки персонализации для показателя
Было:
Стало:
Теперь настройки персонализации производятся на отдельной вкладке «Персонализация»:
В веб-интерфейсе ввод значений по персоналиям вынесен в отдельную вкладку
Интеграция с телефонией в CRM
API Кода. Публичные методы и интерфейсы
1. Класс EleWise.ELMA. IntegrationInfratel.Components.InfratelOutgoingCallProvider переименован в InfratelTelephonyProvider.
2. Класс EleWise.ELMA.IntegrationInfratel. Web.Components.InfratelPathProvider перенесен и переименован в EleWise.ELMA.CRM.Telephony.Web.Components. TelephonyPathProvider
3. В классе EleWise.ELMA.IntegrationInfratel. InfratelSettings поля UnknownNumberEntityValues, ReplacePhoneStringByLink, UnknownNumberEntity перенесены в класс EleWise.ELMA.CRM.Telephony.TelephonySettings.
4. Классы ClientChangeModel, PhoneCallInfo из EleWise.ELMA.IntegrationInfratel.Web.Models перенесены в EleWise.ELMA.CRM.Telephony.Web.Models
5. Классы CalendarPortletColumn, MakeCallToolbarButton из EleWise.ELMA.IntegrationInfratel.Web.Components перенесены в EleWise.ELMA.CRM.Telephony.WebComponents
6. Удалены классы EleWise.ELMA.IntegrationInfratel.Web.Models.MarketingActivityEntity, EleWise.ELMA.IntegrationInfratel.Web.Models. NewEntityModel, EleWise.ELMA.IntegrationInfratel.Web.Components.CallEntityManager, EleWise.ELMA.IntegrationInfratel.Web.ExtensionPoints.IInfratelCreateCallParameters, EleWise.ELMA.IntegrationInfratel.Web.Components.CreateCallParameters
7. Перенесено и переименовано представление из EleWise.ELMA.IntegrationInfratel.Web\Views\Infratel\Index.cshtml в EleWise.ELMA.CRM.Telephony.Web\Views\Shared\ClientSelect.cshtml
8. Перенесены представления ContractorDetails.cshtml, ContactDetails.cshtml, LeadDetails.cshtml, Done.cshtml, EmptyPhone.cshtml, ClientChangePopup.cshtml, OutputCall.cshtml, CreateNew.cshtml из EleWise.ELMA.IntegrationInfratel.Web\Views\Infratel\ в EleWise.ELMA.CRM.Telephony.Web\Views\Shared\, ClientChange.cshtml из EleWise.ELMA.IntegrationInfratel.Web\Views\Infratel\Shared\ в EleWise.ELMA.CRM.Telephony.Web\Views\Shared\, PhoneSet.cshtml из EleWise.ELMA.IntegrationInfratel.WebViews\Shared\DisplayTemplates\Entities\ в EleWise.ELMA.CRM.Telephony.Web\Views\DisplayTemplates\Entities\.
9.Удалены представления CreateNewClientChange.cshtml, CallComment.cshtml из EleWise.ELMA.IntegrationInfratel.Web\Views\Shared\
Веб документы
Пользовательский интерфейс
Все наследники от системного типа веб-документ ведут себя как веб-документ
Было:
Если в типах документа создавать новый тип с базовый системным классом веб-документ, то в веб части он вел себя как обычный документ. Открывался как карточка
Стало:
Ведет себя как системный веб-документ. Не содержит файлов, отображается контент по умолчанию.
В данном документе приводится список изменений версий системы, которые могут значительно повлиять на работу системы. Перед обновлением ELMAрекомендуем внимательно ознакомиться с исправлением версии, чтобы предотвратить возможные негативные последствия и необратимые изменения.
Список исправлений к версии 3.2.0
Изменение совместимости ELMA Агента
1.Начиная с версии 3.2.0, ELMAАгент не поддерживаетработу с версией сервера ELMA2.x
Совместимость клиента ELMA for iPAD
1.Клиент ELMAforiPadтекущей версиине поддерживает сервер ELMA версии 3.2.0 и выше. Новая версия клиента проходит процедуру рассмотрения в магазине приложений Apple.
Изменение модели данных
Периодические события
1.В сущности EleWise.ELMA.Calendar.Models.ICalendarEventсвойства удалены, для совместимости перемещены в файл CalendarEvent.CustomCodeTemplate.csи помечены как устаревшие
a.System.Nullable<System.DateTime> DoneDate
b.System.Nullable<System.DateTime> LimitStartDate
c.EleWise.ELMA.Calendar.Models.CalendarEventPeriod Period
d.System.Nullable<System.DateTime>LimitEndDate
e.System.Nullable<int>SerialNumber
f.stringPeriodSpace
g.boolIsTemplate
2. Периодическое событие вынесено в отдельную сущность EleWise.ELMA.Calendar.Models.ICalendarEventPeriodical
Изменение модели показателей
1.При обновлении на данную версию удалятся все данные по стратегическим картам, процессам и панелям управления. При открытии объекта с диаграммой в дизайнере все данные с диаграммы удалятся
2.В текущей версии скрываются разделы Процессы и Объекты управления. Они будут возвращены в следующих версиях.
Изменение версии Web API до версии 1.0.1
Версия WebAPI изменилась на 1.0.1, это связано с добавлением новых необязательных параметров в некоторые функции (подробнее в базе знаний). Проверьте, что ваши приложения правильно реагируют на такое изменение.
API Кода. Публичные методы и интерфейсы
Календарь
1.Для работы с периодическими сущностями добавленинтерфейс EleWise.ELMA.Common.Models.IPeriodicalEntityи менеджер EleWise.ELMA.Common.Managers.IPeriodicalEntityManager
2. Метод EleWise.ELMA.Calendar.Managers.CalendarEventManager. UpdatePeriodEvent(ICalendarEvent template, DateTime? startDay = null, DateTime? endDay = null) отмечен устаревшим
3. Метод EleWise.ELMA.Calendar.Managers.CalendarEventManager.Save(ICalendarEvent obj, bool onlySave, bool changePeriod = false) отмечен устаревшим
4. Метод EleWise.ELMA.Calendar.Managers.CalendarEventManager.GetNextDate(CalendarEventPeriod period, DateTime fromDate, DateTime currentDate) отмечен устаревшим, вместо него нужно использовать метод EleWise.ELMA.Common.Extensions.PeriodicalEntityHelper.GetNextDate(this Periodicity period, DateTime fromDate, DateTime currentDate)
5. Метод EleWise.ELMA.Calendar.Managers.CalendarEventManager.GetNextDate(CalendarEventPeriod period, DateTime currentDate) отмечен устаревшим, вместо него нужно использовать метод EleWise.ELMA.Common.Extensions.PeriodicalEntityHelper.GetNextDate(this Periodicity period, DateTime currentDate)
Исключение библиотеки ECM7.Common
Из поставки исключена библиотека ECM7.Common. Она содержала несколько методов-расширений впространстве имен Systemдля типов String (IsNullOrEmpty, FormatWith, Repeat), DateTime и коллекций. Сейчас эти методы доступны в сборке EleWise.ELMA.SDK, пространство имен EleWise.ELMA.Extensions.
В случае если библиотека ECM7.Common использовалась в сценариях, есть 2 варианта решения:
- Загрузить файл ECM7.Common.dll с сайта техподдержки и скопировать его в подпапку Web\bin папки с установленной ELMA (например, для редакции «Стандарт» по умолчанию это папка C:\ELMA3-Standart\Web\bin). После этого сценарии должны работать по-старому через данную библиотеку.
- В сценариях, где использовались методы из данной библиотеки, нужно дописать пространство имен (usingEleWise.ELMA.Extensions;) и перепубликовать их.
Ошибка в веб-части со следующим содержанием
говорит о том, что в сценариях использовались методы из библиотеки ECM7.Common, и необходимо применить один из вариантов решения, изложенных выше.
Компоненты и расширения
1.Следующие компоненты перемещеныиз видимости publicв internal:
a. internal class MembershipService
b. internal class UserModelMembershipEventHandler
c.internalclassLdapUserModelMembershipEventHandler
Использование их в плагинах напрямую не допустимо.
Управление показателями
1. Интерфейс EleWise.ELMA.KPI.Interfaces.IControlPanel переименован в EleWise.ELMA.KPI.Interfaces.IDiagramPanel
2. Удален методEleWise.ELMA.KPI.Interfaces.GetNestedIndicators(IIndicator indicator, IEnumerable<IIndicator> indicators)
3. Добавлен метод EleWise.ELMA.KPI.Interfaces.GetNestedIndicators(IIndicator indicator, ConcurrentDictionary<Guid, ICollection<IIndicator>> cache);
4. Удален метод EleWise.ELMA.KPI.Interfaces.GetParentIndicatorsIfNested(IIndicator indicator, IEnumerable<IIndicator> indicators)
5. Добавлен методEleWise.ELMA.KPI.Interfaces.GetParentIndicatorsIfNested(IIndicator indicator, ConcurrentDictionary<Guid, ICollection<IIndicator>> cache, ConcurrentDictionary<Guid, ICollection<IIndicator>> nestedIndicatorsCache)
Работа с БД
1. Добавленыследующие методы в абстрактный класс EleWise.ELMA.Runtime.Db.Migrator.Providers.Dialect
public abstract string QuoteSymbol() // Символ кавычки для текста;
public abstract string ConcatenateSymbol() // Символ объединения двух строк;
public abstract string IsNull(string check_expression, string replacement_value)// ФункцияIsNull.
public abstract string QuoteString(string text) // Заключить текст в кавычки.
2. В интерфейс EleWise.ELMA.Runtime.Db.Migrator.Framework.ITransformationProviderдобавленметод string Count(string query) (Создать запрос на получение числа строк).
Фильтры
1.В метод EleWise.ELMA.BPM.Web.Common.Models.FilterModel.FilterModel(IFilterfilter, GuidfilterObjectTypeUid,boolsubTypes, Guid? typeUid = null, Guid? mainTypeUid = null) добавлен необязательный параметр enableEqlQuery=false , который отвечает за включение/отключение EQLв создаваемом фильтре
2.Компонент FilterFilterProvider перенесен из пространства имен EleWise.ELMA.CRM.Web.Componentsв EleWise.ELMA.BPM.Web.Common.Components
3.Измененинтерфейс IFilterPermissionResolver. Добавлен в него метод
bool SupportedType(IFilterFolder filter)
Рабочий календарь
1.Добавлен метод EleWise.ELMA.Scheduling. IProductionCalendarService. EvalTargetTime (DateTimestartTime, doubleintervalHours) для вычисления даты и времени по истечении срока в часах в соответствии с календарем.
Отличие от первоначального методаEleWise.ELMA.Scheduling.IProductionCalendarService. EvalTargetTime(DateTimestartTime, TimeSpaninterval) в том, что он учитывает дни в параметре interval, т.е. каждые 24 часа интервала являются одним рабочим днем.
2.Изменен метод ToStringв классе EleWise.ELMA.Common.Models.WorkTime, теперь он возвращает такое-же значение, как метод ToFormatString.
Цифровая подпись
Класс EleWise.ELMA.Security.Managers.UserCertificateManager
1. Метод public void SignInByCertificate(string signature, string signedText, bool rememberMe)заменен методом public void SignInByCertificate(string signature, string signedText)
2. Метод public void RegisterCertificateByThumbprint(string thumbprint, Models.IUser user = null)заменен методом public IUserCertificate RegisterCertificateByThumbprint(string subject, string thumbprint, Models.IUser user = null)
3. Метод public void RegisterCertificateBySignature(string signature, string signedText, Models.IUser user = null) заменен методом public IUserCertificate RegisterCertificateBySignature(string signature, string signedText, Models.IUser user = null)
4. Метод public void UnRegisterCertificate(Models.IUser user = null) заменен методом public void UnRegisterCertificate(long id, Models.IUser user = null)
Класс EleWise.ELMA.Security.Managers.UserPublicKeyTokenManager
1. Метод public void RegisterToken(string key, Models.IUser user = null) заменен методом public void RegisterToken(string name, string deviceId, string key, Models.IUser user = null)
2. Метод public void UnRegisterToken(Models.IUser user = null) заменен методом public void UnRegisterToken(long id, Models.IUser user = null)
3. Метод public IEnumerable<IUserPublicKeyToken> GetTokens(IUser user) заменен методом public IEnumerable<IUserPublicKeyToken> GetTokens(IUser user = null)
Перенос классов маппинга DTO свойств метаданных параметров.
1.Классы EleWise.ELMA.Workflow.DTO.AutoMaps.EntityPropertyMetadataMapи EleWise.ELMA.Workflow.DTO.AutoMaps.EntityPropertyMetadataMap<TSource, TTarget> овместимость клиента ELMA for iPADgt; LimitStartDate
a.System.Nullable
b.System.Nullable&
c.EleWise.ELMA.Calendar.Models.CalendarEventPeriod Period
d.System.NullableSystem.DateTime&LimitEndDate
e.System.Nullable&int&SerialNumber
f.stringPeriodSpace
g.<s">удалены, для совместимости перемещены в файл CalendarEvent.CustomCodeTemplate.csи помечены как устаревшие
Изменение Экспорта-Импорта
1.Выпущена новая версия Экспорта-Импорта 3.2.0. Данная версия несовместимас любыми предыдущими.
2.Все экспортируемые объекты и метаданные объединяются в группы (далее пакеты), импорт которых будет осуществляться в рамках одной транзакции.
3.Создан класс EleWise.ELMA.Deploy.ExportHelper.ExportHelperBuilder<T>, позволяющий по указанным правилам экспорта-импорта (EleWise.ELMA.Deploy.ExportHelper.ExportRule) автоматически формировать пакеты объектов.
4.Процесс импорта разделен на два этапа. На первом этапе импортируются метаданные (справочники, перечисления и документы), после чего производится их публикация и перезагрузка сервера (при необходимости). На втором этапе импортируются данные (отчеты, процессы, группы пользователей, оргструктура, данные справочников).
5.Добавленмеханизм слияния метаданных (справочники, перечисления, документы) при импорте. Предусматривается объединение свойств, блоков и скриптов.
6.Формат файла конфигурации экспорта-импорта измененс XML-файла (*.xml) на файл конфигурации ELMA 3 (*.elma3).
Улучшение и исправления в Экспорте-Импорте 3.2.0
1.Добавленэкспорт пользовательских перечислений
2.Добавленэкспорт показателей
3.Добавленыотдельныелоги для экспорта (для включения требуется настройка) и импорта (включены по умолчанию).
4.Добавленавозможность экспорта-импорта элементов процесса «Внешний подпроцесс», «Внутренний подпроцесс», «Генерация документа».
5.Добавленавозможность экспорта-импорта файлов(EleWise.ELMA.Files.BinaryFile) ивложений(EleWise.ELMA.Common.Models.IAttachment), являющихся свойствами данных справочников.
Изменение работы со свойствами метаданных
1.После публикации свойства со связью N-N запрещеноменять названия родительской и зависимой колонок.
Замена библиотек Nevron на новую версию
1.В KPI все диаграммы хранятся в бинарном виде. В новой версии библиотек сменился формат. Все диаграммы в KPI нарисованные ранее работать не будут (будут потеряны).
2.Изменена палитра рисования элементов диаграммы. На пользовательских функциях отразиться не должно.
Пользовательский интерфейс
Изменен визард экспорта
1.В шаг «Группы и оргструктура» пункт «Выгрузить оргструктуру» сделан отключеннымпо умолчанию.
2.В шаг «Объекты и справочники» добавленазакладка со списком доступных для экспорта перечислений
3.Добавленшаг экспорта показателей
Изменен визард импорта
1.Для импорта можно выбрать только файлы конфигурации *.elma3
2.Добавленшаг проверки импортируемой конфигурации, позволяющий проверить совместимость импортируемых данных с имеющимися.
Изменен список отчетов в Настройке доступа к отчетам
Из списка отчетов в Настройке доступа к отчетам (Администрирование – Внутренний портал - Отчеты) исключены подотчеты. Их настройки берутся из родительского отчета.
Убран выбор «Конечная стадия» в стадиях сделки
Дерево задач
1.Убранпункт «Задачи от меня – Контроль выполнения», поскольку он повторяет пункт «Задачи от меня – Выполненные»
2.Переименованпункт «Завершенные задачи» в «Архив задач»
3.Исправленыусловия отображения задач в разделах выполненных и архивных задач:
a.в разделе архивных задач отображаются все задачи со статусами «Закрыто автором», «Выполнено», «Невозможно выполнить», «Выполнено и проконтролировано», «Невозможно выполнить и проконтролировано»
b.в разделе выполненных задач отображаются задачи (простые задачи) со статусами «Выполнено», «Невозможно выполнить», «Отказано в предварительном согласовании»
Поиск задач
Изменен поиск по статусу задачи, выделены группирующие статусы активных, просроченных, непросроченных и завершенныхзадач
Редактирование дерева общих фильтров справочника
В правах доступа к справочникам добавлена привилегия «Редактирование дерева общих фильтров справочника», по умолчанию права есть у группы Администраторы
Возможность экспортировать записи справочников, контрагентов, контактов, возможностей и сделок в Excel
При наличии прав доступа в списке появляется кнопка для экспорта записей в Excel
При нажатии на нее формируется xlsx-файл с данными
Портал и администрирование
1.Меню Администрированиетеперь по умолчанию будет растягиваться на всю высоту (только на новых базах или при сбросе меню)
2.Переработана структура меню Администрирование (только на новых базах или при сбросе меню)
3.В левом меню добавлен 3-й уровень элементов отображения
Документооборот
1.В карточке документа убрана кнопка «Рассылка документа», вместо нее в меню «Отправить» добавилась кнопка «Обсуждение документа»
2.Переработано расположение кнопок в тулбаре списка документов. В принципе ничего не убрано, поэтому все есть то, что было, надо просто внимательно смотреть
3.Кнопка «Регистрация документа» на карточке документа убрана в подменю «Действия»