Осы бетте
Бұл сценарий PalmOrder Server толық жұмыс жолын тексереді: бухгалтерлік есеп жүйесі outbox ішінде деректерді дайындайды, құрылғы оларды алады, ал жасалған тапсырыс inbox ішіне қайтады.
Бастамас бұрын
Мыналар орындалғанына көз жеткізіңіз:
- PalmOrder Server орнатылған және іске қосылған;
- басқару тақтасында дұрыс
inboxжәнеoutboxқалталары орнатылған; - серверде белсенді лицензия бар немесе демо құрылғы қолжетімді;
- Android құрылғысы сервермен жұптастырылған;
- құрылғы сервер мекенжайын жергілікті желі не HTTPS арқылы аша алады.
1. Outbox ішіндегі кестелерді дайындаңыз
Тапсырыс жасауға қажет XML-кестелерді тікелей outbox қалтасына жазыңыз:
outbox/
├── ref_customers.xml
├── ref_products.xml
├── vl_cat_prices.xml
├── vl_delivery_types.xml
├── vl_pay_types.xml
├── vl_trade_points.xml
├── doc_debts.xml
├── doc_debts_products.xml
├── customer_product_data.xml
└── routes.xml
Бухгалтерлік есеп жүйесі кесте файлдарын өзекті клиенттермен, тауарлармен, бағалармен және сату нүктелерімен жасауы керек. Әр файлдың <table> түбірлік элементі болуы және алмасу басталғанға дейін толық жазылуы керек. Алдымен уақытша файлды жазып, соңында оны қажетті атауға атомарлы түрде ауыстырған дұрыс.
2. Дайын exchange.xml файлын жүктеңіз
exchange.xml мысалын жүктеп, осы атаумен тікелей outbox қалтасына салыңыз. Онда келесі профильдер бар:
- Құжаттарды жіберу — тапсырыстар, төлемдер, сату чектері және файлдар;
- Деректерді жүктеу — жоғарыдағы тізімдегі кестелер;
- Суреттерді жүктеу, Параметрлерді жүктеу және Баспа пішіндерін жүктеу —
outboxішінде пайда болатын қосымша файлдар.
3. Алмасу файлын жүктеңіз
Android құрылғысында Алмасу бөлімін ашып, кірістірілген Алмасу файлын жүктеу әрекетін іске қосыңыз. Ол өзіңіздің exchange.xml файлыңыз орнатылмай тұрып та қолжетімді.
Қосымша outbox ішінен exchange.xml файлын алып, XML-ді тексереді және жергілікті алмасу конфигурациясын ауыстырады. Аяқталған соң тізімде Құжаттарды жіберу, Деректерді жүктеу және қосымша файл профильдері пайда болуы керек.
Егер файл жүктелмесе, алдымен оның атауы дәл exchange.xml екендігін, осы syncName үшін бапталған outbox қалтасында жатқанын және XML кодтауы дұрыс екенін тексеріңіз.
4. Кестелерді алыңыз
Деректерді жүктеу профилін іске қосыңыз. Әр сұралған атау үшін PalmOrder Server:
outboxішінен аттас XML файлын табады;- өз
cacheқалтасында SQLite дерекқорын жасайды; - дерекқорды жұптастырылған құрылғыға жібереді;
- бастапқы XML өзгермегенше кэшті қайта қолданады.
Құрылғының алмасу журналында барлық сұралған кестелер қатесіз аяқталуы керек. Сервер журналынан сол syncName оқиғаларын табыңыз.
Бастапқы XML кесте файлдары outbox ішінде қалады. Олар құрылғыда кәдімгі файлдар ретінде көрсетілмейді және жүктелгеннен кейін жойылмайды.
5. Тапсырысты жасап, жіберіңіз
PalmOrder ішінде дайындалған кестелерден клиент пен тауар үшін тапсырыс жасаңыз. Құжатты сақтап, Алмасу бөлімін ашып, Құжаттарды жіберу әрекетін іске қосыңыз.
Сәтті жіберілгеннен кейін сервер inbox ішінде жеке XML файлын жасайды. Оның атауы құжат түрінен басталып, syncName мәнін қамтиды, мысалы:
order_sales-kyiv-1_6aa1d0ae1.xml
Нақты уақыт жұрнағын сервер жасайды, сондықтан бухгалтерлік есеп жүйесі оны алдын ала болжауға тырыспауы керек.
6. Алынған құжатты тексеріңіз
inbox ішінен жаңа файлды ашыңыз. Тапсырыста тақырып және тауар жолдары болуы керек:
<?xml version="1.0" encoding="utf-8"?>
<post user="sales-kyiv-1" connType="remote">
<docs name="order">
<doc>
<head>
<field name="number" value="ЗК-1"/>
<field name="customer_code" value="C-001"/>
</head>
<table>
<row>
<field name="code" value="P-001"/>
<field name="count" value="2"/>
<field name="price" value="42.5"/>
<field name="sum" value="85"/>
</row>
</table>
</doc>
</docs>
</post>
Нақты файлда осы құжат түріне бапталған өрістер болады. Импорт сәтті аяқталғаннан кейін бухгалтерлік есеп жүйесі файлды қайта өткізбес үшін өз өңдеу ережесіне сай жылжытуы не жоюы керек.
Сәтті алмасу белгілері
- құрылғы өзекті
exchange.xmlфайлын жүктеді; - Деректерді жүктеу профилі барлық сұралған кестелерді орнатты;
- құрылғыда клиент пен тауарды таңдап, тапсырысты сақтауға болады;
- Құжаттарды жіберу профилі қатесіз аяқталды;
inboxішінде дұрыс құжат түрі жәнеsyncNameбар XML файлы пайда болды;- бухгалтерлік есеп жүйесі құжатты бір рет қана оқыды.
Алмасу орындалмаса
Алдымен басқару тақтасындағы Журналды ашыңыз. Оқиғаны алмасу уақыты мен құрылғының syncName мәні бойынша табыңыз: оның хабарламасы сервер қай қадамда тоқтағанын әдетте түсіндіреді. Себебі түсініксіз болса, мынаны тексеріңіз:
| Белгі | Журналдан кейін тексерілетіні |
|---|---|
| Құрылғы қосылмайды | Мекенжай, порт, HTTP/HTTPS, брандмауэр рұқсаты және жұптастыру күйі. |
exchange.xml табылмады | syncName үшін бапталған outbox қалтасы, файлдың нақты атауы және сервердің оқу рұқсаттары. |
| Кесте жүктелмейді | <db> ішіндегі атау, XML файл атауы, <table> түбірі, схема және жазбалардағы <f> мәндерінің саны. |
Тапсырыс inbox ішінде пайда болмады | send_status, syncName үшін бапталған inbox қалтасы және жазу рұқсаттары. |
| Құжат қайта келеді | Қосымша send_status мәнін 0-ден 1-ге өзгертті ме және ERP өңделген файлды inbox ішінен жоя ма. |
