TCUMobile. Описание файлов обмена.

Автор:   Алимова Елена, elena@andriy.co

Для работы приложения TCUMobile2 требуется срез базы данных, содержащийся в файле TCUMobileBase.xml. Файл создается стандартными средствами VB.NET при сохранении объекта Dataset с использованием стандартной схемы. Поскольку данные из этого файла импортируются в приложение на мобильном устройстве теми же стандартными средствами, то важно, чтобы структура файла, тэги, описание таблиц и формата полей в точности соответствовали образцу из приложения (файл TCUMobileBase.xml с данными) к этому документу.

Схема работы следующая:

Перед выгрузкой данных в файл и их импортом в приложение TCUMobile2 производится синхронизация наладонника с компьютером с помощью приложения MS ActiveSync, т.е. синхронизируется содержимое папок «Мои документы» мобильного устройства и папки синхронизации на компьютере, например, «C:\Users\Elena\Documents\Мои документы на PocketPC» .

Приложение, обеспечивающее выгрузку данных в файл TCUMobileBase.xml должно поместить этот файл в папку синхронизации компьютера. После размещения указанного файла в эту папку автоматически начинается процесс синхронизации, по окончанию которого файл TCUMobileBase.xml появляется в папке «Мои документы» мобильного устройства. После этого приложение TCUMobile2 готово к работе.

Так как данные выгружаются из учетной системы в файл TCUMobileBase.xml под определенного торгового агента, то следует предусмотреть «привязку» папки синхронизации к торговому агенту. При выборе нужного торгового агента срез базы данных должен копироваться в определенную папку синхронизации, которая, в свою очередь, однозначно соответствует наладоннику, находящемуся у ранее выбранного торгового агента.

Для существенного уменьшения объема данных применяются различные методы, способствующие избегать размещения «лишних» данных в срезе базы данных. Например, с помощью списка представляемых торговым агентом категорий товаров ограничивается перечень товаров. Выгрузка перечня документов по клиентам, точки доставки которых лежат на маршрутах, обслуживаемых торговым агентом резко уменьшает перечень документов по взаиморасчетам в базе данных. Сам список клиентов ограничивается таким же способом.

Point - торговые точки (склады) и торговые агенты

Имя поля Тип поля и размер Описание
point_number Ключевое, длинное целое, счетчик Уникальный идентификатор торговой точки либо агента.
name_point Текстовый Имя торговой точки либо агента.
Post Логический True – торговый агент, False - торговая точка (склад)
comm_agent Логический True - признак торгового агента.
agent_max_discount Числовой, двойное с плавающей точкой Максимально допустимая скидка, которую имеет право предоставлять данный торговый агент.
agent_si_allow Логический True – разрешена работа с расходными накладными.
agent_order_allow Логический True - агенту разрешено формирование заказа от клиента.
agent_cash_allow Логический True – разрешена работа с приходными кассовыми ордерами.
MyPoint Логический True – признак того, что торговый агент имеет доступ к данной торговой точке (складу) (для режима активных продаж).
MyAgent Логический True -для торгового агента, работающего с данным КПК.

articl - статьи (группы движения денег и товаров)

Имя поля Тип поля и размер Описание
articl_number Ключевое, длинное целое, счетчик Уникальный идентификатор статьи.
articl_name Текстовый, 255 Название статьи.
act_pass Логический True – пассивная операция, False – активная операция.
closed Логический True - закрытая статья, False - открытая статья. Признак используется для определения возможности включения данной статьи в список доступных статей.

Tovar_ext товары из категорий, доступных данному торговому агенту.

Имя поля Тип поля и размер Описание
kat_name Текстовый Наименование категории товаров
t_name Текстовый Наименование товара.
izmer_name Текстовый Наименование единицы измерения.
Kol Числовой, двойное с плавающей точкой Суммарное количество товара на всех торговых точках, доступных этому торговому агенту. В единицах измерения товара.
cena_rozn Числовой, двойное с плавающей точкой Розничная цена товара.
cena_rozn_sprav Числовой, двойное с плавающей точкой Розничная цена товара.
kol_in_pak Числовой, двойное с плавающей точкой Количество единиц товара в упаковке.
cena_rozn2 Числовой, двойное с плавающей точкой Цена розничная 2 (прайс-лист)
cena_rozn3 Числовой, двойное с плавающей точкой Цена розничная 3 (прайс-лист)
cena_rozn4 Числовой, двойное с плавающей точкой Цена розничная 4 (прайс-лист)
cena_rozn5 Числовой, двойное с плавающей точкой Цена розничная 5 (прайс-лист)
tovar_number Числовой, длинное целое Уникальный идентификатор товара.

Данная таблица должна быть отсортирована по kat_name, t_name

Tovar – список товаров для активных продаж, принадлежащие к категориям, доступным для данного торгового агента

Имя поля Тип поля и размер Описание
kat_name Текстовый Наименование категории товаров
t_name Текстовый Наименование товара.
izmer_name Текстовый Наименование единицы измерения.
Kol Числовой, двойное с плавающей точкой Суммарное количество товара на всех торговых точках, доступных этому торговому агенту. В единицах измерения товара.
cena_rozn Числовой, двойное с плавающей точкой Розничная цена товара.
reestr_number Числовой, длинное целое Уникальный идентификатор реестровой записи товара.
point_number Числовой, длинное целое Идентификатор торговой точки, на которой находится товар.
cena_rozn_sprav Числовой, двойное с плавающей точкой Розничная цена товара.
kol_in_pak Числовой, двойное с плавающей точкой Количество единиц товара в упаковке.
cena_rozn2 Числовой, двойное с плавающей точкой Цена розничная 2 (прайс-лист)
cena_rozn3 Числовой, двойное с плавающей точкой Цена розничная 3 (прайс-лист)
cena_rozn4 Числовой, двойное с плавающей точкой Цена розничная 4 (прайс-лист)
cena_rozn5 Числовой, двойное с плавающей точкой Цена розничная 5 (прайс-лист)
tovar_number Числовой, длинное целое Уникальный идентификатор товара.

Данная таблица должна быть отсортирована по kat_name, t_name

kat - категории товаров

Имя поля Тип поля и размер Описание
kat_number Ключевое, длинное целое, счетчик Уникальный идентификатор категории товаров
kat_name Текстовый Имя категории товаров
top_kat Числовой, длинное целое Родительская категория для вложенной категории товаров. Ссылается на [kat_number].
ext_kat_name Поле МЕМО Полный путь к товару по дереву групп товаров.

izmer - единицы измерений

Имя поля Тип поля и размер Описание
izmer_number Ключевое, длинное целое, счетчик Уникальный идентификатор единицы измерения.
izmer_name Текстовый Имя единицы измерения.
default_izmer Логический Единица измерения, устанавливаемая по умолчанию

Client– клиенты, торговые точки которых принадлежат маршрутам, обслуживаемым данным торговым агентом.

Имя поля Тип поля и размер Описание
s_name Текстовый Первый символ из поля наименования клиента
client_name Текстовый Наименование клиента
Address Текстовый Адрес клиента
Telefon Текстовый Телефон клиента
Saldo Числовой, двойное с плавающей точкой Сальдо на текущий момент.
client_number Числовой, длинное целое Уникальный идентификатор клиента
Days Текстовый

Nakl_arhiv – перечень документов по клиентам данного торгового агента за период до текущей даты (период устанавливается произвольно при выгрузке данных в xml-файл)

Имя поля Тип поля и размер Описание
nakl_number Ключевое, длинное целое, счетчик Уникальный идентификатор документа.
doc_number Текстовый Номер накладной по документу.
point2_number Числовой, длинное целое Уникальный идентификатор контрагента. Ссылается на client.client_number.
name_point Текстовый Название нашей торговой точки (склада)
date_utv Дата/время Дата утверждения документа.
sum_vzr Числовой, двойное с плавающей точкой Сумма документа, проходящая по взаиморасчету.
sum_opl Числовой, двойное с плавающей точкой Сумма оплаты по накладной.
Osn Текстовый Основание документа.
nakl_type Числовой, длинное целое Тип документа (приходная накладная, накладная на передачу и т.д. - см. список ниже).
rash_prih Логический True – приходный документ, False – расходный документ.
Utv Логический True – документ утвержден, содержит только утвержденные документы
Arhiv Числовой, длинное целое Всегда равно 1
client_name Текстовый Наименование клиента
point1_number Числовой, длинное целое Идентификатор торговой точки (склада)
cli_group_name Текстовый Поле зарезервировано, содержит в себе символ «_»
articl_name Текстовый Название статьи, по которой проводится данный документ.
agent_number Числовой, длинное целое Уникальный идентификатор торгового агента, инициировавшего документ.
bundle_nakl_number Числовой, длинное целое Номер связанного документа.
delive_address Текстовый Адрес точки доставки.

Данная таблица должна быть отсортирована по date_utv, nakl_number

Типы документов:

0 – расходная накладная

1 – приходная накладная

7 – приходный кассовый ордер

10 – списание задолженности

12 – перевод задолженности

16 – приходная накладная (возврат)

delive_point – перечень точек доставки, которые принадлежат маршрутам, обслуживаемым данным торговым агентом

Имя поля Тип поля и размер Описание
delive_point_number Ключевое, длинное целое, счетчик Уникальный идентификатор точки доставки.
delive_address Текстовый Адрес точки доставки.
point_number Числовой, длинное целое Идентификатор клиента, для которого осуществляется доставка.
Days Текстовый Последовательность дней недели, в которые торговый агент посещает данную точку доставки (согласно маршрутам). 0 - воскресенье, 1 – понедельник, 2 – вторник и т.д. Например, при посещении клиента во вторник, четверг и субботу, значение поля равно «246».

list – данная таблица не содержит данных, используется для создания необходимой структуры

Имя поля Тип поля и размер Описание
list_number Ключевое, длинное целое, счетчик
nakl_number Числовой, длинное целое
reestr_number Числовой, длинное целое
tovar_number Числовой, длинное целое
t_name Текстовый
kol_in_pak Числовой, двойное с плавающей точкой
kol_pak Числовой, двойное с плавающей точкой
kol_add Числовой, двойное с плавающей точкой
kol Числовой, двойное с плавающей точкой
cena_rozn Числовой, двойное с плавающей точкой
sum_skid Числовой, двойное с плавающей точкой

Таблицы, которые выгружаются из КПК для последующего импорта в учетную систему.

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

Nakl.csv – шапка документа

List.csv – тело документа

Перед выгрузкой данных из приложения TCUMobile2 производится синхронизация наладонника с компьютером с помощью приложения MS ActiveSync, т.е. синхронизируется содержимое папок «Мои документы» мобильного устройства и папки синхронизации на компьютере, например, «C:\Users\Elena\Documents\Мои документы на PocketPC» . В начале выгрузки данных TCUMobile2 помещает в папку «Мои документы» КПК пустой текстовый файл-флаг TCUMobileRaw.txt, а затем копирует туда файлы Nakl.csv и List.csv с данными о заказах, продажах, оплатах. После автоматической синхронизации с помощью ActiveSync эти файлы (Nakl.csv, List.csv, TCUMobileRaw.txt) оказываются в папке синхронизации компьютера.

После этого программа, производящая импорт данных из TCUMobile2 и помещающая их в учетную систему должна импортировать данные согласно спецификации, указанной ниже. После этого Nakl.csv и List.csv необходимо скопировать в архив и хранить в качестве истории импорта. После успешного завершения импорта следует создать в папке синхронизакции пустой текстовый файл-флаг TCUMobileOK.txt, сигнализирующий приложению на КПК об успешном завершении операции. При появлении TCUMobileOK.txt в папке «Мои документы» приложение TCUMobile2 завершает операцию выгрузки данных, удаляет Nakl.csv, List.csv, TCUMobileRaw.txt и TCUMobileOK.txt из папки «Мои документы» и сообщает об успешном завершении операции.

Nakl.csv – шапка документа.

Имя поля Тип поля и размер Описание
nakl_number Ключевое, длинное целое, счетчик Уникальный идентификатор документа.
doc_number Текстовый Номер накладной по документу.
point2_number Числовой, длинное целое Уникальный идентификатор контрагента. Ссылается на client.client_number.
name_point Текстовый Название нашей торговой точки (склада)
date_utv Дата/время Дата утверждения документа.
sum_vzr Числовой, двойное с плавающей точкой Сумма документа, проходящая по взаиморасчету.
sum_opl Числовой, двойное с плавающей точкой Сумма оплаты по накладной.
Osn Текстовый Основание документа.
nakl_type Числовой, длинное целое Тип документа. В наладоннике используются всего три типа документов: 0 - расходная накладная, 7 - приходный кассовый ордер, 18 - заказ.
rash_prih Логический True – приходный документ (приходный кассовый ордер), False – расходный документ (расходная накладная, заказ)
Utv Логический True – документ утвержден, содержит только утвержденные документы
Arhiv Числовой, длинное целое Всегда равно 1
client_name Текстовый Наименование клиента
point1_number Числовой, длинное целое Идентификатор торговой точки (склада)
cli_group_name Текстовый Поле зарезервировано, содержит в себе символ «_»
articl_name Текстовый Название статьи, по которой проводится данный документ.
agent_number Числовой, длинное целое Уникальный идентификатор торгового агента, инициировавшего документ.
bundle_nakl_number Числовой, длинное целое Номер связанного документа.
delive_address Текстовый Адрес точки доставки.
delive_point_number Числовой, длинное целое Идентификатор точки доставки
ftp_upload Логический Используется для выгрузки через интернет.

List.csv– тело документа

Имя поля Тип поля и размер Описание
list_number Ключевое, длинное целое, счетчик Уникальный идентификатор записи в документе.
nakl_number Числовой, длинное целое Идентификатор документа.
reestr_number Числовой, длинное целое Идентификатор реестровой записи товара.
tovar_number Числовой, длинное целое Идентификатор товара.
t_name Текстовый Название товара.
kol_in_pak Числовой, двойное с плавающей точкой Количество единиц товара в упаковке.
kol_pak Числовой, двойное с плавающей точкой Количество упаковок в накладной.
kol_add Числовой, двойное с плавающей точкой Количество единиц товара, не вошедшее в упаковку.
kol Числовой, двойное с плавающей точкой Количество товара, указанное в документе.
cena_rozn Числовой, двойное с плавающей точкой Розничная цена товара.
sum_skid Числовой, двойное с плавающей точкой Сумма скидки указанной в накладной.
summa_rozn Числовой, двойное с плавающей точкой Сумма розничная для записи по данному товару
perc_skid Числовой, двойное с плавающей точкой Процент скидки, указанной в накладной.

Статья включена в следующие темы:

Вверх