Выполнение кода на клиенте в ПО AllegroClient-Prof


Описание работы AllegroClient. 

Для исполнения кода на клиенте в ПО AllegroClient-Prof под андроид используется JavaScript. Принцип работы аналогичен работе в 1С. 

Есть функция, на входе у которой  массив строк с элементами формы через разделитель «;» (переменная массива строк называется args). 

В теле функции необходимо сформировать массив строк с элементами формы и вернуть для обработки в клиентское приложение.

Пример функции (рассматривается 1 форма и 2 события):

Параметры :

1. args — Массив строк с элементами формы

2. Form — Наименование формы(операции)

3. EventName — Наименование события

4. Barcode — Штрих-код  (только при событии Scan)

Важно! В массив строк добавляются все строки таблиц в отличии при работе с 1С (онлайн режим) и последним символом добавляется 1 или 0 (выделена строка или нет).

Так как используется библиотека BeanShell, строгая типизация переменных не нужна.

Общие процедуры и функции для работы с JavaScript

Для упрощения работы с JavaScript предусмотрены предопределенные процедуры и функции.

AllegroModule.AddControl — процедура для добавления элемента в массив для дальнейшей обработки в приложении.

 

AllegroModule.AddElementForProcessingTable — процедура для добавления строки таблицы в массив для дальнейшей обработки в приложении.

AllegroModule.GenerateError — процедура для формирования ошибки.

AllegroModule.GetListOfControls – копирует массив строк в двухмерный массив, где первый элемент — наименование элемента, второй – значение.

AllegroModule.GetValueOfControlByName – получить значение элемента по имени.

AllegroModule.GetTableRows – получение строк таблицы по наименованию таблицы.

AllegroModule.FindTableRowsByValue – поиск строк таблицы по значению, возвращает двухмерный массив, нужно указать значение поиска и колонку поиска(Index).

AllegroModule.FindTableRowByValue – поиск строки таблицы по значению, нужно указать значение поиска и колонку поиска(Index), возвращает строку, если найдено или пустую строку, если не найдено.

AllegroModule.GetValueOfSelectedItemByName – возвращает выделенную строку в таблице или пустую строку.

JavaScript можно выполнить для обработчиков событий элементов формы: кнопка и поле ввода.

 

Для поля ввода используется событие «При изменении».

 

Так же скрипт можно использовать для события сканирования, для этого нужно в модуле формы создать процедуру «Scan», в которой разместить скрипт. Штрих-код передается в предопределенную переменную «Barcode», значение которой можно использовать в коде.

Выгрузка JavaScript в клиентское приложение

В серверном приложении открываем пункт меню «Выгрузить JavaScript» и формируем JavaScript.

В клиентском приложении открываем пункт меню «JavaScript».

И загружаем JavaScript.

В случае, если  в JavaScript есть ошибка, ты при загрузке появится сообщение об ошибке с указанием номера строки ошибки.

Необходимо посмотреть скрипт в серверном приложении и найти ошибку.

Видим, что пропущена точка с запятой.

Исправляем в 1С и выгружаем скрипт заново.

После выполнения клиентского кода можно выполнить серверный код, для этого нужно использовать ключевое слово ExecuteServerCode.

Так же можно сохранять/восстанавливать данные формы используя зарезервированные слова. С данными возможностями можно ознакомиться по ссылке https://allegrosoft.ru/n/allegroclient-prof-2-0 , пункт Сохранение данных формы.

Работа с кодом на клиенте представлена в обучающей обработке Обучающая обработка под андроид

Остались вопросы?

Оставьте свои данные и мы свяжемся с Вами

Комментарии 0
Написать комментарий
Сообщение отправлено
Отправка
Популярные записи блога