0.42 - Уильям Уоллес

Материал из 3v-wiki
Перейти к навигации Перейти к поиску

licensed-image.jpg

Критичные изменения

  • В конфигурационных файлах в CommentSettings свойства TitleTemplate и BodyTemplate сейчас находятся внутри элементов в коллекции Rules. В правилах теперь задаются не идентификаторы(Id), а коды справочников (Code)

Новая функциональность

Справочники

История справочников. Права на элементы

Добавлена проверка прав на элемент при получении его истории. Теперь, если у пользователя нет прав на элемент, то соответственно его историю он получить не сможет.

Отчёты

Задаваемый формат для выбора файлов

Появилась возможность задать ограничение формата атрибутов типа Файл в отчётах. Для этого в свойстве columnOptions.dataControlOptions.mask следует задать загружаемые форматы файла вида: ".pdf,.xlsx,.docx". Несколько форматов перечисляются через запятую.

JSON
 1 {
 2    "topHeader": {
 3        "topHeaderItems": [
 4         {
 5          ...      
 6   
 7            "columnOptions": {
 8              ...
 9 
10               "dataControlOptions": {
11                ...
12 
13                "mask": ".pdf,.xlsx,.docx"            
14               }      
15            }
16        ]
17    }
18 }


формат файла.gif



Также теперь при загрузке файла превышающего 5МБ файл не будет загружаться и будет всплывать предупреждение. Максимальный размер файла задаётся в конфигурационном файле с помощью свойства fileSizeLimit в мегабайтах. По умолчанию равен 5МБ.

башой файл.png



"Сворачивать данные по справочнику" для показателей на справочнике

Реализована функциональность сворачивания по справочнику для показателя на справочнике. Для включения сворачивания требуется в конструкторе отчетов задать "Метод сворачивания данных по справочникам" в свойствах показателя и поставить отметку "Сворачивать данные по справочнику" в свойствах справочника. Подробнее о сворачивании данных по справочнику можно прочитать здесь.

Реализация комбинации горячих клавиш Ctrl-Ins / Shift-Ins ​

Добавлена возможность копировать/вставлять данные в отчёте с помощью комбинаций Ctrl-Ins / Shift-Ins. Теперь скопировать данные можно тремя способами: комбинациями Ctrl-С/Ctrl-V и Ctrl-Ins/Shift-Ins или через контекстное меню.

Формы

Обращение к файлам в справочнике и скачивание архивом

Добавлена возможность скачивать файлы с помощью BusinessLogicApiAction без прямого обращения к файлу в файловом хранилище. Подробнее об этой настройке можно прочитать здесь. Также добавлена возможность скачивать файлы в .zip формате. Для этого следует использовать пользовательское действие с запросом https://.../filestorage/api/File/GetFilesAsArchive, передавая в тело запроса идентификаторы(FileId) файлов.

архив.gif




Согласование

Подстановка регламентных дат

Реализована возможность подстановки регламентных дат состояние процесса в шаблоны уведомлений согласования %changed_date%(дата начала) и %regulation_date%(дата окончания).

Пример шаблона уведомления:

 Уважаемый (ая), %subject%, Вам поступило новое задание '%new_state%' по заявке [%param1.1%]>%param1.2%.<br><br>Комментарий: %comment% <br>  <br>Регламентные сроки по заданию:<br><br>Начало: %ChangedDate%<br><br>Конец: %RegulationDate%

Пример уведомления в письме:

Уважаемый (ая), Иванов Иван, Вам поступило новое задание 'Предварительное рассмотрение' по заявке Заявка 1 (0001).
Комментарий: Документы загружены

Регламентные сроки по заданию:
Начало: 01.11.2021
Конец: 01.01.2022
JSON
 1 {
 2   "notifications": {
 3       "primary": {
 4         "stateNotifications": [
 5           {
 6             "stateId": 1,
 7             "template": {
 8               "title": "Состояние 1",
 9               "body": "Дата начала %changed_date%"
10             },
11             "recipients": {
12               "subjects": [
13                 {
14                   "subjectId": "76b8102c-0528-46bc-a6a5-6007a35ffde3",
15                   "discriminator": "FixedSubjectDescriptionModel"
16                 }
17               ],
18               "discriminator": "SubjectNotificationsReceipientsModel"
19             }
20           },
21           {
22             "stateId": 2,
23             "template": {
24               "title": "Состояние 2",
25               "body": "Дата начала %changed_date%, дата окончания %regulation_date%"
26             },
27             "recipients": {
28               "subjects": [
29                 {
30                   "subjectId": "76b8102c-0528-46bc-a6a5-6007a35ffde3",
31                   "discriminator": "FixedSubjectDescriptionModel"
32                 }
33               ],
34               "discriminator": "SubjectNotificationsReceipientsModel"
35             }
36           }
37         ]
38       }
39     }
40   }


Запрет для владельца процесса

В 0.40 релизе был введен ответственный за процесс(owner), который имел права на любые действия с процессом. Сейчас есть возможность запретить ему выполнение шагов. Для этого в разрешениях нужно указать идентификатор субъекта владельца.

JSON
 1 {
 2   "template": {
 3      ...
 4 
 5      "permissions": [
 6       {
 7         "stepId": 2,
 8         "subject": {
 9           "subjectId": "38de6001-98cd-4859-bd46-8387ef1474aa",
10           "discriminator": "FixedSubjectDescriptionModel"
11         },
12         "type": "Deny"
13       }
14     ], 
15     "owner": {
16       "subjectId": "38de6001-98cd-4859-bd46-8387ef1474aa",
17       "discriminator": "FixedSubjectDescriptionModel"
18     }
19   }  
20 }

Связь параметров процесса и его подпроцесса

Реализована настройка связи между параметром родительского процесса и его подпроцесса. Это позволяет автоматически подтягивать параметр в подпроцесс, ранее пользователь делал это вручную, что вело к ошибкам в процессе согласования.

JSON
 1 {
 2   "template": {
 3     "schema": {
 4       "states": [
 5         ...        
 6         {
 7           "icon": {
 8             ...
 9           },
10           "dataAvailabilitySettings": {
11             ...
12           },
13           "subProcesses": [
14             {
15               "workflowId": 144155,
16               "name": "Child 1",
17               "parameterMappings": [
18                 {
19                   "parentProcessParameterId": 1,
20                   "subProcessParameterId": 1
21                 }
22               ]
23             }
24           ],
25           "id": 3,
26           "name": "Замапленный параметр"
27         }       
28       ]      
29     }    
30   }  
31 }


параметры согласования.gif



Навигатор

Интерфейс управления ролями и пользователями

Создан интерфейс управления ролями и пользователям. Открывается он по кнопке на левой панели управления. Через него можно:

  • создать или удалить роль,
  • создать или удалить пользователя,
  • включить в роль пользователя,
  • найти пользователя,
  • удалить пользователя

При создании пользователя есть ограничение по количеству символов:
Email: 50 символов
Пароль: 50 символов
Логин: 30 символов
Фамилия: 30 символов
Имя: 30 символов

При создании роли ограничение по количеству: 50 символов

права(не здесь).gif



Уведомления

Добавление уведомления в справочник при незаданной почте

В рамках 0.40 релиза была реализована возможность записи уведомлений в справочник. Теперь в него будут записываться уведомления без указанной почты(WHOM_TO_NOTIFY_EMAIL) или логина(WHOM_TO_NOTIFY). Если не указан логин, то сообщение добавляется в справочник и отправляется на указанную почту с текстом(TEXT), если не указана почта, то добавляется соответствующая строка в справочник. CommentSettings свойства TitleTemplate и BodyTemplate сейчас находятся внутри элементов в коллекции Rules. В правилах(Rules) теперь задаются не идентификаторы(Id'), а коды справочников (Code).

JSON
 1 {
 2   "PathBase": "/commentsprocessor",
 3   "CommentSettings": {
 4     "Rules": [
 5       {
 6         "Action": "SendToEmail",
 7         "Dictionary": {
 8           "Code": "DICT_COMMENTS_WITH_FILE_ATTR",
 9           "AttributeLoginsId": 26,
10           "AttributeEmailsId": 30,
11           "Attributes": {
12             "Text": 2,
13             "ThisIsAbsentAttr": 999
14           }
15         },
16         "TitleTemplate": "Заголовок",
17         "BodyTemplate": "\"${Text}\""
18       }      
19     ]
20   },
21   "KafkaReaderSettings": {
22     ...
23   },
24   "KafkaWriterSettings": {
25     ...
26   }
27 }

Общее

Новые функции

Добавлены новые функции в NCalc:

  • Flatten() - разворачивает все внутренние коллекции в одну общую,
  • JPath() - вычисление текста соответствующего значению в JSON.

Подробнее об их использовании и настройке можно прочитать здесь.

Конструкторы

Конструктор форм

Вынос выбора атрибута и источника отображения данных

В конструктор вынесена настройка отображаемого атрибута в компонентах "Раскрывающийся список" и "Выбор из списка".

bcnjxybrb jnj,hf;tybz lfyys(.png



Локализация текстовых сообщения в модальных окнах

Добавлена локализация на английский язык для всплывающих окон в формах.