Работа с документами на терминале сбора данных оффлайн в AllegroClient


Для чего необходим режим оффлайн на ТСД?

Нередки случаи когда wi-fi сеть не покрывает полностью рабочую зону работу с терминалом сбора данных (ТСД).
В таких случаях используется режим работы с устройством — Оффлайн.

В данном обзоре пойдет речь о реализации работы с ТСД на ОС Андроид в режиме оффлайн. 

Для работы с документами в ПО AllegroClient-prof под андроид используется база данных SQL lite. 

База данных имеет наименование — «allegroDb». В базе содержится перечень готовых таблиц для хранения документов и справочной информации.

Перечень таблиц и их наименование:

  • Основная таблица документа — «table_doc_header»
  • Табличная часть документа — «table_doc_table»

Структура таблиц и перечень полей таблиц:

Перечень полей и наименование таблицы «table_doc_header»:

  • «doc_number» – тип String
  • «doc_type»– тип String
  • «doc_date»– тип String
  • «attribute1″– тип String
  • «attribute2″– тип String
  • «attribute3″– тип String
  • «attribute4″– тип String
  • «attribute5″– тип String

Перечень полей и наименование таблицы «table_doc_table»:

  • «doc_number»– тип String
  • «doc_type»– тип String
  • «row_number»– тип String
  • «attribute1″– тип String
  • «attribute2″– тип String
  • «attribute3″– тип String
  • «attribute4″– тип String
  • «attribute5″– тип String
  • «attribute6″– тип String
  • «attribute7″– тип String

Работа с таблицами документов. 

Для работы с таблицами справочников используется JavaScript.

Обзор по работе с JavaScript представлен в данной статье: Выполнение кода на клиенте

 Для работы с данными таблиц можно использовать произвольный код поддерживаемый JavaScript. Для получения ссылки на базу данных необходимо использовать статическую переменную — Main.dbAllegro. Для упрощения поиска, добавления, изменения данных в таблицах предусмотрены предопределенные функции.

AllegroModule.AddDocumentHeader — Добавляет значения в таблицу «table_doc_header». В параметре необходимо передавать строку со значениями, разделенные «;».

public static void AddDocumentHeader(String values)

AllegroModule.AddDocumentRows— Добавляет значения в таблицу «table_doc_table». В параметре необходимо передавать строку со значениями,
разделенные «;».

public static void AddDocumentRows(String values)

AllegroModule.DeleteDocumentHeader — Удаляет значения из таблицы «table_doc_header». В параметрах необходимо передавать номер документа и тип документа.

public static void DeleteDocumentHeader(String NumberDoc,String DocType)

AllegroModule.DeleteDocumentRows — Удаляет значения из таблицы «table_doc_table». В параметрах необходимо передавать номер документа и тип документа.

public static void DeleteDocumentRows(String NumberDoc,String DocType)

AllegroModule.DeleteDocuments — удаляет все значения из таблиц «table_doc_header» и «table_doc_table» по типу документа

public static void DeleteDocuments(String DocType)

AllegroModule.GetDocumentHeader— получить строки из таблицы «table_doc_header». В параметрах указывается HashMap (структура) в которой указывается номер колонки(нумерация с 0) и значение поиска. Таким образом, можно указать множественные значения поиска по нескольким значениям в колонках. И так же указывается поле сортировки.

public static List GetDocumentHeader(Map filters,String sort)

AllegroModule.GetDocumentRows — получить строки из таблицы «table_doc_table». В параметрах указывается HashMap (структура) в которой указывается номер колонки(нумерация с 0) и значение поиска. Таким образом, можно указать множественные значения поиска по нескольким значениям в колонках. И так же указывается поле сортировки.

public static List GetDocumentRows(Map filters,String sort)

AllegroModule.UpdateDocumentHeader — изменить строки в таблице «table_doc_header» (реквизиты документа). В параметрах указывается две HashMap (структуры). В первой структуре указывается номер колонки(нумерация с 0) и значение для вставки в изменяемые строки. Во второй указывается фильтр по строкам, которые будут изменены, первое значение номер колонки(нумерация с 0) и значение отбора.

public static boolean UpdateDocumentHeader(Map fields,Map filters)

AllegroModule.UpdateDocumentHeader — изменить строки в таблице «table_doc_table» (строки документа). В параметрах указывается две HashMap (структуры). В первой структуре указывается номер колонки(нумерация с 0) и значение для вставки в изменяемые строки. Во второй указывается фильтр по строкам, которые будут изменены. Первое значение номер колонки(нумерация с 0) и значение отбора.

public static boolean UpdateDocumentRows(Map fields,Map filters)

Команды для загрузки документов с севера

ADDDOCUMENT — для загрузки данных в таблицу «table_doc_header». Данные для записи идут после команды через разделитель «;»

«ADDDOCUMENT;000000001;Doc;22.07.2020;Создан;НТЦ Нанотроника»

ADDDOCUMENTROW — для загрузки данных в таблицу «table_doc_table». Данные для записи идут после команды через разделитель «;»

«ADDDOCUMENTROW;000000001;Doc;1;0001;Комбайн MOULINEX A77 4C;2;0»

DELETEDOCUMENTHEADER — удаление данных из таблиц «table_doc_header». После команды через разделитель «;» идут данные с номером документа и типом документа.

«DELETEDOCUMENTHEADER;000000001;Doc»

DELETEDOCUMENTROWS — удаление данных из таблиц «table_doc_table». После команды через разделитель «;» идут данные с номером документа и типом документа.

«DELETEDOCUMENTROWS;000000001;Doc»

DELETEDOCUMENT — удаление данных из таблиц «table_doc_header» и «table_doc_table». После команды через разделитель «;» идут данные с номером документа и типом документа.

«DELETEDOCUMENT;000000001;Doc»

Работа с документами представлена в обучающей обработке в операции «РаботаСДокументамиОффлайн» Обучающая обработка под андроид.

Наши специалисты всегда готовы ответить на любые вопросы по настройке и помочь в доработке.  

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

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

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