PocketShop зареждане без active sync

Отговори

Има ли "хялб" в идеята?

Да
1
33%
Да, в близко бъдеще
1
33%
Да, в по-далечно бъдеще
0
Няма гласове
Да, но ако се пише от по-опитен програмист
0
Няма гласове
Не
1
33%
 
Общо гласове: 3

Потребителски аватар
stoar08
Мнения: 1548
Регистриран: 09-11-2004 08:15
Име: Стоян Арабаджиев
Местоположение: Самоков

PocketShop зареждане без active sync

Мнение от stoar08 » 17-05-2007 16:30

Мисля, че http://www.unrealsoft.net/forum/viewtopic.php?t=1735 беше с достатъчно неясно заглавие за да не предизвика интерес :) .
За хората без права до секцията - това е програмка, която взима от aton.fdb необходимото инфо за зареждане на PocketShop и не се нуждае от нищо освен tcp връзка към сървъра на базата.
Пробвах го за скорост и на PDA Asus A636N генерира kli.pda 142 KB (943 клиента с повечето данни въведени) за 9-10 секунди.
Все още не е цяла, но предвид факта, че е <50 реда смятам, че и това, което вече генерира, е добре. Достатъчно съм ентусиазиран за да напиша нещата изцяло във вид "по желание на потребителя"

Писна ми да овъртам за това питам директно 2 неща :
1 Ще се ползва ли (ако не сега - в обозримото бъдеще)?
2 Имате ли ми достатъчно доверие (да не се лъжем - това е важен фактор)?
Моля ви, като прочетете тема пишете по едно мнение да не ви търся по icq/телефон после ...

kondev
Site Admin
Мнения: 2187
Регистриран: 02-11-2004 17:23
Име: Петър Кондев
Контакти:

Мнение от kondev » 17-05-2007 17:04

Мнението ми е "ДА', защото въпреки че ActiveSync-а върши тази работа, то вече няколко пъти ми се случва да се боря с него като прасе с тиква.

Потребителски аватар
stoar08
Мнения: 1548
Регистриран: 09-11-2004 08:15
Име: Стоян Арабаджиев
Местоположение: Самоков

Мнение от stoar08 » 17-05-2007 17:27

Радвам се, че има и хора против, но ще се радвам на причината ...

Колкото до "да" - как стои въпроса с доверието, защото съм в отчаяна нужда от смислено "занимание" :)
Моля ви, като прочетете тема пишете по едно мнение да не ви търся по icq/телефон после ...

SSD
Мнения: 121
Регистриран: 08-11-2004 09:46
Име: Станислав Славчев Дончев
Местоположение: Пловдив

Мнение от SSD » 18-05-2007 11:42

Ето това са стойностите от CFG.PDA както се записват във файла ред по ред: Някои стойности могат да липсват и тогава трябва да има празен ред:

това e за подсещане това е описанито на стойността
====================================================================================================
DM.tbOwnerNAME_SHORT.AsString; // 1. Собственик
qrSkladName.AsString; // 2. Склад
sInfos[0]; // 3. Сметка
Cfg.Global.glb_BR_ZNACI_KOL; // 4. Цифри след десетичната запетя в количествата
Cfg.Global.glb_BR_ZNACI_CENI; // 5. Цифри след десетичната запетя в цената
Integer(Cfg.Global.glb_RABOTA_OTR_KOL); // 6. Работа с отрицателни количества
'1'; // 7. Показва или скрива кодовете
qrSkladID.AsInteger; // 8. Номер на склад
qrSkladUSER_NAME.AsString; // 9. Име на оператор
qrSkladKOL.AsString; // 10. Използване на количества
qrskladSMETKI.AsString; // 11. Разпечатване с отстъпка или без отстъпка
qrskladPRINTER.AsString; // 12. Тип на принтера
DM.tbOwnerADRES.AsString; // 13. Адрес на собственика
DM.tbOwnerDAN_NUM.AsString; // 14. Данъчен номер
DM.tbOwnerBULSTAT.AsString; // 15. БУЛСТАТ
DM.tbOwnerMOL.AsString; // 16. М.О.Л.
qrSkladHide_QTY.AsString; // 17. Скрива наличните количества
qrSkladOBEKT.AsString; // 18. Място на сделка
Cfg.Por.por_NetPath; // 19. Мрежов път до поръчките за подготовка
DM.tbOwnerBANKA.AsString; // 20. Банка 1
DM.tbOwnerBANK_SMETKA.AsString; // 21. Банка 2
DM.tbOwnerBANK_KOD.AsString; // 22. Банка 3
DM.tbOwnerDDS_BANKA.AsString; // 23. ДДС Банка 1
DM.tbOwnerDDS_SMETKA.AsString; // 24. ДДС Банка 2
DM.tbOwnerIDNOMDDS.AsString; // 25. Ид.ном.ДДС
'0'; // 26. Отпечатване на ДВСК

Незнам кога ще му дойде времето да го направим като INI файл, т.е ключ=стойност... но засега е така.
CFG.PDA сигурно ще е най труден за създаване, защото са най-различни стойности и се извличат от различни места...

Потребителски аватар
stoar08
Мнения: 1548
Регистриран: 09-11-2004 08:15
Име: Стоян Арабаджиев
Местоположение: Самоков

Мнение от stoar08 » 18-05-2007 13:42

Мерси :)

Ще се опитам да го направя тази вечер... може да досаждам на някой, ако не разбера кое от къде се взима :) . Към кой да се обръщам с подобни въпроси ? Или пак да разчитам, че правилно съм разбрал какво пише в DeDe :?:

ПС Мога ли да си напиша stored процедура за генериране на cfg.pda (и в последствие другите) и да се добави в aton.fdb ? Би облекчило значително Pocket-a от към обработка на информация и мрежов трансфер. Бих могъл също да направя програмката и сама да си добавя въпросните функции.
Моля ви, като прочетете тема пишете по едно мнение да не ви търся по icq/телефон после ...

Потребителски аватар
stoar08
Мнения: 1548
Регистриран: 09-11-2004 08:15
Име: Стоян Арабаджиев
Местоположение: Самоков

Мнение от stoar08 » 20-05-2007 00:41

В Aton за
DM.tbOwnerNAME_SHORT.AsString; // 1. Собственик
се зарежда името на обекта, при това на първия обект (в моя случай с ID=3). В базата, която съм си оставил за тестове, не мога да намеря каквато и да било връзка между този обект и обекта с PocketShop. Това така ли е замислено, защото аз "собственик" го разбирам мааалко по-различно :) , а и никъде не се подава име на фирма към PocketShop.

За момента не ми е ясно и
sInfos[0]; // 3. Сметка
от кой точно край на базата идва.
DM.tbOwnerADRES.AsString; // 13. Адрес на собственика
не знам от къде идва, но моя Aton измисля някакъв адрес, който не мога да разбера къде съм вкарал :))

Място на сделката не би ли трябвало да е от падащ списък или да е статично поле, съдържащо валидно населено място (в момента е име на обект) ?


<таблица>.<ред> ми е предостатъчно описание, на всяко неясно поле :wink:

http://intelrullz.data.bg/200507.rar - след Apply Test се зарежда списъка с валидни складове за PocketShop и се избира кой ни интересува (дори и само 1 да е :) . Тези дребни гъдели ще се оправят след като съм сигурен, че файловете се генерират правилно, при условие, че програмката все още има графичен интерфейс във версия 1.0 :wink: ).

Обработката не е изнесена на отделна нишка и няма прогрес бар, което дава на програмата вид на забила, но не е така.
Скоростта би трябвало да се вдигне прилично, ако sql-илите се сбият от 400-500 знака до 20-30 чрез вградени функциики. Пък и по този начин CFG.PDA ще става с 1 четене, не с 4 (както е в момента). Специално за него има и друг вариант - PDA Loader-а да не гледа какво чете, а да записва полетата последователно. По този начин ще могат да се добавят настройки на PocketShop по всяко време и CFG.PDA ще е валиден независимо от версията на "зареждача".
Няма да ми натежи да си напиша процедурите в базата, когато остана без неясни полета :).

ПС Има разминавания в двоичния вид на файловете от Aton и PDA Loader, но с Notepad не мога да ги хвана. Да не съм объркал encoding и PocketShop да не може да разчете какво генерирам?

И btw :roll: ако проекта ще придобива "официална" версия трябва да му измислим някакво по-малко банално име 8)
Моля ви, като прочетете тема пишете по едно мнение да не ви търся по icq/телефон после ...

Потребителски аватар
stoar08
Мнения: 1548
Регистриран: 09-11-2004 08:15
Име: Стоян Арабаджиев
Местоположение: Самоков

Мнение от stoar08 » 23-05-2007 01:09

И ето първа "Бета" на хоризонта. Доста е далеч от идеите ми за крайния продукт (най-малкото очаквам да се постигне и двупосочна комуникация) и откровенно казано е малко бавничко, но мисля, че ще мога да вдигна скоростта до доста по-прилично ниво.
Новото спрямо предишните линкове по-горе е, че всички файлове, които успях да накарам Aton да генерира са направени, а именно

Код: Избери всички

01:52:41 : started creating files
01:52:47 : cfg.pda done
01:52:48 : simple.pda done
01:52:50 : allsimple.pda done
01:52:51 : me.pda done
01:52:52 : kontr.pda done
01:52:58 : kli.pda done
01:52:59 : barcode.pda done
01:53:00 : group.pda done
01:53:01 : skladove.pda done
01:53:01 : dg.pda done
01:53:03 : pay.pda done
01:53:04 : paydost.pda done
Не мога да кажа с колко точно ще спадне времето след оптимизиране (тук зарежда едва няколко артикула), но ще спадне :) .

Всеки, който изпитва непреодолимо желание да опита как PocketShop ще реагира на така генерираните .pda да се чувства свободен да задели от свободното си време (ако има такова разбира се :wink: ).

Относно корекността на файловете гаранции няма да мога да дам, докато проекта не дойде на дневен ред (или просто получа мааалко надежна информация за базата на Aton-а) - до тогава разчитайте, че съм достатъчно можещ и пишете за проблеми.

За момента съм направил нещата за версии на атон 1.1.453.496 и PocketShop 1.3.53, но имам идея как да направя loader-а абсолютно независим от версиите на програмките в евентуалното бъдеще. Експорта е (или поне би трябвало да е) 1:1 с Aton, дори и относно нещата, за които питах дали не са бъгове.

http://intelrullz.data.bg/230507.zip - Njoy
Моля ви, като прочетете тема пишете по едно мнение да не ви търся по icq/телефон после ...

Потребителски аватар
stoar08
Мнения: 1548
Регистриран: 09-11-2004 08:15
Име: Стоян Арабаджиев
Местоположение: Самоков

Мнение от stoar08 » 26-05-2007 23:46

И ето ... с нахалство всичко се постига. Аз продължавам по малко да напомням за себе си.
http://intelrullz.data.bg/270507.rar
Точно като предишната версия е ...но межу 5 и 6 пъти по-бързо при почти празна база. С увеличаване на данните определено ще се усети. Уловтката е, че sql script-а не може да се изпълни от Aton. Позлвайте IBExpert, Flamerobin, IBOConsole. Без него PDA Loader-а ще ви се сърди изключително грубо :) .

Вероятно по някое време тази седмица ще изчистя и бъговете с pay.pda и paydost.pda (с другите за момента не ми е известно да има), които вече са оправени в Aton.

Хубавото на новия подход е, че може Stored процедурата да се обновява с версията на Aton и, ако има 1 таблица с файлчетата, ще могат да се генерират само необходимите (другите просто няма да ги има във въпросната таблица). Предполагам, че и с отчетите може да се получи нещо подобно и firebird да върши цялата работа :) .
Моля ви, като прочетете тема пишете по едно мнение да не ви търся по icq/телефон после ...

Потребителски аватар
stoar08
Мнения: 1548
Регистриран: 09-11-2004 08:15
Име: Стоян Арабаджиев
Местоположение: Самоков

Мнение от stoar08 » 29-05-2007 23:23

След 3 дни мъки да изкарам подробен pay.pda (с всички сметки вместо просто "салдо") се предадох и за пореден път поисках помощ от DeDe
http://intelrullz.data.bg/300507.rar
pay.pda и paydost.pda би трябвало да се генерират като в Aton ( поне на теория).
Преправих сортиранията и реално в момента се генерират следните файлчета :

Код: Избери всички

00:10:35 : cfg.pda done
00:10:35 : allsimple.pda done
00:10:36 : simple.pda done
00:10:36 : skladove.pda done
00:10:36 : group.pda done
00:10:36 : dg.pda done
00:10:36 : barcode.pda done
00:10:36 : me.pda done
00:10:36 : kontr.pda done
00:10:36 : kli.pda done
00:10:36 : pay.pda done
00:10:36 : paydost.pda done
00:10:36 : razel.pda done
00:10:36 : simpleraz.pda done
Мисля, че всички са сортирани правилно. В доста близко бъдеще ще попрегледам по-сериозно променливите за да ги скъся където има начин и да поспестя от RAM-а на Firebird, но и за момента работи чуднесно.
CFG.PDA все още е ограничен до основната база, но вероятно преди да започна работа по отчетите ще "бръкна" и в common.fdb .

Предвид факта, че някои sql "изречения" не ми се събират на екрана, очаквам при ползване по мрежа (особено при стартиране на програмата директно от PDA) да се постигне по-бързо цялостно зареждане от колкото през Aton+ActiveSync. Ще се опитам да пробвам в близките дни. Същото се отнася и за няколкото файла, които все още не фигурират в списъка.

В случай, че някой реално реши да пробва !!! : sql за датата е първият, които трябва да се пусне. Ако е пробвана предишната версия - изпълнете EDIT script-а, иначе отново Create.
Съжалявам за "голямата сложност", но веднъж да тръгне проекта и ще "умре" завинаги :wink:
Моля ви, като прочетете тема пишете по едно мнение да не ви търся по icq/телефон после ...

Потребителски аватар
stoar08
Мнения: 1548
Регистриран: 09-11-2004 08:15
Име: Стоян Арабаджиев
Местоположение: Самоков

Мнение от stoar08 » 31-05-2007 13:43

Въпрос :

Достигнах до извода, че няколко полета от cfg.pda идват от данните за регистрация. Регистрирах си 1 "тестов" Aton с надежди, но там не видях нищо в чист вид (име на фирма, обект, адрес и т.н.).

Данните от OWNER таблицата вършат ли работа? Или евентуално script-а за фунцкията, която създава файлчетата ще се alter-ва при всяка регистрация за да съдържа правилни данни (под формата на константи)?
Моля ви, като прочетете тема пишете по едно мнение да не ви търся по icq/телефон после ...

Потребителски аватар
stoar08
Мнения: 1548
Регистриран: 09-11-2004 08:15
Име: Стоян Арабаджиев
Местоположение: Самоков

Мнение от stoar08 » 08-06-2007 23:38

http://intelrullz.data.bg/release.rar
SQL се изпълняват в ред date, create, table (сигурно щеше да е по-умно да се казват 1,2,3 :) ).
PDA Loader си е PDA Loader. Configurator-а прави файл, който трябва да е в същата директория като Loader-а за да се извърши зареждане (съдържа конфигурацията в "криптиран" вид). След генериране на .pda се експортират otc****.pda и се преименуват на otc****.bak .

OTC Getter е windows service с цел да не пречи на живота. Целта му е да "вади" отчетите и да ги поставя в директорията на Aton. Би трябвало това да се случва малко след като са качени в базата. Monitor-а играе ролята на конфигуратор. Ако е пуснат, следи дали услугата не се е спряла сама.
Предвиден е да работи на машината, която ще разнася отчетите (взима конфигурирания път от базата на Aton и слага отчетите там). Повторно вадене на отчети е възможно (за момента само сменятм флаг-а за "нов", не ги трия от базата).
Отчетите не са велик товар на базата и би трябвало да не и пречат особено. Пробвал съм файлове до 45MB и не създават проблеми, ако не свърши RAM-а, но когато започнем да правим такива отчети ще мисля за решение :) .

Понеже за момента само аз си вярвам, че тези "архиви" ще бъдат отворени някога, оставям проекта докато някой не съобщи бъг/желание или не пита нещо (това предполага интерес :) ).
Njoy
Моля ви, като прочетете тема пишете по едно мнение да не ви търся по icq/телефон после ...

Отговори