Info Window
Автопредложение. Новая возможность JDE E1 9.1
25.08.2015
Автопредложение - новая возможность пользовательского интерфейса JDE E1, позволяющая быстро находить подходящие варианты значения поля ввода. Во время ввода текста механизм автопредложения производит поиск в заданных таблицах и возвращает соответствующие введенному тексту строки. Как только найдена хотя бы одна подходящая строка, она показывается в табличном виде, и вы можете прекратить дальнейший ввод слова или фразы и выбрать подходящее значение из предложенного списка.

Понятие автопредложения

Эта возможность оказывается полезной, когда вы не помните, например, код, определяемый пользователем, или номер из адресной книги, или другое сокращенное кодовое значение. Вместо этого можно начать набирать описание или название, и механизм осуществит поиск по заданным полям определенных таблиц и предложит к выбору список подходящих строк - по 10 на странице. Например, если вы введете "Агр" в поле "Покупатель" (см. Рис. 1), система может найти "Агромашхолдинг ООО", "Агропромкредит банк" и другие строки со значением в поле "Наименование", начинающимся с "Агр". Вы можете выбрать одну из предлагаемых записей, а система подставит необходимый Номер адреса из Адресной книги в поле ввода "Покупатель" (например 74076).

Пример автопредложения в приложении P4210. В поле 'Покупатель' вместо номера адреса AN8 можно начать вводить наименование этого адреса из Адресной книги. Система предложит подходящие варианты.
Рис. 1. Пример автопредложения в приложении P4210. В поле "Покупатель" вместо номера адреса AN8 можно начать вводить наименование этого адреса из Адресной книги. Система предложит подходящие варианты.

Механизм автопредложения отличается от механизма визуального помощника:

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

В полях ввода с автопредложением отображается стрелка.
Рис. 2. В полях ввода с автопредложением отображается стрелка.

Автопредложение чувствительно к регистру. Если в поле "Наименование" Адресной книги есть записи, начинающиеся с "агр", они не будут видны в списке предложенных.

Информация, отображаемая в табличной форме при выводе подходящих строк в режиме автопредложения, определена в бизнес-представлении особого типа (Auto Suggest Business View), которое можно создать в АРМ разработки бзнес-представлений (см. ниже специальный раздел данной статьи). В JD Edwards EnterprisedOne 9.1 уже есть несколько таких бизнес-представлений:

Название Описание
V0005T User Defined Codes with Translations, F0005 and F0005D
V0006AS AutoSuggest View for F0006
V0006DSA AutoSuggest Language View for F0006D
V0010AS AutoSuggest View for F0010
V0101AS AutoSuggest View for F0101
V0901ASA AutoSuggest View for F0901 - ANS
V0901ASB AutoSuggest View for F0901 - AID
V0901DSA AutoSuggest Language View for F0901D - ANS
V0901DSB AutoSuggest Language View for F0901D - AID
V1201ASA AutoSuggest View for F1201-NUMB
V1201ASB AutoSuggest View for F1201-APID
V1201ASC AutoSuggest View for F1201 - ASID
V1201DSA AutoSuggest Language View for F1201D-NUMB
V1201DSB AutoSuggest Language View for F1201D-APID
V1201DSC AutoSuggest Language View for F1201D - ASID
V4101ASA AutoSuggest View for F4101 - LITM
V4101ASB AutoSuggest View for F4101 - AITM
V4101ASC AutoSuggest View for F4101 - ITM
V4101DSA AutoSuggest Language View for F4101D - LITM
V4101DSB AutoSuggest Language View for F4101D - AITM
V4101DSC AutoSuggest Language View for F4101D - ITM
V5201AS AutoSuggest View for F5201

Найти их очень просто. Нужно в таблице F9860 - Object Librarian Master Table найти записи с SIFUNO='BSVW' и SIGBOPTN='Y'. Вы можете изучить эти представления и решить - использовать их или создать свои.

Типы автопредложения

Управляет поведением механизма автопредложения системный администратор. Он может задать как поля, для которых разрешено автопредложение, так и условия, при которых запускается этот механизм (например, механизм автопредложения может быть запущен после того, как пользователь ввел в поле 2 символа, или приостановил набор символов в поле на определенное количество секунд). Можно задать один из двух режимов работы автопредложения:

  • Автоматический
    В этом случае системный администратор должен задать минимальне количество символов, которое должен ввести пользователь, а также обязательно указать, что нет необходимости в нажатии специальной горячей клавиши для запуска процесса автопредложения. Когда пользователь что-то вводит в поле, для которого определен такой режим автопредложения, в правом нижнем углу поля появляется серая стрелка. Как только введено необходимое количество символов, стрелка становится голубой, и появляется список найденных вариантов. Если стрелка стала голубой, а спиок не появился, значит не найдено ни одного подходящего варината, и нужно изменить значение в данном поле.
  • Ручной
    Системный администратор указывает, что для запуска процесса поиска автопредложения необходимо нажать горячую клавишу. Администратор также задает минимальне количество символов, которое должен ввести пользователь прежде, чем запустить процесс автопредложения. Когда пользователь что-то вводит в поле, для которого определен такой режим автопредложения, в правом нижнем углу поля появляется серая стрелка. Как только введено необходимое количество символов, стрелка становится голубой - с возможностью нажатия на нее мышкой. Именно нажатие на эту стрелку и запускает процесс автопредложения.

Включение и выключение автопредложения

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

  • Для включения или выключения возможности автопредложения в конкретной форме воспользуйтесь пунктом меню "Сервис" и поставьте или снимите флажок с опции "Автопредложение".
    Отключение автопредложения на уровне формы
    Рис. 3. Отключение автопредложения на уровне формы.
  • Для управления механизмом автопредложения в глобальном масштабе необходимо открыть окно с настройками (пункт меню "Настройки" в выпадающем меню персонализации). В окне с настройками необходимо поставить или снять флажок "Автопредложение включено".
    Глобальное отключение автопредложения для всех приложений
    Рис. 4. Глобальное отключение автопредложения для всех приложений.

Если пользователь отключил возможность автопредложения глобально, создается запись пользовательского формата (User Override) с типом CK. Значение "1024" в blob поле этой записи указывает на то, что возможность отключена. Значение "0" - включена.
В случае, когда пользователь отключает или включает возможность автопредложения на уровне формы, то создается запись пользовательского формата (User Override) с типом TA. Значение "1" в поле IDLST показывает, что возможность включена, а значение "2" - выключена.

Создание бизнес-представлений для автопредложения

Разработчики могут создавать или модифицировать бизнес-представления для автопредложения через АРМ Управления объектами (Object Management Workbench - OMW). Следует заметить, что эти бизнес-представления предназначены исключительно для функционирования автопредложения и не используются в обычных приложениях.

Опишем создание бизнес-представления для автопредложения по шагам:

  1. В OMW создайте объект бизнес-представление (например, V55001AS) и отметьте флажок "Auto Suggest".
    Создание бизнес-представления для автопредложения
    Рис. 5. Создание бизнес-представления для автопредложения.
  2. Откройте это бизнес-представление в конструкторе бизнес-представлений.
  3. Выберите таблицу или соединения таблиц, в которых система будет искать записи, подходящие под пользовательский ввод.
    Первая колонка в этом бизнес-представлении должна содержать значения, которые будут подставляться в поле ввода после того, как пользователь выберет запись из предложенных. В нашем примере первым полем в бизнес-представлении является поле AN8. Система подставит значение из этого поля AN8 в поле ввода на форме, для которого определено автопредложение.
    Для всех колонок бизнес-представления для автопредложения нужно задать 3 специальных свойства, связанных непосредственно с автопредложением:
    • Search Field
      Эту опцию необходимо отметить для колонок, в которых необходимо производить поиск того текста, который вводит пользователь.
      В качестве поля, по которому выпоняется поиск, нельзя использовать поля, соответствующие элементам словаря данных со следующими правилами отображения (например, поле MCU использовать нельзя, так как у него есть правило отображение - *RAB):
      *RAB - Выравнивание пробелами слева - для элементов словаря данных, представляющих бизнес-единицы
      *RABN - Выравнивание пробелами слева - для элементов словаря данных, не представляющих бизнес-единицы
      *RAZ - Выравнивание нулями слева
    • Display Field
      Эта опция выбирается для тех колонок, которые необходимо выводить в табличном виде, когда система нашла подходящие записи и отображает их.
    • Language Code
      Выберите эту опцию, если колонка содержит код языка. Система будет подбирать записи со значениями в этом поле, соответствующими коду языка пользователя, заданному в настройках.
    Редактирование бизнес-представления для автопредложения
    Рис. 6. Редактирование бизнес-представления для автопредложения.
  4. Сохраните отредактированное бизнес-представление.
    Если вы выбрали более одного поля, в которых будет осуществляться поиск, вам будет предложено подумать, так как это приведет к замедлению процесса поиска:
    Сообщение, если выбрано более одного поля для поиска
    Рис. 7. Сообщение, если выбрано более одного поля для поиска.
    Нельзя выбрать более 5 полей для вывода в автопредложении. В этом случае при сохранении вы получите следующую ошибку:
    Сообщение об ошибке. Выбрано более 5 полей для вывода в автопредложении
    Рис. 8. Сообщение об ошибке. Выбрано более 5 полей для вывода в автопредложении.
    Само бизнес-представление не может содержать более 10 полей, включая поля для вывода и другие поля. В этом случае при сохранении вы получите следующую ошибку:
    Сообщение об ошибке. Выбрано более 10 полей в бизнес-представлении
    Рис. 9. Сообщение об ошибке. Выбрано более 10 полей в бизнес-представлении.

Административные задачи по настройке автопредложения

Настройка функций автопредложения
В приложении P958973- Runtime Feature Definitions существует ряд уже преднастроенных стандартных функций автопредложения. Можно как изменить их, так и добавить свою функцию.

Для добавление новой функции автопредложения необходимо:

  1. Запустить приложение P958973 - Runtime Feature Definitions (через быстрый запуск или из меню Меню EnterpriseOne -> Средства EnterpriseOne -> Средства администрирования системы -> Администрирование функций времени выполнения -> Определение функций времени выполнения (EnterpriseOne Menus -> EnterpriseOne Life Cycle Tools -> System Administrative Tools -> Runtime Feature Administration-> Runtime Feature Definitions)). Выбрав в качестве типа функции "Автопредложение" и нажав на кнопку "Найти", можно получить список всех функций автопредолжения.
    Приложение P958973 - Runtime Feature Definitions
    Рис. 10. Приложение P958973 - Определение функций времени выполнения.
  2. Нажать кнопку "Добавить" - появится форма редактирования функции.
  3. В поле "Тип функции" выбрать "Автопредложение".
  4. В поле "Имя функции" ввести уникальное имя. Имя не должно начинаться с "JDE_" - все функции, созданные Oracle, начинаются с этого буквосочетания.
  5. Заполнить остальные поля:
    Элемент данных Это элемент словаря данных, к которому будет привязана данная функция автопредложения. Автопредложение устанавливается на уровне словаря данных, то есть данная функция автопредложения будет работать для всех форм, где есть этот элемент данных.
    Для определения элемента данных, связанного с элементом управления на форме или колонкой в таблице, воспользуйтесь Справкой задания.
    Нет автопредл. Эта опция позволяет отключить функцию автопредложения для конкретного элемента данных. Она полезна, если есть необходимость включить функцию автопредложения на уровне Кода продукта (Кода системы). Или, если возникла необходимость исключить в некоторых приложениях, связанных с каким-то Кодом системы, возможность использования функции автопредложения.
    Бизнес-представление Специально созданное бизнес-представление для автопредложения, которое будет использовано в функции автопредложения для данного элемента данных.
    Язык - бизнес-представление Языковое бизнес-представление, используещееся для поиска и отображения подходящих записей на языке, заданном в пользовательских настройках.
    Необходимое число символов В этом поле задается минимальное количество символов, которое должен ввести пользователь для запуска механизма автопредложения. Для полей с потенциально большим количеством возможных значений логично задать большее число необходимых символов, а для полей с небольшим количеством - меньшее.
    Требуется сочетание клавиш Задает режим запуска функции автопредложения - автоматический или ручной, по нажатию стрелки в поле ввода.
    Не исп. предст. UDC по умолчанию Эта опция позволяет отключить использование списка КОП (UDC) для данного элемента данных, если он связан с КОП.
    Приложение P958973 - Runtime Feature Revisions
    Рис. 11. Приложение P958973 - Пересмотры функций времени выполнения.
  6. Нажать "Ok".

Задание функции автопредложения для пользователя или роли на конкретной форме или в приложении для конкретного Кода системы.

Для задания функции автопредложения необходимо:

  1. Запустить приложение P958974 - Runtime Feature Authorizations (через быстрый запуск или из меню Меню EnterpriseOne -> Средства EnterpriseOne -> Средства администрирования системы -> Администрирование функций времени выполнения -> Авторизация функций времени выполнения (EnterpriseOne Menus -> EnterpriseOne Life Cycle Tools -> System Administrative Tools -> Runtime Feature Administration-> Runtime Feature Authorizations)). Выбрав в качестве типа функции "Автопредложение" и нажав на кнопку "Найти", можно получить список всех функций автопредолжения.
    Приложение P958974 - Runtime Feature Authorizations
    Рис. 12. Приложение P958974 - Авторизация функций времени выполнения.
    Возможно, что система поставляется с предустановленными функциями автопредложения только для не J-сред (PS910, DV910, PY910, PD910). Для функционирования автопредложения в веб-клиенте необходимо скопировать записи для соответствующей среды в J-среду с помощью пункта меню Форма -> Копир. по среде. По этому поводу существует Баг.
  2. Нажать кнопку "Добавить" - появится форма редактирования. В ней необходимо заполнить поля:
    Имя среды Среда, в которой необходимо включить функцию автопредложения.
    Пользов./роль или *PUBLIC Пользователь, которому необходимо включить функцию автопредложения. В этом поле можно задать как конкретного пользователя, так и роль. При задании значения *PUBLIC функция включается для всех.
    Имя функции Имя функции автопредложения
    Элемент данных Это поле заполняется автоматически, как только задано имя функции.
    Имя формы Имя формы, для которой включена функция автопредложения. Для задания всех форм используйте в этом поле значение *ALL.
    Имя объекта Имя приложения, в котором необходимо включить функцию автопредложения. Для задания всех приложений используйте в этом поле значение *ALL.
    Код продукта Это Код продукта или Код системы, для приложений которой вы хотите ключить функцию автопредложения. Для задания всех кодов используйте в этом поле значение *ALL.
    Приложение P958974 - Добавление определения функции автопредложения
    Рис. 13. Приложение P958974 - Добавление определения функции автопредложения.

Настройки веб-сервера (JAS.INI)

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

Для задания этого значения в Менеджере серверов необходимо выбрать веб-сервер и пройти в меню Configuration -> Web Runtime. В секции Web Runtime установить значение поля Auto Suggest Delay.

Данная настройка в jas.ini выглядит так:

[OWWEB]
# The delay time in milliseconds before Auto Suggest search starts
autoSuggestDelay=750