|
TCUMobile. Описание файлов обмена.
Для работы приложения 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 | Числовой, двойное с плавающей точкой | Процент скидки, указанной в накладной. |
|