Описание работы 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 , пункт Сохранение данных формы.
Работа с кодом на клиенте представлена в обучающей обработке Обучающая обработка под андроид
Остались вопросы?
Оставьте свои данные и мы свяжемся с Вами