Список критичных изменений системы версий 3.1.х
Список исправлений к версии 3.1.7
Публичные методы и интерфейсы
1. Статические (static) методы EleWise.ELMA.Projects.Managers.CanBePrevious (IProjectTask candidate, IProjectTask task) и EleWise.ELMA.Projects.Managers.CanBePrevious (long candidateId, IProjectTask task) заменены на одноимённые виртуальные (virtual). Вместо вызова метода ProjectTaskManager.CanBePrevious (параметры) нужно использовать ProjectTaskManager.Instance.CanBePrevious(параметры). На данные методы установлен атрибут для кеширования возвращаемых результатов в текущем контексте.
2. Свойство CAServerAddressкласса EleWise.ELMA.Documents.Components.DigitalSignatureSettings перенесено в класс EleWise.ELMA.Security.Components.SecuritySettings.
Публичные классы
1. КлассEleWise.ELMA.Documents.DigitalSignature.LocalStorageManagerперенесён в модульSecurityпод именемEleWise.ELMA.Secrity.Managers.LocalStorageManager
2. КлассEleWise.ELMA.Documents.DigitalSignature.CaManager перенесён в модульSecurityпод именемEleWise.ELMA.Security.Managers.CertificationAuthorityManager
3.КлассEleWise.ELMA.Documents.Models.DigitalSignature.CertificateInfo перенесён в модуль Securityпод именем EleWise.ELMA.Security.Models.CertificateInfo
Изменение принципа работы модуля Интеграция с LDAP.
1. Изменен принцип проверки пользователя в LDAPпри входе в систему. Теперь пользователь LDAP, ассоциированный с учетной записью в ELMA, может находиться в любом месте дерева каталога, начиная с узла, указанного в настройке «Путь к пользователям». Настройка «Фильтр авторизации» больше не используется.
2. Пользователь, указанный в настройке «Пользователь», должен быть активным в LDAPне только на момент ассоциирования учетных записей ELMA с пользователями LDAP, но и на протяжении всего времени использования возможностей модуля.
Добавлена возможность убрать обязательность заполнения поля «Фамилия» в физическом лице
В случае, если у клиента в папке с конфигурацией переписано представление \Modules\EleWise.ELMA.CRM.Web\Views\Shared\ContractorIndividual\ContractorIndividualEditForm.cshtml, то поле «Фамилия» в физическом лице станет не обязательной для заполнения, чтобы вернуть обязательность нужно в замененное представление в строку (по умолчанию строка 47):
b.PropertyRow(m => m.SecondName).Order(3); добавить до точки с запятой (‘;’): .CaptionAttributes(a => a.Required = true).EditorAttributes(a => a.Required = true) должна получиться следующая строка: b.PropertyRow(m => m.SecondName).CaptionAttributes(a => a.Required = true).EditorAttributes(a => a.Required = true).Order(3);
Список исправлений к версии 3.1.6
APIКода. Публичные методы и интерфейсы
1. Свойство EleWise.ELMA.CRM.Models.ISaleFilter.Responsible типа EleWise.ELMA.Security.Models.IUser отмечено устаревшим, вместо него нужно использовать свойствоEleWise.ELMA.CRM.Models. ISaleFilter.Responsibles типа Iesi.Collections.Generic.ISet<EleWise.ELMA.Security.Models.IUser>
2. Интерфейс EleWise.ELMA.KPI.Managers.IPeriodicityService отмечен устаревшим, вместо него нужно использовать интерфейс EleWise.ELMA.KPI.Common.Interfaces.IPeriodicityService
3. Свойство EleWise.ELMA.Documents.Models.IFolder.SubObjectsудалено. Вместо него в скриптах надо использовать метод расширения класса EleWise.ELMA.Documents.Models.IFolder - SubObjects(bool onlyDocuments = false). Чтобы он был доступен нужно прописать usingEleWise.ELMA.Documents.
Модель данных
Поля в таблице User
1. Установлены следующие ограничение на поля таблицы User (Пользователь): FirstName (255), MiddleName (255), LastName (255), FullName (2000)
Поля в таблице ProjectTask
1. Установлены следующие ограничение на поле таблицы ProjectTask(Проектная задача): MSProjectID(2000)
Приведение Uid всех объектов к уникальному значению.
1. Повторяющиеся или пустые Uid сущностей заменены на уникальные новые (первое из списка повторяющихся оставлено прежним). В случае загрузки или поиска объектов по Uid в скриптах, следует проверить правильность их работы.
2. Имеющиеся ранее уникальные индексы на столбцах Uid некоторых таблиц базы данных удалены.
3. Для столбцов Uid таблиц базы данных, хранящих информацию о сущностях, созданы новые уникальные индексы, именованные в соответствии с названием таблицы. Любые сохраняемые объекты обязаны иметь уникальный Uid. В скриптах для создания объектов следует использовать InterfaceActivator. Либо, если используется конструктор, устанавливать новый уникальный Uid самостоятельно (при помощи метода Guid.NewGuid()).
Пример, при создании объекта Телефон (Phone):
var newPhone = EleWise.ELMA.Model.Services.InterfaceActivator.Create<IPhone>();
4. Удалены объекты типа Контекст отчета (ReportParametersContainer), не используемые ни в одном отчете.
5. Удалены объекты типа Контекст процесса (ProcessContext), не используемые ни в одном процессе.
6. В реализации интерфейса ITransformationProvider добавлены методы AddUniqueIndex, позволяющие создавать уникальные индексы.
7. Изменено клонирование объектов: системное свойство Uid объекта не клонируется.
Примеры ошибок при несоблюдении рекомендаций пункта 3.
Пример 1.
Пример 2.
Пользовательский интерфейс
Изменений нет.