Проверить, что возможно редактирование элементов формы правила (в том числе - и сроков начала и окончания действия) с учетом Таблица: ТАБЛИЦАТАБЛИЦА
table{margin:50 auto; width:100%}.
{background:lightgrey}. |Блок формы правила|Элементы блока правила|Тип|Редактирование|Обязательность для заполнения|Описание|Проверка|
| |Секция|Поле со списком|НЕТ|НЕТ|Заполняется, исходя из значения этого поля в списке правил. Может быть не заполнено при создании/изменении правила работником, имеющим привилегии на корректировку общих правил по всем секциям. Должно быть заполнено при создании/изменении правила работником, не имеющим привилегии на корректировку общих правил по всем секциям.||
|Основные сведения|Название правила|Текстовое поле|ДА|ДА|Название правила, которое будет отображаться в списке правил|При прохождении валидации, если поле не заполнено, то оно подсвечивается красной рамкой и, при активации специального значка, отображается следующий текст ошибки: +Обязательное для заполнения поле+|
| |Источник|Поле со списком|НЕТ|-|Содержит 2 значения:
Работник (присваивается при создании правила работником биржи с использованием Конструктора правил);
Система (присваивается при программном создании правила).| |
| |Тип правила|Поле со списком|ДА|ДА|Значения списка:
Ошибка
Предупреждение
Информационное сообщение
Ограничение значений списка.
Допускается выбор только одного значения.|При прохождении валидации, если поле не заполнено, то оно подсвечивается красной рамкой и, при активации специального значка, отображается следующий текст ошибки: +Обязательное для заполнения поле+|
| |Дата начала действия|Дата|ДА|ДА|Первый день, когда правило считается действующим. Доступен выбор из календаря.
При создании (в том числе путем копирования) и при редактировании планируемого правила Дата начала действия должна быть >= Текущей даты.|При прохождении валидации:
Если поле не заполнено, то оно подсвечивается красной рамкой и, при активации специального значка, отображается следующий текст ошибки: +Обязательное для заполнения поле+
Если введена(выбрана) некорректная дата либо некорректный формат даты, что отображается следующий текст ошибки: +Значение должно быть датой. Формат значения должен соответствовать шаблону ДД.ММ.ГГГГ.+
Если введена дата, которая меньше текущей, то отображается следующее сообщение: +Дата начала действия должна быть больше либо равна Текущей дате+|
| |Дата окончания действия|Дата|ДА|НЕТ|Последний день, когда правило считается действующим. Доступен выбор из календаря.
Дата окончания действия должна быть >= Дата начала действия либо быть незаполненной.|При прохождении валидации:
Если введена(выбрана) некорректная дата либо некорректный формат даты, что отображается следующий текст ошибки: +Значение должно быть датой. Формат значения должен соответствовать шаблону ДД.ММ.ГГГГ.+
Если введена дата, которая меньше текущей, то отображается сообщение: +Дата окончания действия должна быть больше либо равна Дата начала действия либо быть незаполненной.+|
|Область применения (если; условия применяются через «и»)|\5.Для правил с источником «Система» все поля области применения закрыты для редактирования. Для правил с источником «Работник» применяются правила, описанные ниже.
Комментарий»: все правила, указанные в области применения, применяются с агрегатором «и» - если необходимо задать условие «или» необходимо либо создать новое правило, либо задать такое условие в блоке «Дополнительно (если)».| |
| |Уровень правила|Поле со списком|ДА/НЕТ|ДА|В списке 4 значения:
Общее правило (по обязательным полям всех заявок всех секций).
Применяется к модели заявки и всем ее товарам.
Применяется к модели заявки + номенкл. группа/товарная группа/товар.
Применяется к заявкам сессии.
При изменении уровня применения правила очищаются и становятся доступны/недоступны иные поля области применения. Допускается выбор только одного значения.|Если источник = “Работник”, то при прохождении валидации, если введена(выбрана) некорректная дата либо некорректный формат даты, отображается следующий текст ошибки: +Значение должно быть датой. Формат значения должен соответствовать шаблону ДД.ММ.ГГГГ.+|
| |Модель заявки|Поле со списком|ДА/НЕТ|ДА/НЕТ|- Поле с выпадающим списком названий моделей заявки и единичным выбором.
Доступно и обязательно для заполнения, если уровень правила = «Применяется к модели заявки и всем ее товарам» или «Применяется к модели заявки + номенкл. группа/товарная группа/товар», иначе – очищено и не доступно для заполнения.
p.s т.к. для одной сессии может быть несколько заявок, то поле Модель заявки должно быть доступным и обязательным и тогда, когда уровень правила = Применяется к заявкам сессии.| |
| |Сессия|Поле со списком|ДА/НЕТ|ДА/НЕТ|- Поле с выпадающим списком сессий, созданных не по шаблону и единичным выбором.
В поле отображаются номера, даты и названия сессий в статусах «Подготовка», «В процессе переноса в торги».
Список отсортирован по дате сессии по возрастанию и названию сессии по алфавиту.
Доступно и обязательно для заполнения, если уровень правила = «Применяется к заявкам сессии», иначе – очищено и не доступно для заполнения| |
| |Наименование НГ/ТГ/товара| |ДА/НЕТ|ДА/НЕТ|- Элемент управления, аналогичный элементу управления в поле Наименование НГ/ТГ/товара модели заявки позволяющий выбрать уровень распространения правила (номенклатурная группа, товарная группа или товар) и позиции, соответствующие этому уровню распространения.
Допускается множественный выбор, в итоговом поле отображаются все выбранные значения.
Отображается и обязательно для заполнения, если уровень правила = «Применяется к модели заявки + номенкл. группа/товарная группа/товар», отображается и может быть заполнено, если уровень правила = «Применяется к сессии», иначе – очищено и не доступно для заполнения.
Отфильтровано по выбранной торговой секции.
Отображение дерева товаров по аналогии с моделями. По умолчанию свернуто до НГ. Расположено в правом (3-м) ряду полей. В 1-м: Уровень правила, Модель, Сессия, во 2-м: Тип рынка и Направление.| |
| |Тип рынка|Поле со списком|ДА/НЕТ|ДА/НЕТ|- Поле с выпадающим списком типов рынка и множественным выбором.
Доступно и обязательно для заполнения, если уровень правила = «Применяется к модели заявки и всем ее товарам», «Применяется к модели заявки + номенкл. группа/товарная группа/товар», «Применяется к сессии», иначе – очищено и не доступно для заполнения.
В выпадающем списке отображаются только типы рынка, указанные в выбранной модели заявки или выбранной сессии.| |
| |Направление|Поле со списком|ДА/НЕТ|ДА/НЕТ|- Поле с выпадающим списком. Можно выбрать: Покупка/ Продажа, Продажа, Покупка.
Доступно для редактирования и обязательное, если уровень правила = «Применяется к модели заявки и всем ее товарам», «Применяется к модели заявки + номенкл. группа/товарная группа/товар», «Применяется к сессии», иначе – очищено и не доступно для заполнения.
Допускается выбор только одного значения из списка.| |
|Дополнительно (если)|Конструктор условий| |ДА/НЕТ|-|- Для правил, у которых источник «Система», содержит надпись: Заполняется в программном коде и закрыто для редактирования.
Для правил, у которых источник «Работник»: элемент управления, позволяющий описывать сложные условия применения правила. Позволяет:
Добавить условие или группу условий
Удалить условие
Выбрать:
3.1 Тип агрегатора (и / или). По умолчанию – «и».
3.2 Название поля.
3.3 Оператор (Например, Содержит, Не содержит, Начинается с, Заканчивается на, Равно, Не равно, Пусто, Не пусто, Любой из, Ни один из. Перечень доступных операторов зависит от типа поля)
3.4 Тип элемента, который будет использоваться во второй части условия (поле или константа). По умолчанию – константа.
3.5 Название поля или значение константы.
3.5.1 Если тип элемента – константа, то позволяет:
ввести значение, если в первой части условия указано текстовое или числовое поле;
выбрать дату из календаря, если в первой части условия указано поле даты
выбрать значение (значения) из списка, если в первой части условия указано поле со списком
3.5.2 Если тип элемента – поле, то позволяет выбрать название поля из списка полей. В списке полей отображаются поля с учетом правил, описанных выше.| |
|То должны выполняться условия|Конструктор условий| |ДА\НЕТ|-|- Для правил, у которых источник «Система», содержит надпись: Заполняется в программном коде и закрыто для редактирования.
Для правил, у которых источник «Работник»: элемент управления, позволяющий описывать сложные условия применения правила. Позволяет:
Добавить условие или группу условий
Удалить условие
Выбрать:
3.1 Тип агрегатора (и / или). По умолчанию – «и».
3.2 Название поля.
3.3 Оператор (Например, Содержит, Не содержит, Начинается с, Заканчивается на, Равно, Не равно, Пусто, Не пусто, Любой из, Ни один из. Перечень доступных операторов зависит от типа поля)
3.4 Тип элемента, который будет использоваться во второй части условия (поле или константа). По умолчанию – константа.
3.5 Название поля или значение константы.
3.5.1 Если тип элемента – константа, то позволяет:
ввести значение, если в первой части условия указано текстовое или числовое поле;
выбрать дату из календаря, если в первой части условия указано поле даты
выбрать значение (значения) из списка, если в первой части условия указано поле со списком
3.5.2 Если тип элемента – поле, то позволяет выбрать название поля из списка полей. В списке полей отображаются поля с учетом правил, описанных выше.| |
|/4.Иначе|Текст сообщения при невыполнении условий| |ДА/НЕТ|ДА/НЕТ|Блок не отображается (скрывается) и поле не заполняется, если «Тип правила» = «Ограничение значений списка». Для иных типов правил обязательно должна быть заполнена хотя бы 1 запись с текстом ошибки на русском языке. | |
|Язык|Поле со списком|ДА/НЕТ|ДА/НЕТ|Выбор из справочника доступных языков. Обязательное, если заполнено поле Сообщение.||
|Сообщение|Текстовое поле|ДА/НЕТ|ДА/НЕТ|Текстовое поле. Обязательное, если заполнено поле Язык||
|Добавить| | | |Управляющий элемент для добавления строки в таблицу||
|/2.Элементы управления формой|Кнопка Сохранить| | | |Сохраняет внесенные изменения и возвращает работника на список правил.| |
|Кнопка Отменить| | | |Закрывает форму заявки без сохранения и возвращает работника на список правил.| |
** Выводится сообщение об успешном сохранении
** Пользователь остается на форме правила в режиме чтения
Для отмены копирования доступна кнопка Отменить и элемент Х в верхней правой части экрана.¶
КП-6. Редактирование правила в конструкторе правил
h2. Location
Управление заявками -> Конструктор правил
h2. User rights
Администратор (пользователь)
h2. Steps
Проверить, что в каждой строке списка правил присутствует элемент управления Редактировать¶
Проверить, что в контекстном меню присутствует пункт Редактировать¶
Кнопка для редактирования и соответствующий пункт контекстного меню отображаются для всех позиций списка, но доступны только с учетом привилегий и статусов правил (т.е. отображаются недоступными для удаленных правил и правил, на которые у пользователя отсутствуют привилегии на изменение)¶
При активации управляющего элемента Редактировать либо при выборе из контекстного меню пункта Редактировать:¶
** Открывается форма правила в режиме редактирования
** Элементы формы аналогичны, элементам формы, описанным в требовании по созданию правила в конструкторе правил: ЭЛЕМЕНТЫЭЛЕМЕНТЫ
table{margin:50 auto; width:100%}.
{background:lightgrey}. |Блок формы правила|Элементы блока правила|Тип|Редактирование|Обязательность для заполнения|Описание|Проверка|
| |Секция|Поле со списком|НЕТ|НЕТ|Заполняется, исходя из значения этого поля в списке правил. Может быть не заполнено при создании/изменении правила работником, имеющим привилегии на корректировку общих правил по всем секциям. Должно быть заполнено при создании/изменении правила работником, не имеющим привилегии на корректировку общих правил по всем секциям.||
|Основные сведения|Название правила|Текстовое поле|ДА|ДА|Название правила, которое будет отображаться в списке правил|При прохождении валидации, если поле не заполнено, то оно подсвечивается красной рамкой и, при активации специального значка, отображается следующий текст ошибки: +Обязательное для заполнения поле+|
| |Источник|Поле со списком|НЕТ|-|Содержит 2 значения:
Работник (присваивается при создании правила работником биржи с использованием Конструктора правил);
Система (присваивается при программном создании правила).| |
| |Тип правила|Поле со списком|ДА|ДА|Значения списка:
Ошибка
Предупреждение
Информационное сообщение
Ограничение значений списка.
Допускается выбор только одного значения.|При прохождении валидации, если поле не заполнено, то оно подсвечивается красной рамкой и, при активации специального значка, отображается следующий текст ошибки: +Обязательное для заполнения поле+|
| |Дата начала действия|Дата|ДА|ДА|Первый день, когда правило считается действующим. Доступен выбор из календаря.
При создании (в том числе путем копирования) и при редактировании планируемого правила Дата начала действия должна быть >= Текущей даты.|При прохождении валидации:
Если поле не заполнено, то оно подсвечивается красной рамкой и, при активации специального значка, отображается следующий текст ошибки: +Обязательное для заполнения поле+
Если введена(выбрана) некорректная дата либо некорректный формат даты, что отображается следующий текст ошибки: +Значение должно быть датой. Формат значения должен соответствовать шаблону ДД.ММ.ГГГГ.+
Если введена дата, которая меньше текущей, то отображается следующее сообщение: +Дата начала действия должна быть больше либо равна Текущей дате+|
| |Дата окончания действия|Дата|ДА|НЕТ|Последний день, когда правило считается действующим. Доступен выбор из календаря. Дата окончания действия должна быть >= Дата начала действия либо быть незаполненной.|При прохождении валидации:
Если введена(выбрана) некорректная дата либо некорректный формат даты, что отображается следующий текст ошибки: +Значение должно быть датой. Формат значения должен соответствовать шаблону ДД.ММ.ГГГГ.+
Если введена дата, которая меньше текущей, то отображается сообщение: +Дата окончания действия должна быть больше либо равна Дата начала действия либо быть незаполненной.+|
|Область применения (если; условия применяются через «и»)|\5.Для правил с источником «Система» все поля области применения закрыты для редактирования. Для правил с источником «Работник» применяются правила, описанные ниже.
Комментарий»: все правила, указанные в области применения, применяются с агрегатором «и» - если необходимо задать условие «или» необходимо либо создать новое правило, либо задать такое условие в блоке «Дополнительно (если)».| |
| |Уровень правила|Поле со списком|ДА/НЕТ|ДА|В списке 4 значения:
Общее правило (по обязательным полям всех заявок всех секций).
Применяется к модели заявки и всем ее товарам.
Применяется к модели заявки + номенкл. группа/товарная группа/товар.
Применяется к заявкам сессии.
При изменении уровня применения правила очищаются и становятся доступны/недоступны иные поля области применения. Допускается выбор только одного значения.|Если источник = “Работник”, то при прохождении валидации, если введена(выбрана) некорректная дата либо некорректный формат даты, отображается следующий текст ошибки: +Значение должно быть датой. Формат значения должен соответствовать шаблону ДД.ММ.ГГГГ.+|
| |Модель заявки|Поле со списком|ДА/НЕТ|ДА/НЕТ|- Поле с выпадающим списком названий моделей заявки и единичным выбором.
Доступно и обязательно для заполнения, если уровень правила = «Применяется к модели заявки и всем ее товарам» или «Применяется к модели заявки + номенкл. группа/товарная группа/товар», иначе – очищено и не доступно для заполнения.
p.s т.к. для одной сессии может быть несколько заявок, то поле Модель заявки должно быть доступным и обязательным и тогда, когда уровень правила = Применяется к заявкам сессии.| |
| |Сессия|Поле со списком|ДА/НЕТ|ДА/НЕТ|- Поле с выпадающим списком сессий, созданных не по шаблону и единичным выбором.
В поле отображаются номера, даты и названия сессий в статусах «Подготовка», «В процессе переноса в торги».
Список отсортирован по дате сессии по возрастанию и названию сессии по алфавиту.
Доступно и обязательно для заполнения, если уровень правила = «Применяется к заявкам сессии», иначе – очищено и не доступно для заполнения| |
| |Наименование НГ/ТГ/товара| |ДА/НЕТ|ДА/НЕТ|- Элемент управления, аналогичный элементу управления в поле Наименование НГ/ТГ/товара модели заявки позволяющий выбрать уровень распространения правила (номенклатурная группа, товарная группа или товар) и позиции, соответствующие этому уровню распространения.
Допускается множественный выбор, в итоговом поле отображаются все выбранные значения.
Отображается и обязательно для заполнения, если уровень правила = «Применяется к модели заявки + номенкл. группа/товарная группа/товар», отображается и может быть заполнено, если уровень правила = «Применяется к сессии», иначе – очищено и не доступно для заполнения.
Отфильтровано по выбранной торговой секции.
Отображение дерева товаров по аналогии с моделями. По умолчанию свернуто до НГ. Расположено в правом (3-м) ряду полей. В 1-м: Уровень правила, Модель, Сессия, во 2-м: Тип рынка и Направление.| |
| |Тип рынка|Поле со списком|ДА/НЕТ|ДА/НЕТ|- Поле с выпадающим списком типов рынка и множественным выбором.
Доступно и обязательно для заполнения, если уровень правила = «Применяется к модели заявки и всем ее товарам», «Применяется к модели заявки + номенкл. группа/товарная группа/товар», «Применяется к сессии», иначе – очищено и не доступно для заполнения.
В выпадающем списке отображаются только типы рынка, указанные в выбранной модели заявки или выбранной сессии.| |
| |Направление|Поле со списком|ДА/НЕТ|ДА/НЕТ|- Поле с выпадающим списком. Можно выбрать: Покупка/ Продажа, Продажа, Покупка.
Доступно для редактирования и обязательное, если уровень правила = «Применяется к модели заявки и всем ее товарам», «Применяется к модели заявки + номенкл. группа/товарная группа/товар», «Применяется к сессии», иначе – очищено и не доступно для заполнения.
Допускается выбор только одного значения из списка.| |
|Дополнительно (если)|Конструктор условий| |ДА/НЕТ|-|- Для правил, у которых источник «Система», содержит надпись: Заполняется в программном коде и закрыто для редактирования.
Для правил, у которых источник «Работник»: элемент управления, позволяющий описывать сложные условия применения правила. Позволяет:
Добавить условие или группу условий
Удалить условие
Выбрать:
3.1 Тип агрегатора (и / или). По умолчанию – «и».
3.2 Название поля.
3.3 Оператор (Например, Содержит, Не содержит, Начинается с, Заканчивается на, Равно, Не равно, Пусто, Не пусто, Любой из, Ни один из. Перечень доступных операторов зависит от типа поля)
3.4 Тип элемента, который будет использоваться во второй части условия (поле или константа). По умолчанию – константа.
3.5 Название поля или значение константы.
3.5.1 Если тип элемента – константа, то позволяет:
ввести значение, если в первой части условия указано текстовое или числовое поле;
выбрать дату из календаря, если в первой части условия указано поле даты
выбрать значение (значения) из списка, если в первой части условия указано поле со списком
3.5.2 Если тип элемента – поле, то позволяет выбрать название поля из списка полей. В списке полей отображаются поля с учетом правил, описанных выше.| |
|То должны выполняться условия|Конструктор условий| |ДА\НЕТ|-|- Для правил, у которых источник «Система», содержит надпись: Заполняется в программном коде и закрыто для редактирования.
Для правил, у которых источник «Работник»: элемент управления, позволяющий описывать сложные условия применения правила. Позволяет:
Добавить условие или группу условий
Удалить условие
Выбрать:
3.1 Тип агрегатора (и / или). По умолчанию – «и».
3.2 Название поля.
3.3 Оператор (Например, Содержит, Не содержит, Начинается с, Заканчивается на, Равно, Не равно, Пусто, Не пусто, Любой из, Ни один из. Перечень доступных операторов зависит от типа поля)
3.4 Тип элемента, который будет использоваться во второй части условия (поле или константа). По умолчанию – константа.
3.5 Название поля или значение константы.
3.5.1 Если тип элемента – константа, то позволяет:
ввести значение, если в первой части условия указано текстовое или числовое поле;
выбрать дату из календаря, если в первой части условия указано поле даты
выбрать значение (значения) из списка, если в первой части условия указано поле со списком
3.5.2 Если тип элемента – поле, то позволяет выбрать название поля из списка полей. В списке полей отображаются поля с учетом правил, описанных выше.| |
|/4.Иначе|Текст сообщения при невыполнении условий| |ДА/НЕТ|ДА/НЕТ|Блок не отображается (скрывается) и поле не заполняется, если «Тип правила» = «Ограничение значений списка». Для иных типов правил обязательно должна быть заполнена хотя бы 1 запись с текстом ошибки на русском языке. | |
|Язык|Поле со списком|ДА/НЕТ|ДА/НЕТ|Выбор из справочника доступных языков. Обязательное, если заполнено поле Сообщение.||
|Сообщение|Текстовое поле|ДА/НЕТ|ДА/НЕТ|Текстовое поле. Обязательное, если заполнено поле Язык||
|Добавить| | | |Управляющий элемент для добавления строки в таблицу||
|/2.Элементы управления формой|Кнопка Сохранить| | | |Сохраняет внесенные изменения и возвращает работника на список правил.| |
|Кнопка Отменить| | | |Закрывает форму заявки без сохранения и возвращает работника на список правил.| |
Недоступны для редактирования поля с датами начала и окончания действия +активного+ правила.¶
В каждой строке списка правил присутствует элемент управления Изменить срок действия: у активных правил - кнопка кликабельна, у неактивных - некликабельна.¶
При активации кнопки Изменить срок действия из контекстного меню активного правила выводится окно, позволяющее внести изменения в значение поля «Дата окончания действия».¶
При нажатии на кнопку Сохранить изменения окно закрывается, у правила изменяется поле Дата окончания действия. Работнику отображается кратковременное сообщение типа Правило будет удалено в 23:59:59 часа, указанной даты¶
При нажатии на кнопку Отменить работник возвращается на список правил, изменение срока действия не осуществляется.¶
Изменение срока действия с формы просмотра
В каждой строке списка правил присутствует элемент управления Просмотреть.¶
При нажатии на кнопку Просмотретьактивного правила открывается правило в режиме чтения с активной кнопкой Изменить срок действия.¶
При нажатии на кнопку Просмотретьнеактивного правила открывается правило в режиме чтения с неактивной кнопкой Изменить срок действия.¶
При активации кнопки Изменить срок действия выводится окно с полем Дата окончания действия.¶
При подтверждении изменения окно закрывается, работнику отображается кратковременное сообщение типа Правило будет удалено в 23:59:59 часа, указанной даты. У правила изменяется поле Дата окончания действия, работник остается на форме просмотра.¶
При отмене изменения работник возвращается на форму просмотра правила, изменение срока действия не осуществляется.¶
Удостовериться, что редактирование удаленных правил невозможно¶
Сохранение отредактированного правила осуществляется при кликании на кнопку Сохранить.¶
При сохранении правила осуществляются проверки корректности заполнения полей: ПРОВЕРКИПРОВЕРКИ
I. Если какое-либо обязательное для заполнения поле не заполнено либо поле заполнено с нарушением формата, то:
*** неправильно заполненное поле выделяется красным цветом
*** выводится сообщение об ошибке (отображение сообщения осуществляется при активации специального значка)
*** сохранение правила не производится
II. Если нарушены условия доступности полей в блоках Дополнительно (если) и То должны выполняться условия, то
*** выводится сообщение - Нельзя сохранить правило. Поле {Название поля}, …, {Название поля} отсутствуют в форме заявки с учетом области применения заявки
III. Если не указан текст сообщения на русском языке для правила с типом, не равным Ограничение значений списка, то
*** выводится сообщение - Нельзя сохранить правило. Необходимо указать текст сообщения при невыполнении условий на русском языке
IV. Если в таблице сообщений есть позиции с незаполненным полем Язык или Сообщение, то:
**** выводится сообщение - Нельзя сохранить правило. Необходимо указать язык и текст сообщения в каждой строке таблицы сообщений при невыполнении условий
**** поля Язык и Сообщение обязательные для заполнения и подсвечиваются по дефолтной валидации.
**** кнопка Сохранить не доступна, пока их не заполняться поля Язык и Сообщение.
V. Если в таблице сообщений есть две и более позиций с одинаковым значением поля Язык, то:
**** выводится сообщение - Нельзя сохранить правило. Нельзя указать два и более сообщений на одном и том же языке
**** из выпадающего списка для выбора языка исключаются уже выбранные позиции
**** когда будут введены значения для всех языков кнопка Добавить дизейблится
для планируемых правил осуществляется сохранение правила
для активных правил осуществляется удаление редактируемого правила, создание и сохранение нового правила
для любого статуса правила выводится кратковременное уведомление об успешном сохранении - Правило успешно сохранено
пользователь остается на форме правила в режиме чтения
Проверить, что по кнопке Отменить выводится окно с предупреждением - Вы хотите выйти без сохранения изменений? и кнопками Выйти без сохранения (по умолчанию) и Нет.¶
** Окно с предупреждением закрывается
** Пользователь остается на форме правила в том состоянии формы, которое было при нажатии кнопки Отменить
КП-3. Просмотр правила в конструкторе правил
h2. Location
Управление заявками -> Конструктор правил
h2. User rights
Администратор (пользователь)
h2. Steps
Проверить, что в каждой строке списка правил присутствует элемент управления Просмотреть¶
Проверить, что в контекстном меню присутствует пункт Просмотреть¶
Проверить, что при активации в строке правила кнопки Просмотреть либо при выборе соответствующего пункта контекстного меню открывается форма правила в режиме чтения¶
Элементы формы аналогичны элементам формы, которые описаны в «Создание правила в конструкторе правил», но закрыты для изменений. При этом кнопки Сохранить и Отменить отсутствуют: ЭЛЕМЕНТЫЭЛЕМЕНТЫ
table{margin:50 auto; width:100%}.
{background:lightgrey}. |Блок формы правила|Элементы блока правила|Тип|Редактирование|Обязательность для заполнения|Описание|Проверка|
| |Секция|Поле со списком|НЕТ|НЕТ|Заполняется, исходя из значения этого поля в списке правил. Может быть не заполнено при создании/изменении правила работником, имеющим привилегии на корректировку общих правил по всем секциям. Должно быть заполнено при создании/изменении правила работником, не имеющим привилегии на корректировку общих правил по всем секциям.||
|Основные сведения|Название правила|Текстовое поле|ДА|ДА|Название правила, которое будет отображаться в списке правил|При прохождении валидации, если поле не заполнено, то оно подсвечивается красной рамкой и, при активации специального значка, отображается следующий текст ошибки: +Обязательное для заполнения поле+|
| |Источник|Поле со списком|НЕТ|-|Содержит 2 значения:
Работник (присваивается при создании правила работником биржи с использованием Конструктора правил);
Система (присваивается при программном создании правила).| |
| |Тип правила|Поле со списком|ДА|ДА|Значения списка:
Ошибка
Предупреждение
Информационное сообщение
Ограничение значений списка.
Допускается выбор только одного значения.|При прохождении валидации, если поле не заполнено, то оно подсвечивается красной рамкой и, при активации специального значка, отображается следующий текст ошибки: +Обязательное для заполнения поле+|
| |Дата начала действия|Дата|ДА|ДА|Первый день, когда правило считается действующим. Доступен выбор из календаря.
При создании (в том числе путем копирования) и при редактировании планируемого правила Дата начала действия должна быть >= Текущей даты.|При прохождении валидации:
Если поле не заполнено, то оно подсвечивается красной рамкой и, при активации специального значка, отображается следующий текст ошибки: +Обязательное для заполнения поле+
Если введена(выбрана) некорректная дата либо некорректный формат даты, что отображается следующий текст ошибки: +Значение должно быть датой. Формат значения должен соответствовать шаблону ДД.ММ.ГГГГ.+
Если введена дата, которая меньше текущей, то отображается следующее сообщение: +Дата начала действия должна быть больше либо равна Текущей дате+|
| |Дата окончания действия|Дата|ДА|НЕТ|Последний день, когда правило считается действующим. Доступен выбор из календаря. Дата окончания действия должна быть >= Дата начала действия либо быть незаполненной.|При прохождении валидации:
Если введена(выбрана) некорректная дата либо некорректный формат даты, что отображается следующий текст ошибки: +Значение должно быть датой. Формат значения должен соответствовать шаблону ДД.ММ.ГГГГ.+
Если введена дата, которая меньше текущей, то отображается сообщение: +Дата окончания действия должна быть больше либо равна Дата начала действия либо быть незаполненной.+|
|Область применения (если; условия применяются через «и»)|\5.Для правил с источником «Система» все поля области применения закрыты для редактирования. Для правил с источником «Работник» применяются правила, описанные ниже.
Комментарий»: все правила, указанные в области применения, применяются с агрегатором «и» - если необходимо задать условие «или» необходимо либо создать новое правило, либо задать такое условие в блоке «Дополнительно (если)».| |
| |Уровень правила|Поле со списком|ДА/НЕТ|ДА|В списке 4 значения:
Общее правило (по обязательным полям всех заявок всех секций).
Применяется к модели заявки и всем ее товарам.
Применяется к модели заявки + номенкл. группа/товарная группа/товар.
Применяется к заявкам сессии.
При изменении уровня применения правила очищаются и становятся доступны/недоступны иные поля области применения. Допускается выбор только одного значения.|Если источник = “Работник”, то при прохождении валидации, если введена(выбрана) некорректная дата либо некорректный формат даты, отображается следующий текст ошибки: +Значение должно быть датой. Формат значения должен соответствовать шаблону ДД.ММ.ГГГГ.+|
| |Модель заявки|Поле со списком|ДА/НЕТ|ДА/НЕТ|- Поле с выпадающим списком названий моделей заявки и единичным выбором.
Доступно и обязательно для заполнения, если уровень правила = «Применяется к модели заявки и всем ее товарам» или «Применяется к модели заявки + номенкл. группа/товарная группа/товар», иначе – очищено и не доступно для заполнения.
p.s т.к. для одной сессии может быть несколько заявок, то поле Модель заявки должно быть доступным и обязательным и тогда, когда уровень правила = Применяется к заявкам сессии.| |
| |Сессия|Поле со списком|ДА/НЕТ|ДА/НЕТ|- Поле с выпадающим списком сессий, созданных не по шаблону и единичным выбором.
В поле отображаются номера, даты и названия сессий в статусах «Подготовка», «В процессе переноса в торги».
Список отсортирован по дате сессии по возрастанию и названию сессии по алфавиту.
Доступно и обязательно для заполнения, если уровень правила = «Применяется к заявкам сессии», иначе – очищено и не доступно для заполнения| |
| |Наименование НГ/ТГ/товара| |ДА/НЕТ|ДА/НЕТ|- Элемент управления, аналогичный элементу управления в поле Наименование НГ/ТГ/товара модели заявки позволяющий выбрать уровень распространения правила (номенклатурная группа, товарная группа или товар) и позиции, соответствующие этому уровню распространения.
Допускается множественный выбор, в итоговом поле отображаются все выбранные значения.
Отображается и обязательно для заполнения, если уровень правила = «Применяется к модели заявки + номенкл. группа/товарная группа/товар», отображается и может быть заполнено, если уровень правила = «Применяется к сессии», иначе – очищено и не доступно для заполнения.
Отфильтровано по выбранной торговой секции.
Отображение дерева товаров по аналогии с моделями. По умолчанию свернуто до НГ. Расположено в правом (3-м) ряду полей. В 1-м: Уровень правила, Модель, Сессия, во 2-м: Тип рынка и Направление.| |
| |Тип рынка|Поле со списком|ДА/НЕТ|ДА/НЕТ|- Поле с выпадающим списком типов рынка и множественным выбором.
Доступно и обязательно для заполнения, если уровень правила = «Применяется к модели заявки и всем ее товарам», «Применяется к модели заявки + номенкл. группа/товарная группа/товар», «Применяется к сессии», иначе – очищено и не доступно для заполнения.
В выпадающем списке отображаются только типы рынка, указанные в выбранной модели заявки или выбранной сессии.| |
| |Направление|Поле со списком|ДА/НЕТ|ДА/НЕТ|- Поле с выпадающим списком. Можно выбрать: Покупка/ Продажа, Продажа, Покупка.
Доступно для редактирования и обязательное, если уровень правила = «Применяется к модели заявки и всем ее товарам», «Применяется к модели заявки + номенкл. группа/товарная группа/товар», «Применяется к сессии», иначе – очищено и не доступно для заполнения.
Допускается выбор только одного значения из списка.| |
|Дополнительно (если)|Конструктор условий| |ДА/НЕТ|-|- Для правил, у которых источник «Система», содержит надпись: Заполняется в программном коде и закрыто для редактирования.
Для правил, у которых источник «Работник»: элемент управления, позволяющий описывать сложные условия применения правила. Позволяет:
Добавить условие или группу условий
Удалить условие
Выбрать:
3.1 Тип агрегатора (и / или). По умолчанию – «и».
3.2 Название поля.
3.3 Оператор (Например, Содержит, Не содержит, Начинается с, Заканчивается на, Равно, Не равно, Пусто, Не пусто, Любой из, Ни один из. Перечень доступных операторов зависит от типа поля)
3.4 Тип элемента, который будет использоваться во второй части условия (поле или константа). По умолчанию – константа.
3.5 Название поля или значение константы.
3.5.1 Если тип элемента – константа, то позволяет:
ввести значение, если в первой части условия указано текстовое или числовое поле;
выбрать дату из календаря, если в первой части условия указано поле даты
выбрать значение (значения) из списка, если в первой части условия указано поле со списком
3.5.2 Если тип элемента – поле, то позволяет выбрать название поля из списка полей. В списке полей отображаются поля с учетом правил, описанных выше.| |
|То должны выполняться условия|Конструктор условий| |ДА\НЕТ|-|- Для правил, у которых источник «Система», содержит надпись: Заполняется в программном коде и закрыто для редактирования.
Для правил, у которых источник «Работник»: элемент управления, позволяющий описывать сложные условия применения правила. Позволяет:
Добавить условие или группу условий
Удалить условие
Выбрать:
3.1 Тип агрегатора (и / или). По умолчанию – «и».
3.2 Название поля.
3.3 Оператор (Например, Содержит, Не содержит, Начинается с, Заканчивается на, Равно, Не равно, Пусто, Не пусто, Любой из, Ни один из. Перечень доступных операторов зависит от типа поля)
3.4 Тип элемента, который будет использоваться во второй части условия (поле или константа). По умолчанию – константа.
3.5 Название поля или значение константы.
3.5.1 Если тип элемента – константа, то позволяет:
ввести значение, если в первой части условия указано текстовое или числовое поле;
выбрать дату из календаря, если в первой части условия указано поле даты
выбрать значение (значения) из списка, если в первой части условия указано поле со списком
3.5.2 Если тип элемента – поле, то позволяет выбрать название поля из списка полей. В списке полей отображаются поля с учетом правил, описанных выше.| |
|/4.Иначе|Текст сообщения при невыполнении условий| |ДА/НЕТ|ДА/НЕТ|Блок не отображается (скрывается) и поле не заполняется, если «Тип правила» = «Ограничение значений списка». Для иных типов правил обязательно должна быть заполнена хотя бы 1 запись с текстом ошибки на русском языке. | |
|Язык|Поле со списком|ДА/НЕТ|ДА/НЕТ|Выбор из справочника доступных языков. Обязательное, если заполнено поле Сообщение.||
|Сообщение|Текстовое поле|ДА/НЕТ|ДА/НЕТ|Текстовое поле. Обязательное, если заполнено поле Язык||
|Добавить| | | |Управляющий элемент для добавления строки в таблицу||
|/2.Элементы управления формой|Кнопка Сохранить| | | |Сохраняет внесенные изменения и возвращает работника на список правил.| |
|Кнопка Отменить| | | |Закрывает форму заявки без сохранения и возвращает работника на список правил.| |
На форме просмотра в нижней части имеются две кнопки - Редактировать и Изменить срок действия¶
При кликании по кнопке Редактировать пользователь переходит из режима просмотра в режим редактирования правила (т.е. по аналогии с моделями)¶
Кнопка Редактировать отображается всегда, но доступна только с учетом статуса правила (можно редактировать только планируемые и активные правила) и привилегий работника¶
После просмотра правила пользователь может активировать элемент управления Х после чего система возвращает его на на список моделей заявок¶
Проверить, что кнопки - Редактировать, Изменить срок действия, а также элемент управления Х в правом верхнем углу:¶
фиксированы
всегда видны
не входят в область прокрутки
Проверить, что все элементы в полях Дополнительно (если) и То должны выполняться условия (т.н. +фасольки+) при просмотре правила отображаются на форме в режиме чтения и некликабельные¶
КП-2. Просмотр списка правил
h2. Location
Управление заявками -> Конструктор правил
h2. User rights
Администратор (пользователь)
h2. Steps
%{background:lightblue} +Предусловие+:% Пользователь авторизован с необходимыми привилегиями
%{background:lightyellow} +Проверяемое действие (функциональность)+:% Как <работник>, я <хочу просмотреть список правил>, чтобы <ознакомиться с имеющимися правилами>
Проверить, что при переходе в раздел управления заявками на форме присутствует кнопка Конструктор правил¶
Проверить, что кнопка Конструктор правилНЕ выбрана по умолчанию¶
Убедиться в том, что кнопка Конструктор правил кликабельная¶
Проверить, что при выборе кнопки Конструктор правил пользователь переходит на страницу со списком имеющихся правил для выбранной товарной секции¶
Удостовериться, что после перехода на вышеуказанную страницу на ней имеется кнопка Создать правило и элементы управления, позволяющие осуществлять поиск, группировку записей списка моделей и т.п.:¶
** поле поиска
** область группировки
** кнопка обновления данных
** кнопка выбора (добавления/исключения) столбцов списка
** кнопка сброса состояния
** чекбокс для отображения флажков для выбора правил в списке (на одном уровне, но правее кнопки Создать правило)
Проверить, что если кликнуть на кнопку обновления данных, то обновление действительно осуществляется¶
Установить, что при активации кнопки выбора (добавления/исключения) столбцов списка правил появляется дополнительное окно, содержащее перечень столбцов списка правила, доступных для отображения в списке¶
Проверить, что в дополнительном окне имеются следующие для переноса в список правил столбцы:¶
** Модель заявки
** Сессия
** Наименование НГ/ТГ/товара
** Направление
** возможно перемещать по всей области раздела управления заявками
** НЕ закрывается при кликании за его пределами
** иные элементы конструктора правил доступны, если дополнительное окно открыто
** закрывается при кликании на знак "Х"
** закрывается, если изменить значение в поле Конструктор моделей либо изменить язык
Проверить, что из дополнительного окна возможен перенос колонок в список правил¶
Проверить, что в дополнительное окно возможен перенос колонок из списка¶
Проверить, что выполненные пользователем настройки списка сохраняются при последующем его открытии в рамках текущего сеанса и последующих сеансов этого пользователя¶
Проверить, что при кликании на кнопку сброса состояния осуществляется сброс фильтров, сортировок и настроек отображения полей до дефолтного состояния¶
Проверить, что чекбокс для отображения флажков для выбора правил (далее чекбокс отображения) по умолчанию НЕ активен¶
Проверить, что чекбокс отображения возможно активировать/деактивировать¶
Проверить, что при активации чекбокса отображения:¶
** в отдельном столбце списка становятся доступными для отображения чекбоксы для множественного выбора правил
** столбец появляется в списке первым слева
Проверить, что при деактивации чекбокса отображения столбец исчезает со списка правил¶
Подтвердить, что чекбокс отображенияНЕ деактивируется при изменении количества правил, отображаемых на странице¶
Подтвердить, что чекбокс отображения деактивируется при изменении товарной секции¶
Проверить, что возможна активации/деактивации как всех чекбоксов в списке, так и каждого отдельно¶
Проверить, что чекбоксы в строках деактивируются также в случаях:¶
** при деактивации чекбокса отображения
** при смене товарной секции
Подтвердить, что по умолчанию в списке отображаются колонки: Наименование, Источник, Тип правила, Дата начала действия, Дата окончания действия, Уровень правила, Тип рынка¶
Проверить, что колонки Модель заявки, Сессия, Наименование НГ/ТГ/товара и Направление отображаются в виде тегов в дополнительном окне при кликании на кнопку выбора (добавления/исключения) столбцов списка¶
Проверить, что если условиям поиска и/или фильтрации не удовлетворяет ни одна запись списка, то отображается надпись: Нет данных¶
Проверить, что сортировка, которая по умолчанию выставлена в следующем приоритете:¶
** Первый уровень по колонке Уровень правила: в верхней части отображаются проверки, которые не являются общими проверками, после чего – общие проверки.
(т.е. (Применяется к сессии и/или Применяется к товарам модели и/или Применяется к модели) -> Общее правило)
** Следующий уровень - по типу правила сверху вниз:
(т.е. Ошибки; Предупреждения; Информационное сообщения; Ограничения значений списка.)
** Следующий уровень - по источнику сверху вниз: Работник; Система.
** Следующий уровень – по названию по возрастанию.
Установить, что на форме списка установлено постраничное отображение списка правил¶
** может регулироваться пользователем
** доступны следующие варианты количества записей пагинации: 10, 20, 50, 100
Подтвердить, что по умолчанию значение пагинации установлено - 10¶
Проверить, что пользователю доступен управляющий элемент для перемещения по страницам списка правил¶
Удостовериться, что колонки списка возможно менять местами, при этом их содержимое не меняется¶
Проверить, что возможно расширять/уменьшать ширину колонок¶
Проверить, что со списка невозможно убрать колонку с элементом управления Редактировать и, если активирован чекбокс Отображать флажки, также колонку с чекбоксами¶
Проверить, что если добавить все колонки в список, то:¶
** все колонки добавляются в список
** добавление происходит в рамках текущей ширины экрана
** в дополнительном окне появляется сообщение Перетащите столбец сюда, чтобы скрыть его
КП-13. Пересоздание правил при редактировании модели
h2. Location
Управление заявками -> Конструктор моделей -> Выбрана активная модель, у которой есть активные связанные правила (т.е. активные правила, в области применения которых указана эта модель) -> Редактировать -> Пользователем внесены изменения в указанную модель -> Сохранить
h2. User rights
Администратор (пользователь)
h2. Steps
После кликания Сохранить пользователю отображается таблица со следующими элементами: ЭЛЕМЕНТЫЭЛЕМЕНТЫ
table{margin:50 auto; width:100%}.
{background:lightgrey}. |Название элемента|Тип|Описание|
||Текстовое поле|Отображается следующая текстовка - "Работнику выводится описание процесса и его возможностей:
При редактировании действующей модели осуществляется валидация связанных правил, удаление исходной модели и правил и создание новой модели с учетом изменений и новых правил, прошедших валидацию.
Вы можете:
Сохранить внесенные изменения (автоматически будет создана новая модель и новые правила, прошедшие валидацию). При этом можно отменить автоматическое создание новых правил, прошедших валидацию, сняв флажки
Отменить продолжение редактирования модели (вернуться на форму редактирования модели)"|
|Наименование модели|Поле|Поле с наименованием редактируемой модели|
|Связанные с моделью правила|-|1) Таблица, содержащая перечень связанных с моделью правил (аналогична таблице для просмотра связанных с моделью правил - см.https://redmine.invento.by/issues/52327).
Таблица озаглавлена - Связанные правила
Таблица содержит следующие столбцы:
Валидность (столбец с чекбоксами)
Наименование правила
Источник
Тип правила
Дата начала действия
Дата окончания действия
Уровень правила
Тип рынка (в виде тэгов)
в отдельном столбце кнопка Просмотреть при нажатии на которую пользователь переходит на форму просмотра выбранного правила
Не отображаются общие правила
Сортировка по умолчанию - по наименованию в порядке возрастания (по алфавиту от А до Я)
Имеются кнопки: Закрыть и Х
При нажатии на кнопку Просмотреть или выбрав одноименный пункт меню, открывается правило в режиме просмотра, при этом кнопки Изменить срок действия и Редактировать не отображаются на форме просмотра|
|Сохранить|Кнопка|Сохраняет внесённые изменения|
|Отменить|Кнопка|Закрывает окно. Пользователь возвращается на форму редактирования модели заявки|
|Х|Кнопка|Закрывает окно. Пользователь возвращается на форму редактирования модели заявки|
Убедиться, что при кликании по кнопке Сохранить на форме редактирования, правила, ассоциированные с моделью, проходят валидацию с учетом изменений модели. В частности пользователю отображается:¶
** Сообщение с описанием процесса редактирования модели, у которой есть активные связанные правила и его возможностей
** Перечень активных правил, связанных с моделью, с указанием, прошло ли правило валидацию, и возможностью для пользователя снять отметки.
** Правила, признанные системой невалидными выделяются розовым цветом (т.е. также как и удаленные правила на списке правил)
** Пользователь может повторно установить флажок на правило, с которого он только что снял отметку. Но он не может установить флажок на правило, которое было признано системой невалидным. Под валидацией правил понимаются проверки: см.тутсм.тут
На непротиворечивость значения поля Тип рынка (в правиле, связанном с моделью, в этом поле не могут быть указаны значения, которых нет в модели)
На доступность полей в блоках Дополнительно (если) и То должны выполняться условия при сохранении правила в конструкторе правил
При корректном сохранении автоматически осуществляется:¶
** удаление редактируемой модели
** удаление связанных правил
** создание новой модели
** копирование указанных правил, за исключением не прошедших валидацию или тех, с которых пользователь принудительно снял отметку
При успешном сохранении пользователю выводится кратковременное уведомление об успешном сохранении - Модель заявки успешно сохранена, после чего она переходит в режим просмотра¶
Проверить, что по умолчанию список отсортирован по колонке Наименование.¶
Непосредственно в колонке Наименование значения отсортированы по возрастанию (по алфавиту от А до Я)¶
Поиск
Проверить, что пользователю доступен поиск двумя способами:¶
** в первой строке таблицы, которая располагается под наименованием колонки
** с использованием общего элемента Искать, расположенного над таблицей
Проверить, что в первой строке таблицы, для полей Наименование, Модель заявки, Сессия поиск осуществляется через контекстную фильтрацию значений списка¶
** при совпадении с любой частью значения, данное значение отображается
** значения, которые не попадают под искомые критерии, скрываются и не отображаются в списке
Проверить, что в первой строке таблицы, для полей Источник, Тип правила, Уровень правила, Тип рынка доступен выбор из выпадающего списка, отсортированного по алфавиту¶
Проверить, что не осуществляется поиск по полю Наименование НГ/ТГ/товара¶
Фильтрация
Проверить, что не осуществляется фильтрация по полю Наименование НГ/ТГ/товара¶
Проверить, что при фильтрации запрос к базе не осуществляется¶
Проверить, что фильтрация доступна следующими способами:¶
** по элементам в заголовке столбцов
** кастомный фильтр по полу Тип рынка +(по аналогии с сессиями)+
Проверить, что списки значений, доступные в фильтрах, отсортированы по алфавиту (в том числе в поле Направление)¶
Проверить, что создание сложных фильтров возможно при помощи стандартного элемента Создать фильтр(по аналогии с сессиями)¶
Проверить, что фильтрация также возможна с использованием специального фильтра по полю Статус на текущую дату¶
Проверить, что полю Статус на текущую дату является:¶
** поле с выпадающим списком с множественным выбором
содержит значения: Активное, Планируемое, Удаленное
по умолчанию установлено: Активное и Планируемое
** доступно для редактирования
** необязательно для заполнения
** в случае, если не выбран ни один статус, то отображаются записи со всеми статусами
Проверить, что удаленные правила отображаются при установке статуса Удаленное в поле Статус на текущую дату или если не выбран ни один из статусов¶
Проверить, что в списке правил при установке статуса Удаленное отображаются записи:¶
** удаленные работником с использованием специальных элементов
** удаленные автоматически (например, при удалении активной модели или при редактировании активного правила)
** с истекшим сроком действия
Проверить, что записи со статусом Удаленное подсвечиваются бледно-красным цветом¶
Проверить, что в случае наличия изменений данных в базе данных управляющий элемент для обновления списка подсвечивается зелёным цветом¶
Проверить, что отображение колонки Наименование НГ/ТГ/товара реализовано в виде тегов и без цветовой раскраски, в т.ч. без “родителей”¶
Убедиться в том что установленная пользователем фильтрация сохраняется в пользовательских настройках.¶
КП-1 Создание правила в конструкторе правил
h2. Location
Управление заявками -> Конструктор правил -> Создать правило
h2. User rights
Администратор (пользователь)
h2. Steps
Проверить, что при активации элемента управления Создать правило пользователю открывается страница для создания правила в режиме редактирования за исключением полей Секция и Источник¶
Удостовериться, что форма для создания правила содержит элементы, описанные в нижеуказанной таблице¶
table{margin:50 auto; width:100%}.
{background:lightgrey}. |Блок формы правила|Элементы блока правила|Тип|Редактирование|Обязательность для заполнения|Описание|Проверка|
| |Секция|Поле со списком|НЕТ|НЕТ|Заполняется, исходя из значения этого поля в списке правил. Может быть не заполнено при создании/изменении правила работником, имеющим привилегии на корректировку общих правил по всем секциям. Должно быть заполнено при создании/изменении правила работником, не имеющим привилегии на корректировку общих правил по всем секциям.||
|Основные сведения|Название правила|Текстовое поле|ДА|ДА|Название правила, которое будет отображаться в списке правил|При прохождении валидации, если поле не заполнено, то оно подсвечивается красной рамкой и, при активации специального значка, отображается следующий текст ошибки: +Обязательное для заполнения поле+|
| |Источник|Поле со списком|НЕТ|-|Содержит 2 значения:
Работник (присваивается при создании правила работником биржи с использованием Конструктора правил);
Система (присваивается при программном создании правила).| |
| |Тип правила|Поле со списком|ДА|ДА|Значения списка:
Ошибка
Предупреждение
Информационное сообщение
Ограничение значений списка.
Допускается выбор только одного значения.|При прохождении валидации, если поле не заполнено, то оно подсвечивается красной рамкой и, при активации специального значка, отображается следующий текст ошибки: +Обязательное для заполнения поле+|
| |Дата начала действия|Дата|ДА|ДА|Первый день, когда правило считается действующим. Доступен выбор из календаря.
При создании (в том числе путем копирования) и при редактировании планируемого правила Дата начала действия должна быть >= Текущей даты.|При прохождении валидации:
Если поле не заполнено, то оно подсвечивается красной рамкой и, при активации специального значка, отображается следующий текст ошибки: +Обязательное для заполнения поле+
Если введена(выбрана) некорректная дата либо некорректный формат даты, что отображается следующий текст ошибки: +Значение должно быть датой. Формат значения должен соответствовать шаблону ДД.ММ.ГГГГ.+
Если введена дата, которая меньше текущей, то отображается следующее сообщение: +Дата начала действия должна быть больше либо равна Текущей дате+|
| |Дата окончания действия|Дата|ДА|НЕТ|Последний день, когда правило считается действующим. Доступен выбор из календаря. Дата окончания действия должна быть >= Дата начала действия либо быть незаполненной.|При прохождении валидации:
Если введена(выбрана) некорректная дата либо некорректный формат даты, что отображается следующий текст ошибки: +Значение должно быть датой. Формат значения должен соответствовать шаблону ДД.ММ.ГГГГ.+
Если введена дата, которая меньше текущей, то отображается сообщение: +Дата окончания действия должна быть больше либо равна Дата начала действия либо быть незаполненной.+|
|Область применения (если; условия применяются через «и»)|\5.Для правил с источником «Система» все поля области применения закрыты для редактирования. Для правил с источником «Работник» применяются правила, описанные ниже.
Комментарий»: все правила, указанные в области применения, применяются с агрегатором «и» - если необходимо задать условие «или» необходимо либо создать новое правило, либо задать такое условие в блоке «Дополнительно (если)».| |
| |Уровень правила|Поле со списком|ДА/НЕТ|ДА|В списке 4 значения:
Общее правило (по обязательным полям всех заявок всех секций).
Применяется к модели заявки и всем ее товарам.
Применяется к модели заявки + номенкл. группа/товарная группа/товар.
Применяется к заявкам сессии.
При изменении уровня применения правила очищаются и становятся доступны/недоступны иные поля области применения. Допускается выбор только одного значения.|Если источник = “Работник”, то при прохождении валидации, если введена(выбрана) некорректная дата либо некорректный формат даты, отображается следующий текст ошибки: +Значение должно быть датой. Формат значения должен соответствовать шаблону ДД.ММ.ГГГГ.+|
| |Модель заявки|Поле со списком|ДА/НЕТ|ДА/НЕТ|- Поле с выпадающим списком названий моделей заявки и единичным выбором.
Доступно и обязательно для заполнения, если уровень правила = «Применяется к модели заявки и всем ее товарам» или «Применяется к модели заявки + номенкл. группа/товарная группа/товар», иначе – очищено и не доступно для заполнения.
p.s т.к. для одной сессии может быть несколько заявок, то поле Модель заявки должно быть доступным и обязательным и тогда, когда уровень правила = Применяется к заявкам сессии.| |
| |Сессия|Поле со списком|ДА/НЕТ|ДА/НЕТ|- Поле с выпадающим списком сессий, созданных не по шаблону и единичным выбором.
В поле отображаются номера, даты и названия сессий в статусах «Подготовка», «В процессе переноса в торги».
Список отсортирован по дате сессии по возрастанию и названию сессии по алфавиту.
Доступно и обязательно для заполнения, если уровень правила = «Применяется к заявкам сессии», иначе – очищено и не доступно для заполнения| |
| |Наименование НГ/ТГ/товара| |ДА/НЕТ|ДА/НЕТ|- Элемент управления, аналогичный элементу управления в поле Наименование НГ/ТГ/товара модели заявки позволяющий выбрать уровень распространения правила (номенклатурная группа, товарная группа или товар) и позиции, соответствующие этому уровню распространения.
Допускается множественный выбор, в итоговом поле отображаются все выбранные значения.
Отображается и обязательно для заполнения, если уровень правила = «Применяется к модели заявки + номенкл. группа/товарная группа/товар», отображается и может быть заполнено, если уровень правила = «Применяется к сессии», иначе – очищено и не доступно для заполнения.
Отфильтровано по выбранной торговой секции.
Отображение дерева товаров по аналогии с моделями. По умолчанию свернуто до НГ. Расположено в правом (3-м) ряду полей. В 1-м: Уровень правила, Модель, Сессия, во 2-м: Тип рынка и Направление.| |
| |Тип рынка|Поле со списком|ДА/НЕТ|ДА/НЕТ|- Поле с выпадающим списком типов рынка и множественным выбором.
Доступно и обязательно для заполнения, если уровень правила = «Применяется к модели заявки и всем ее товарам», «Применяется к модели заявки + номенкл. группа/товарная группа/товар», «Применяется к сессии», иначе – очищено и не доступно для заполнения.
В выпадающем списке отображаются только типы рынка, указанные в выбранной модели заявки или выбранной сессии.| |
| |Направление|Поле со списком|ДА/НЕТ|ДА/НЕТ|- Поле с выпадающим списком. Можно выбрать: Покупка/ Продажа, Продажа, Покупка.
Доступно для редактирования и обязательное, если уровень правила = «Применяется к модели заявки и всем ее товарам», «Применяется к модели заявки + номенкл. группа/товарная группа/товар», «Применяется к сессии», иначе – очищено и не доступно для заполнения.
Допускается выбор только одного значения из списка.| |
|Дополнительно (если)|Конструктор условий| |ДА/НЕТ|-|- Для правил, у которых источник «Система», содержит надпись: Заполняется в программном коде и закрыто для редактирования.
Для правил, у которых источник «Работник»: элемент управления, позволяющий описывать сложные условия применения правила. Позволяет:
Добавить условие или группу условий
Удалить условие
Выбрать:
3.1 Тип агрегатора (и / или). По умолчанию – «и».
3.2 Название поля.
3.3 Оператор (Например, Содержит, Не содержит, Начинается с, Заканчивается на, Равно, Не равно, Пусто, Не пусто, Любой из, Ни один из. Перечень доступных операторов зависит от типа поля)
3.4 Тип элемента, который будет использоваться во второй части условия (поле или константа). По умолчанию – константа.
3.5 Название поля или значение константы.
3.5.1 Если тип элемента – константа, то позволяет:
ввести значение, если в первой части условия указано текстовое или числовое поле;
выбрать дату из календаря, если в первой части условия указано поле даты
выбрать значение (значения) из списка, если в первой части условия указано поле со списком
3.5.2 Если тип элемента – поле, то позволяет выбрать название поля из списка полей. В списке полей отображаются поля с учетом правил, описанных выше.| |
|То должны выполняться условия|Конструктор условий| |ДА\НЕТ|-|- Для правил, у которых источник «Система», содержит надпись: Заполняется в программном коде и закрыто для редактирования.
Для правил, у которых источник «Работник»: элемент управления, позволяющий описывать сложные условия применения правила. Позволяет:
Добавить условие или группу условий
Удалить условие
Выбрать:
3.1 Тип агрегатора (и / или). По умолчанию – «и».
3.2 Название поля.
3.3 Оператор (Например, Содержит, Не содержит, Начинается с, Заканчивается на, Равно, Не равно, Пусто, Не пусто, Любой из, Ни один из. Перечень доступных операторов зависит от типа поля)
3.4 Тип элемента, который будет использоваться во второй части условия (поле или константа). По умолчанию – константа.
3.5 Название поля или значение константы.
3.5.1 Если тип элемента – константа, то позволяет:
ввести значение, если в первой части условия указано текстовое или числовое поле;
выбрать дату из календаря, если в первой части условия указано поле даты
выбрать значение (значения) из списка, если в первой части условия указано поле со списком
3.5.2 Если тип элемента – поле, то позволяет выбрать название поля из списка полей. В списке полей отображаются поля с учетом правил, описанных выше.| |
|/4.Иначе|Текст сообщения при невыполнении условий| |ДА/НЕТ|ДА/НЕТ|Блок не отображается (скрывается) и поле не заполняется, если «Тип правила» = «Ограничение значений списка». Для иных типов правил обязательно должна быть заполнена хотя бы 1 запись с текстом ошибки на русском языке. | |
|Язык|Поле со списком|ДА/НЕТ|ДА/НЕТ|Выбор из справочника доступных языков. Обязательное, если заполнено поле Сообщение.||
|Сообщение|Текстовое поле|ДА/НЕТ|ДА/НЕТ|Текстовое поле. Обязательное, если заполнено поле Язык||
|Добавить| | | |Управляющий элемент для добавления строки в таблицу||
|/2.Элементы управления формой|Кнопка Сохранить| | | |Сохраняет внесенные изменения и возвращает работника на список правил.| |
|Кнопка Отменить| | | |Закрывает форму заявки без сохранения и возвращает работника на список правил.| |
Проверить, что в блоках Дополнительно (если) и То должны выполняться условия при выборе полей доступны поля:¶
+Для правил с уровнем правила Общее правило…:+
** Сессионные параметры заявки (доступны только в блоке «Дополнительно (если)»):
Дата и время сессии;
Тип рынка;
Вид торгов;
** Обязательные поля заявки.
** Поля специальных блоков.
** Поля из блока Общие параметры заявки.
+Для правил с уровнем правила Применяется к модели заявки и всем ее товарам:+
** Сессионные параметры заявки (доступны только в блоке «Дополнительно (если)»):
Дата и время сессии;
Тип рынка;
Вид торгов;
** Товарные характеристики (объединение товарных характеристик товаров; распространятся на те товары, у которых есть такая товарная характеристика)
** Обязательные поля заявки.
** Основные поля специальных блоков.
** Поля специальных блоков.
** Поля из блока «Общие параметры заявки».
+Для заявок с уровнем правила Применяется к модели заявки + номенкл. группа/товарная группа/товар:+
** Сессионные параметры заявки (доступны только в блоке «Дополнительно (если)»):
Дата и время сессии;
Тип рынка;
Вид торгов;
** Товарные характеристики (объединение товарных характеристик товаров; распространятся на те товары, у которых есть такая товарная характеристика)
** Обязательные поля заявки.
** Поля специальных блоков.
** Пересечение дополнительных полей из всех блоков модели заявки, в которых указаны эти номенкл группа/товарная группа/товар.
** Поля из блока «Общие параметры заявки».
+Для правил с уровнем правила Применяется к сессии:+
** Сессионные параметры заявки (доступны только в блоке «Дополнительно (если)»):
Дата и время сессии;
Тип рынка;
Вид торгов;
** Товарные характеристики (объединение товарных характеристик товаров; распространятся на те товары, у которых есть такая товарная характеристика)
** Обязательные поля заявки.
** Поля специальных блоков.
** Дополнительные поля модели заявки, использованной при построении формы заявки.
** Поля из блока Общие параметры заявки. Работник заполняет элементы формы правила с учетом значений таблица в пункте 2
Сессионные параметры заявки и Товарные характеристики доступны в блоке Дополнительно (если) и также доступны в блоке То должны выполняться условия¶
По мере заполнения формы модели заявки, отдельные поля проходят валидацию в соответствии со значениями, указанными в колонке Проверка таблицы из пункта 2.¶
Cохранение правила возможно по кнопке Сохранить. При этом:¶
** Осуществляется сохранение правила
** Выводится кратковременное уведомление об успешном сохранении - Правило успешно сохранено
** Форма правила переходит в режим чтения
** Пользователь остается на форме правила
Проверить, что по кнопке Отменить выводится окно с предупреждением - Вы хотите выйти без сохранения изменений? и кнопками Выйти без сохранения (по умолчанию) и Нет.¶
** Окно с предупреждением закрывается
** Пользователь остается на форме правила в том состоянии формы, которое было при нажатии кнопки Отменить
Проверить корректность работы системы в следующих случаях: СЛУЧАИСЛУЧАИ
I. Если какое-либо обязательное для заполнения поле не заполнено либо поле заполнено с нарушением формата, то:
*** неправильно заполненное поле выделяется красным цветом
*** выводится сообщение об ошибке (отображение сообщения осуществляется при активации специального значка)
*** сохранение правила не производится
II. Если нарушены условия доступности полей в блоках Дополнительно (если) и То должны выполняться условия, то
*** выводится сообщение - Нельзя сохранить правило. Поле {Название поля}, …, {Название поля} отсутствуют в форме заявки с учетом области применения заявки
III. Если не указан текст сообщения на русском языке для правила с типом, не равным Ограничение значений списка, то
*** выводится сообщение - Нельзя сохранить правило. Необходимо указать текст сообщения при невыполнении условий на русском языке
IV. Если в таблице сообщений есть позиции с незаполненным полем Язык или Сообщение, то:
**** выводится сообщение - Нельзя сохранить правило. Необходимо указать язык и текст сообщения в каждой строке таблицы сообщений при невыполнении условий
**** поля Язык и Сообщение обязательные для заполнения и подсвечиваются по дефолтной валидации.
**** кнопка Сохранить не доступна, пока их не заполняться поля Язык и Сообщение.
V. Если в таблице сообщений есть две и более позиций с одинаковым значением поля Язык, то:
**** выводится сообщение - Нельзя сохранить правило. Нельзя указать два и более сообщений на одном и том же языке
**** из выпадающего списка для выбора языка исключаются уже выбранные позиции
**** когда будут введены значения для всех языков кнопка Добавить дизейблится
%{background:lightyellow} +Проверяемое действие (функциональность)+:% Как <работник>, я <хочу посмотреть список моделей заявок>, чтобы <ознакомиться со всеми имеющимися моделями заявок>
В разделе управления заявками в поле Секция имеется возможность выбрать торговую секцию в соответствии с привилегиями работника.¶
Проверить, что на форме управления заявками по умолчанию активна вкладка Конструктор моделей со списком (таблицей) имеющихся моделей заявок торговой секции¶
На странице Конструктора моделей доступны следующие элементы:¶
table{margin:50 auto; width:70%}.
{background:lightgrey}. |Название элемента|Описание|
|Секция|- Поле с +выпадающим списком+ товарных секций: +Металлопродукция, Лесоматериалы, Сельхозпродукция, Перспективные товары+.
При первом входе в раздел управления заявками по умолчанию отображается секция Металлопродукция
В поле возможен только +единичный выбор+ секции.
После выбора товарной секции список моделей заявок отфильтровывается согласно выбранному значению.
Если у работника есть доступ на редактирование моделей только одной товарной секции, то всегда отображается данная секция.|
|Конструктор моделей|- Элемент управления для перехода в блок Конструктор моделей
Выбран по умолчанию|
|Конструктор правил|- Элемент управления для перехода в блок Конструктор правил|
|Панель управления|- По умолчанию отображается только элемент управления (кнопка) Создать модель|
|Панель для поиска и группировки|- Элементы управления, позволяющие осуществлять поиск и группировку записей списка моделей (%{background:pink}функционал элемента не проверяется в рамках текущего тест-кейса. Смотри ограничения к тест-кейсу%)|
|Элемент обновления списка
"Вид элемента":https://drive.google.com/file/d/1u2YVCBFiXo5sxWtF9H0QnurjsaPigfCa/view?usp=sharing|- При кликании на элемент происходит обновление данных списка моделей|
|Элемент активации всплывающего окна
"Вид элемента":https://drive.google.com/file/d/16IwVj8qDsbWZODByqf84p8kwQzr_KPMl/view?usp=sharing|- При активации элемента появляется всплывающее окно, содержащее перечень столбцов моделей заявок, доступных для отображения в списке: Наименование, Направление заявки, Вид торгов, Тип рынка, Дата начала, Дата окончания, Шаблон сессии.
По умолчанию отображаются поля - Наименование, Направление заявки, Вид торгов, Тип рынка, Дата начала, Дата окончания. Не отображается поле Шаблон сессии.
Поля добавляются и удаляются из списка путём перетаскивания
Выполненные работником настройки сохраняются при последующем открытии списка как в рамках текущего сеанса, так и при последующих сеансах этого работника.|
|Элемент сброса состояния
"Вид элемента":https://drive.google.com/file/d/17GjJCPazsH4RDqutZ-oLrdT3wk67-o3y/view?usp=sharing|- При кликании на элемент происходит сброс всех проведённых изменений и возврат к настройкам по умолчанию (т.е. к состоянию на момент входа в раздел управления заявками)|
|Информационный знак
"Вид знака":https://drive.google.com/file/d/1JrYeggHRO95j1QtFVb5346SeRmdZidvj/view?usp=sharing|- Знак отображается в том случае, если шаблон сессии, по которому была создана модель заявки, деактивирован или были внесены изменения.
При наведении курсора на знак, отображается информационная подсказка с указанием того, что он обозначает.|
|Список моделей заявок|- Таблица, содержащая перечень имеющихся моделей заявок, удовлетворяющих условиям, заданным с использованием поиска, фильтров и группировок.
Если условиям поиска и/или фильтрации не удовлетворяет ни одна запись списка, то отображается надпись: +{color:red}Нет данных+
Список отсортирован по умолчанию по названию, от А до Я.
По умолчанию отображаются колонки: Наименование, Направление заявки, Вид торгов, Тип рынка, Дата начала, Дата окончания
Список моделей заявки отображается постранично.
Количество записей на странице регулируется пользователем. Доступные варианты: 10, 20, 50, 100. По умолчанию установлено 50.|
|Фильтры|Набор фильтров в столбцах для быстрой фильтрации. Используются для установки фильтров на список моделей. (%{background:pink}функционал элемента не проверяется в рамках текущего тест-кейса. Смотри ограничения к тест-кейсу%)|
|Перемещение по страницам списка (пагинация)|- При кликании на каждый из них позволяют настроить количество позиций на одной странице списка
При кликании на крайние элементы позволяют перемещаться по страницам списка
Крайние элементы становятся недоступными, если пользователь находится на первой либо последней станице списка|
КМ-14. Конструктор моделей. Фильтрация, поиск, группировка, изменение отображения списка столбцов.
h2. Location
Управление заявками -> Конструктор моделей
h2. User rights
Администратор (пользователь)
h2. Steps
+@Часть 1. Внести изменения в настройки выбора и отображения столбцов списка модели заявки@+
Проверить, что при активации управляющего элемента Выбор столбцов пользователю в отдельном всплывающем окне отображается список доступных столбцов в виде тегов¶
Проверить. что выбор необходимых столбцов осуществляется при помощи выбора наименования столбца и перетаскивания в нужное место списка моделей (по аналогии с сессиями)¶
+@Часть 2. Добавить в список моделей фильтрацию, поиск, группировку моделей@+
Сортировка
Проверить, что по умолчанию список отсортирован по колонке Наименование¶
Проверить, что непосредственно в колонке Наименование значения отсортированы по возрастанию (по алфавиту от А до Я)¶
Поиск
Проверить, что пользователю доступен поиск двумя способами:¶
** в первой строке таблицы, которая располагается под наименованием колонки
** с использованием общего элемента Искать, расположенного над таблицей
Проверить, что в первой строке таблицы, для полей Наименование, Направление заявки, Вид торгов и Шаблон сессии осуществляется контекстная фильтрация списка при вводе с клавиатуры (при совпадении с любой частью поля)¶
Проверить, что в первой строке таблицы, для поля Тип рынка доступен выбор из выпадающего списка, отсортированного по алфавиту¶
Фильтрация
Проверить, что при фильтрации запрос к базе не осуществляется¶
Проверить, что фильтрация доступна следующими способами:¶
** по элементам в заголовке столбцов
** кастомный фильтр по полу Тип рынка +(по аналогии с сессиями)+
Проверить, что списки значений, доступные в фильтрах, отсортированы по алфавиту¶
Проверить, что создание сложных фильтров возможно при помощи стандартного элемента Создать фильтр(по аналогии с сессиями)¶
Проверить, что фильтрация также возможна с использованием специального фильтра по полю Статус на текущую дату¶
Проверить, что поле Статус на текущую дату является:¶
** поле с выпадающим списком и с множественным выбором
содержит значения: Активная, Планируемая, Удаленная
по умолчанию установлено: Активная и Планируемая
** доступно для редактирования
** необязательно для заполнения
** в случае, если не выбран ни один статус, то отображаются записи со всеми статусами
Проверить, что удаленные модели отображаются при установке статуса Удаленная в поле Статус на текущую дату или если не выбран ни один из статусов¶
Проверить, что в списке моделей при установке статуса Удаленная отображаются записи:¶
** удаленные работником с использованием специальных элементов
** удаленные автоматически (например при редактировании активной модели)
** с истекшим сроком действия
Проверить, что записи со статусом Удаленная подсвечиваются бледно-красным цветом¶
Проверить, что в случае наличия изменений данных в базе данных управляющий элемент для обновления списка подсвечивается зелёным цветом¶
Убедиться в том что установленная пользователем фильтрация сохраняется в пользовательских настройках¶
КМ-13. Информационный знак на списке моделей
h2. Location
Управление сессиями -> Шаблоны сессии -> Редактировать Управление заявками -> Конструктор моделей
h2. User rights
Администратор (пользователь)
h2. Steps
Часть 1. Внесение изменений в редактирование шаблона сессии:
отображать информационный знак, на списке моделей в записях, у которых был указан и отредактирован шаблон сессии
Проверить, что при сохранении отредактированной формы шаблона сессии, при наличии активных и/или планируемых моделей заявки система информирует пользователя о том, что модели заявки по этому шаблону будут отмечены специальным знаком и что после редактирования шаблона ему необходимо перейти в ПУЗ и привести модели в соответствие с шаблоном.¶
Проверить, что при сохранении отредактированной формы шаблона сессии, при наличии активных и/или планируемых моделей заявки система информирует пользователю отображается окно со следующими элементами: ЭЛЕМЕНТЫЭЛЕМЕНТЫ
table{margin:50 auto; width:100%}.
{background:lightgreen}. |Название элемента|Описание|
||1) В окне отображается следующее сообщение работнику: "Модели заявки, созданные по шаблону {Название шаблона}, будут отмечены специальным знаком как требующие внимания.
После сохранения шаблона необходимо перейти в подсистему заявок, привести модели в соответствие с шаблоном и снять знак."
Также в дополнение к вышеуказанному сообщению могут добавляться следующие сообщения: "Дополнительно в моделях будет автоматически изменен вид торгов на новый, указанный в шаблоне.
Модель {Название модели} будет удалена, так как в ней указаны только типы рынка, которые удалили из шаблона."
2) Выводится отдельное сообщение для каждой удаляемой модели с сортировкой по наименованиям моделей по алфавиту|
|Связанные модели|1) Таблица, содержащая перечень связанных с шаблоном моделей.
2) Таблица такая же, как список моделей конструктора моделей - Grid DevExpress (пагинация, сортировка, стандартные фильтры).
3) Сортировка по умолчанию:
По наименованию в порядке возрастания (по алфавиту от А до Я).
Отображаются следующие колонки:
Инф.знак (если он был на модели)
Наименование
Направление заявки
Вид торгов
Тип рынка
Дата начала
Дата окончания|
|Кнопка Сохранить|Сохраняет шаблон|
|Кнопки: Отменить и элемент "Х"|Закрывают окно. Пользователь возвращается на форму шаблона.|
Часть 2. После редактирования модели с установленным информационным знаком добавить диалоговое окно при сохранении модели
При редактирования модели с установленным информационным знаком выводится диалоговое окно с вопросом - Вы внесли все необходимые изменения в модель для корректного формирования заявки по измененному шаблону сессии и необходимо снять информационный знак? и кнопками Сохранить и снять знак (по умолчанию активна и активируется по нажатию Enter), Сохранить и оставить знак и Отменить¶
Кликая по кнопке Сохранить и снять знак после успешного сохранения +планируемой+ или +активной+ модели она переходит в режим просмотра¶
Сохранение +планируемой+ или +активной+ отредактированной модели происходит с удалением существующей и созданием новой активной модели¶
При переходе на список моделей информационный знак перестает отображаться как на планируемой модели и новой записи активной модели, так и на удаленной модели.¶
Кликнув по кнопке Сохранить и оставить знак после успешного сохранения +планируемой+ или +активной+ модели она переходит в режим просмотра.¶
Сохранение +планируемой+ или +активной+ отредактированной модели происходит с удалением существующей и созданием новой активной модели.¶
При переходе на список моделей информационный знак отображается и на планируемой модели, и на новой записи активной модели, кроме удаленной модели.¶
Кликнув по кнопке Отменить пользователь возвращается на форму редактирования модели.¶
КМ-1.7. Конструктор моделей. При заполнении блока "Товарные характеристики" отображать объединение товарных характеристик
h2. Location
Управление заявками -> Конструктор моделей -> Создать модель -> Товарные характеристики
h2. User rights
Администратор (пользователь)
h2. Steps
Проверить, что при переходе на форму создания модели заявки в таблице имеется блок Товарные характеристики, который расположен за блоком Наименование НГ/ТГ/товара.¶
Убедиться в том, что по умолчанию до выбора значений в блоке Наименование НГ/ТГ/товара блок Товарные характеристики не заполнен.¶
Блок Товарные характеристики автоматически заполняется из НСИ после выбора одного либо нескольких значений в блоке Наименование НГ/ТГ/товара.¶
** Заполнение происходит доступными характеристиками товара, работы, услуги в зависимости от выбранного уровня (номенклатурной группы, товарной группы или товара).
Значения в блоке Товарные характеристики представляют собой список полей недоступных для редактирования.¶
Если выбрано несколько позиций товаров/групп товаров, то в модели отображаются только уникальные доступные характеристики.¶
Блок Товарные характеристики очищается при изменении поля «Наименование НГ/ТГ/ товар» и одновременно заполняется новыми характеристиками, относящимися к измененной позиции (НГ/ТГ/товару)¶
Проверить, что если у товаров имеются идентичные характеристики, то данные характеристики объединяются¶
Если пользователь выбрал только один товар (номенклатурную или товарную группу), то отобразятся только те характеристики, которые относятся к выбранному товару (номенклатурной или товарной группе)¶
Если пользователь выбрал два и более товара (номенклатурной или товарной группы), то отобразятся все уникальные характеристики, относящиеся к выбранным позициям (без повторов)¶
SM.FR-1.US-2.1 Привязка шаблона сессии, модели заявки и правил к сессии. Части 2.1, 3
h2. Location
Управление заявками -> Конструктор моделей Управление сессиями -> Создание сессии (в т.ч. редактирование сессии)
h2. User rights
Администратор (пользователь)
h2. Steps
Часть 2.1 требования
Проверить, что при создании сессии поле Стадия сессии:¶
** по умолчанию автоматически заполняется значением +Новая+
** закрыто для редактирования
При редактировании сессии поле Стадия сессии доступно для редактирования¶
Проверить, что все сессии, которые создаются автоматически, создаются в стадии +Новая+¶
Часть 3 требования
При сохранении сессии (при создании и редактировании), перед проверкой на идентичность осуществляется проверка сессии на наличие активной модели заявки на дату сессии¶
Если проверка прошла успешно, то для сессии фиксируются обнаруженные модели заявок и наборы правил (для сессий по шаблону - общие правила + правила, в которых в области применения указаны зафиксированные модели; для сессий не по шаблону - общие правила + правила, в которых в области применения указаны зафиксированные модели + правила, в области применения которых указана сессия)¶
Если обнаружена хотя бы одна недостающая модель, то выводится окно, содержащее сообщения с учетом следующего:¶
** Если в форме подачи заявки на сессию в поле Форма подачи заявки на продажу или в поле Форма подачи заявки на покупку указано: Подача заявки или Все, то сообщение помечается красным информационным знаком "i"
** Если в форме подачи заявки на сессию в поле Форма подачи заявки на продажу или в поле Форма подачи заявки на покупку указано: Регистрация на сессию, то сообщение помечается желтым информационным знаком "i"
Если среди сообщений есть хотя бы одно сообщение с красным информационным знаком, то в окне:¶
** отсутствуют кнопки сохранения
** имеется только кнопка Вернуться к редактированию, при кликании на которую пользователь возвращается на форму сессии
Если все сообщения имеют жёлтый информационный знак, то окно содержит вопрос Сохранить сессию? и кнопки Сохранить и Отменить.¶
** кликнув по кнопке Сохранить сессия сохраняется
** кликнув по кнопке Отменить окно с предупреждением закрывается, а пользователь остается на форме сессии в том состоянии формы, которое было при нажатии кнопки Сохранить
Если есть сообщения как с красным так и с жёлтым информационным знаком, то сначала выводятся сообщения с красным, а затем с жёлтым информационным знаком¶
Проверить, что если для сессии +не по шаблону+ не обнаружена модель, то появляется сообщение следующего - Для вида торгов {Вид торгов}, типа рынка {Тип рынка} нет модели заявки на {покупку / продажу}. При этом:¶
** выводится отдельное сообщение для каждого типа рынка и направления
** сортировка типов рынка и направлений осуществляется по алфавиту
Проверить, что если для сессии +по шаблону+ не обнаружена модель, то появляется сообщение - Для шаблона {Шаблон}, типа рынка {Тип рынка} нет модели заявки на {покупку / продажу}. При этом:¶
** выводится отдельное сообщение для каждого типа рынка и направления
** сортировка типов рынка и направлений осуществляется по алфавиту
Если перевод в стадию +Открыт прием заявок+ либо +Открыт прием заявок на покупку+, либо +Открыт прием заявок на продажу+ осуществляется вручную и обнаружены недостающие модели, то пользователю выводятся сообщения, указанные в предыдущих пунктах данного тест-кейса¶
Если при автоматическом первичном переходе сессии в стадию +Открыт прием заявок+ либо +Открыт прием заявок на покупку+, либо +Открыт прием заявок на продажу+ в конструкторе не обнаружены необходимые модели, то:¶
** сессия не переходит в соответствующую стадию
** система выводит PUSH-уведомление типа Сессия №… не перешла в стадию приема заявок по причине отсутствия необходимых моделей заявки. Перейдите в Конструктор моделей и создайте необходимые модели
Длительность отображения PUSH-уведомления - постоянная и до момента закрытия пользователем¶
Номер сессии в PUSH-уведомлении является ссылкой при кликании на которую пользователь переходит на форму сессии¶
Проверить, что уведомления отправляются пользователям, имеющим привилегии получать уведомления в определенной торговой секции¶
КМ-1 Создание модели заявки
h2. Full location
Раздел Управление заявками
h2. User rights
Администратор
h2. Steps
Проверить, что при нажатии на вкладку Управление заявками происходит переход в раздел управления заявками.¶
Проверить, что по умолчанию в разделе управления заявками активна вкладка Конструктор моделей и отображается список сформированных ранее моделей заявок по товарной секции.¶
Проверить, что при нажатии на кнопку Создать модель, открывается страница для создания модели заявки в режиме редактирования.¶
Проверить, что форма создания модели заявки содержит все элементы формы, которые соответствуют требованиям, указанным в таблице. ТАБЛИЦАТАБЛИЦА
h2. Таблица
table{margin:50 auto; width:100%}.
{background:lightgrey}. |Блок конструктора модели заявки|Элементы блока конструктора|Тип|Редактирование|Обязательность для заполнения|Описание и Условия|
|Наименование конструктора|||||Конструктор моделей|
|/9.Сессионные параметры|Секция|Поле|НЕТ|ДА|1) Заполняется автоматически, исходя из значения, выбранного в поле Секция, на странице раздела управления заявками.
2) Поле отделено от расположенных ниже элементов линией зелёного цвета|
|Шаблон сессии|Поле с выпадающим списком|ДА|НЕТ|1) Возможен выбор только одного значения.
2) По умолчанию не заполнено.
3) Выпадающий список отфильтрован по выбранной торговой секции.
4) В список попадают только шаблоны сессии в статусе +Активный+.
5) Значения поля (доступные шаблоны) отображаются в алфавитном порядке.
6) При выборе значения (шаблона) поля Вид торгов, Тип рынка и Сборный лот автоматически заполняются имеющимися в шаблоне данными.
7) При удалении шаблона значения всех заполненных полей и блоков, за исключением поля Секция зачищаются, а форма конструктора возвращается к своему дефолтному состоянию.|
|Вид торгов|Поле с выпадающим списком|ДА/НЕТ|ДА|1) Возможен выбор только одного значения.
2) Если в поле Шаблон сессии выбрано значение, то:
автоматически заполняется данными из данного шаблона сессии
недоступно для редактирования после выб.
Если в поле Шаблон сессии значение не выбрано, то:
доступно для редактирования.
Очищается при удалении значения в поле Шаблон сессии.
Наименование поля отмечено красной звездой, указывающей на обязательность заполнения|
|Тип рынка|Поле с выпадающим списком|ДА/НЕТ|ДА|1) Допускается множественный выбор путём активации соответствующих чекбоксов:
Выбрать все
Внешний рынок
Внутренний рынок
Импорт
Экспорт
Если в поле Шаблон сессии выбрано значение, то:
автоматически заполняется данными из данного шаблона сессии.
остается доступным для редактирования
Если в поле Шаблон сессии значение не выбрано, то:
доступно для редактирования.
Очищается при удалении значения в поле Шаблон сессии.
Наименование поля отмечено красной звездой, указывающей на обязательность заполнения|
|Направление|Поле с выпадающим списком|ДА|ДА|1) Возможен выбор только одного значения:
Покупка/Продажа
Покупка
Продажа
Наименование поля отмечено красной звездой, указывающей на обязательность заполнения|
|Наименование модели|Поле|НЕТ|ДА|1) Поле, в котором отображается наименование модели.
Ручной ввод данных невозможен.
Текст поля формируется автоматически двумя путями:
Если при создании модели в поле Шаблон сессии +выбрано+ значение, то наименование формируется следующим образом: {наименование шаблона}” / “{тип рынка 1}”, ”...{тип рынка N}” / “ {направление заявки};
Если при создании модели в поле Шаблон сессии значение +не выбрано+, то наименование формируется следующим образом: {вид торгов}” / “{тип рынка 1}”, ”...{тип рынка N}” / “ {направление заявки}
При наведении курсора на поле появляется всплывающее сообщение с текстом: Наименование модели заполняется автоматически и недоступно для заполнения|
|Описание модели|Текстовое поле, 1000 символов|ДА|НЕТ|Текстовое поле предназначенное для внесения дополнительной информации о модели работником.|
|Дата начала действия|Дата|ДА|ДА|1) Указывается дата (первый день), когда модель считается действующей.
Доступен выбор из календаря.
В календаре невозможно выбрать дату меньше текущей.
Дата начала действия должна быть больше либо равна текущей дате.
Возможен ручной ввод даты.
Формат значения должен соответствовать шаблону ДД.ММ.ГГГГ
Наименование поля отмечено красной звездой, указывающей на обязательность заполнения|
|Дата окончания действия|Дата|ДА|НЕТ|1) Указывается дата (последний день), когда модель считается действующей.
Доступен выбор из календаря.
В календаре невозможно выбрать дату меньше текущей
Дата окончания действия должна быть больше либо равна дате начала действия, либо быть незаполненной
Возможен ручной ввод даты
Формат значения должен соответствовать шаблону ДД.ММ.ГГГГ|
|/5.Таблица конструктора моделей заявки|Наименование НГ/ТГ/товара|Элемент управления|ДА/НЕТ|ДА|1) При кликании на кнопку Добавить появляется перемещаемое окно в котором есть древовидный рекурсивный выбор, а также кнопки Сохранить и Отменить.
Значения отфильтрованы по выбранной торговой секции.
Возможен выбор как всей номенклатурной группы так и отдельной товарной группы либо конкретного товара, в т.ч. в их сочетании.
Допускается множественный выбор путём активации соответствующих чекбоксов.
Один блок может содержать несколько выбранных позиций.
Возможен поиск товарных позиций через соответствующее поле поиска.
Если не выбрано ни одной номенклатурной группы или товарной группы, или ни одного товара, то кнопка Сохранить остаётся неактивной.
Если выбрано хотя бы одно значение в древовидном списке, то кнопка Сохранить становится доступной.
При кликании на Сохранить выбранные значения появляются в блоке Наименование НГ/ТГ/товара.
После выбора значений наименование кнопки Добавить меняется на Изменить.
Если в поле Шаблон сессии выбрано значение, то доступны для выбора только номенклатурные группы, товарные группы или товары, указанные в данном шаблоне сессии.
Блок очищается при изменении значения в поле Шаблон сессии.|
|Товарные характеристики|Список полей|НЕТ|-|1) Заполняется автоматически из НСИ доступными характеристиками товара, работы, услуги в зависимости от выбранной номенклатурной группы или товарной группы, или товара.
Если выбрано несколько позиций товаров/групп товаров, то в модели отображаются объединения списков доступных характеристик товаров, работ, услуг.
Блок очищается при изменении значения в блоке Наименование НГ/ТГ/ товар.|
|Поля заявки|Список полей|-|-|1) Блок содержит как обязательные так и необязательные для заполнения поля.
+Обязательные поля:+
К обязательным полям относятся:
Количество (объем)
Ед.изм.
Цена без НДС
Валюта
Ставка НДС
Сумма НДС
Стоимость с учетом НДС
Обязательные поля должны отображаться на всех формах заявок, независимо от товарной секции, вида торгов и типа рынка.
Невозможно изменить количество обязательных полей в блоке.
Под списком обязательных полей располагается кнопка Добавить при кликании на которую появляется поле со списком для добавления в блок Поле заявки необязательных полей и кнопка Удалить.
Значения в обязательных полях отсортированы в алфавитном порядке.
+Необязательные поля:+
В поле возможен выбор только одного значения.
Список необязательных полей изменяется в зависимости от выбранной товарной секции.
При удалении необязательного поля также очищаются значения в полях Допустимые значения, а также деактивируется и пропадает чекбокс, указывающий на признак обязательности.
+Общие требования для обязательных и необязательных полей:+
Обязательность/необязательность заполнения трейдером полей блока устанавливается с помощью активации/деактивации соответствующих чекбоксов, расположенных напротив каждого поля в отдельном блоке.
Наименование блока с чекбоксами не отображается.
По умолчанию все обязательные поля модели заявки имеют активный чекбокс.
Если снимается признак обязательности (деактивируется чекбокс) то:
поле (поля) не участвуют в проверке на обязательность при сохранении заявки трейдером.
поле (поля) остаются на форме заявки|
|Допустимые значения||-|-|1) Кнопка Добавить отображается напротив только тех полей, для которых возможен выбор значений.
При нажатии на Добавить отображается элемент управления для ввода допустимых значений (для полей) или окно (для блоков).
В случае, если выбрано значение в поле Шаблон сессии и в данном шаблоне сессии указаны ограничения единиц измерения, то при указании допустимых значений выбор осуществляется из указанных в шаблоне сессии, иначе – из объединения допустимых единиц измерения, указанных в НСИ для выбранных НГ/ТГ/товара.
В случае, если для какого-либо обязательного поля не указаны допустимые значения, то при заполнении заявки трейдеру доступны все значения из справочника НСИ для этого поля.
При удалении допустимого значения в поле появляется кнопка Добавить|
|Специальные блоки заявки|Блоки:
«Условия поставки»
«Срок поставки»
«График поставки»
«Условия и сроки оплаты»|||1) Функционал блоков “Условия оплаты”, “Условия поставки”, “Срок поставки” и “График поставки” +не проверяется+ в рамках данного тест-кейса и описан в отдельном требовании - КМ-10 (Порядок заполнения специальных блоков).|
|/6.Элементы управления формой|Добавить блок|Кнопка|-|-|1) При кликании позволяет добавить дополнительный блок модели заявки.
Кнопка отображается под последним блоком формы.
Добавляет незаполненный блок.
В одном блоке могут быть указаны различные номенклатурные группы, товарные группы, товары, а также сочетания разных уровней - например, и товар, и товарная группа (если у них должны быть одинаковые формы заявки при заполнении трейдером).
Дополнительный блок исчезает при удалении значения в поле Шаблон сессии.|
|Копировать блок|Кнопка|-|-|1) При кликании осуществляется копирование выбранного блока.
Отображается под каждым блоком.
Добавляет скопированный блок после всех имеющихся, со всеми полями и значениями блока, из которого осуществляется копирование, +кроме полей+ Наименование НГ/ТГ/товара и Товарные характеристики, которые очищаются.
Копированный блок исчезает при удалении значения в поле Шаблон сессии.|
|Удалить блок|Кнопка|-|-|1) При кликании осуществляется удаление выбранного блока.
Отображается под каждой таблицей, если имеется как минимум две таблицы.
При удалении появляется всплывающее окно с текстом: Удалить товарный блок? и вариантами ответа - Удалить и Отменить
При нажатии на Удалить происходит удаление выбранной таблицы и возврат на форму конструктора моделей.
При нажатии на Отменить происходит возврат на форму конструктора моделей с сохранением все ранее введённых данных.|
|Предварительный просмотр|Кнопка|-|-|1) Функционал не проверяется в рамках данного тест-кейса и описан в требовании - КМ-11 (Предварительный просмотр формы заявки)|
|Сохранить|Кнопка|-|-|1) При нажатии осуществляется сохранение внесенных изменений
После заполнения всех обязательных полей и прохождения валидации модель сохраняется по кнопке Сохранить. При этом:
** модель сохраняется и выводится уведомление об успешном сохранении: Модель заявки успешно сохранена
** созданная моделей заявки отображается в режиме чтения.|
|Отменить|Кнопка|-|-|При нажатии Отменить выводится окно с предупреждением: Вы действительно хотите выйти без сохранения последних изменений? и кнопками Да и Нет. При этом:
** по кнопке Да модель заявки закрывается без сохранения, а система переходит на страницу со списком моделей;
** по кнопке Нет окно с предупреждением закрывается, пользователь остается на модели заявки в том состоянии формы, которое было при нажатии кнопки Отменить.|
Проверить, что над таблицей имеется пояснительная надпись, расшифровывающая значение красной звезды у полей - *Обязательное для заполнения поле заявки необходимо отметить чек-боксом.¶
Проверить, что по мере заполнения формы модели заявки, поля Вид торгов, Тип рынка, Направление, Дата начала действия, Наименование НГ/ТГ/товара проходят валидацию.¶
Если валидация не пройдена, то поле подсвечивается красной рамкой и, в зависимости от ситуации, отображается следующий текст ошибок:¶
** +Для поля Вид торгов, Тип торгов и Направление:+
Обязательное поле
** +Для поля Дата начала действия:+
Обязательное поле
Значение должно быть датой. Формат значения должен соответствовать шаблону ДД.ММ.ГГГГ
«Дата начала действия» должна быть больше либо равна текущей дате
** +Для поля Дата окончания действия:+
Значение должно быть датой. Формат значения должен соответствовать шаблону ДД.ММ.ГГГГ
«Дата окончания действия» должна быть больше либо равна «Дата начала действия», либо быть незаполненной
** +Для поля Наименование НГ/ТГ/товара:+
Обязательное поле
При сохранении модели: если в одном блоке выбрали товарную группу, а в другом товар из этой ТГ, то система выводит сообщение об ошибке "Нельзя сохранить модель заявки. В модели не может быть указано два и более одинаковых товара / товарной группы / номенклатурной группы.”, (аналогично по НГ/ТГ и НГ/товар) по аналогии с одинаковыми товарами. Совпадающие позиции товаров выделяются красным цветом и отображается текст ошибки, сохранение не производится.
Проверить, что при кликании на знак X в правой верхней части конструктора моделей, выводится окно с предупреждением: Вы действительно хотите выйти без сохранения последних изменений? и кнопками Да и Отменить. При этом:¶
** по кнопке Да модель заявки закрывается без сохранения, а система переходит на страницу со списком моделей;
** по кнопке Отменить окно с предупреждением закрывается, пользователь остается на модели заявки в том состоянии формы, которое было при нажатии кнопки Отменить.
Управление заявками -> Конструктор моделей Управление сессиями -> Создание сессии (в т.ч. редактирование сессии)
h2. User rights
Администратор (пользователь)
h2. Steps
Часть 2.1
Проверить, что при создании сессии поле Стадия сессии:¶
** по умолчанию автоматически заполняется значением +Новая+
** закрыто для редактирования
При редактировании сессии поле Стадия сессии остается доступным для редактирования¶
Проверить, что все сессии, которые создаются автоматически, создаются в стадии +Новая+¶
Часть 3
При сохранении сессии (при создании и редактировании), перед проверкой на идентичность осуществляется проверка сессии на наличие активной модели заявки на дату сессии¶
** В случае, если сессия создана +без шаблона+, то для каждого направления проверяется наличие моделей заявки с указанными в сессии видом торгов и типами рынков
** В случае, если сессия создана +по шаблону+, то для каждого направления проверяется наличие моделей заявки с указанными в сессии шаблоном сессии и типами рынков
** При этом имеется общее правило:
Поиск моделей осуществляется с учетом периода действия моделей на дату проведения сессии
При проверке учитывается, что одна и та же модель может быть и на покупку, и на продажу, и что в одной модели может быть несколько типов рынка. Система проверяет, что для каждого сочетания параметров направление, вид торгов, тип рынка обнаружена модель
Если обнаружена хотя бы одна недостающая модель, то выводится окно, содержащее сообщения с учетом следующего:¶
** Если в форме подачи заявки на сессию в поле Форма подачи заявки на продажу или в поле Форма подачи заявки на покупку указано: Подача заявки или Все, то сообщение помечается красным информационным знаком "i"
** Если в форме подачи заявки на сессию в поле Форма подачи заявки на продажу или в поле Форма подачи заявки на покупку указано: Регистрация на сессию, то сообщение помечается желтым информационным знаком "i"
Если среди сообщений есть хотя бы одно сообщение с красным информационным знаком, то в окне:¶
** окно блокирующее и в нём отсутствуют кнопки сохранения
** содержит кнопку Закрыть, при кликании на которую пользователь возвращается на форму сессии
Если все сообщения имеют жёлтый информационный знак, то окно содержит вопрос Сохранить сессию? и кнопки Сохранить и Отменить.¶
** кликнув по кнопке Сохранить сессия сохраняется
** кликнув по кнопке Отменить окно с предупреждением закрывается, а пользователь остается на форме сессии в том состоянии формы, которое было при нажатии кнопки Сохранить
Если есть сообщения как с красным так и с жёлтым информационным знаком, то сначала выводятся сообщения с красным, а затем с жёлтым информационным знаком¶
Проверить, что если для сессии +не по шаблону+ не обнаружена модель, то появляется сообщение следующего - Для вида торгов {Вид торгов}, типа рынка {Тип рынка} нет модели заявки на {покупку / продажу}.¶
** выводится отдельное сообщение для каждого типа рынка и направления
** сортировка типов рынка и направлений осуществляется по алфавиту
Проверить, что если для сессии по шаблону не обнаружена модель, то появляется сообщение - Для шаблона {Шаблон}, типа рынка {Тип рынка} нет модели заявки на {покупку / продажу}¶
** выводится отдельное сообщение для каждого типа рынка и направления
** сортировка типов рынка и направлений осуществляется по алфавиту
Если перевод в стадию: +Открыт прием заявок+ либо +Открыт прием заявок на покупку+, либо +Открыт прием заявок на продажу+ осуществляется вручную и обнаружены недостающие модели, то пользователю выводятся сообщения, указанные в предыдущих пунктах данного тест-кейса¶
Если при автоматическом первичном переходе сессии в стадию +Открыт прием заявок+ либо +Открыт прием заявок на покупку+, либо +Открыт прием заявок на продажу+ в конструкторе не обнаружены необходимые модели, то:¶
** сессия не переходит в соответствующую стадию
** система выводит PUSH-уведомление типа Сессия №… не перешла в стадию приема заявок по причине отсутствия необходимых моделей заявки. Перейдите в Конструктор моделей и создайте необходимые модели
Длительность отображения PUSH-уведомления - постоянная и о момента закрытия пользователем¶
Номер сессии в PUSH-уведомлении является ссылкой при кликании на которую пользователь переходит на форму сессии¶
Проверить, что уведомления отправляются пользователям, имеющим привилегии получать уведомления в определенной торговой секции¶