PocketShop зареждане без active sync
PocketShop зареждане без active sync
Мисля, че 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 Имате ли ми достатъчно доверие (да не се лъжем - това е важен фактор)?
За хората без права до секцията - това е програмка, която взима от aton.fdb необходимото инфо за зареждане на PocketShop и не се нуждае от нищо освен tcp връзка към сървъра на базата.
Пробвах го за скорост и на PDA Asus A636N генерира kli.pda 142 KB (943 клиента с повечето данни въведени) за 9-10 секунди.
Все още не е цяла, но предвид факта, че е <50 реда смятам, че и това, което вече генерира, е добре. Достатъчно съм ентусиазиран за да напиша нещата изцяло във вид "по желание на потребителя"
Писна ми да овъртам за това питам директно 2 неща :
1 Ще се ползва ли (ако не сега - в обозримото бъдеще)?
2 Имате ли ми достатъчно доверие (да не се лъжем - това е важен фактор)?
Моля ви, като прочетете тема пишете по едно мнение да не ви търся по icq/телефон после ...
Ето това са стойностите от 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 сигурно ще е най труден за създаване, защото са най-различни стойности и се извличат от различни места...
това 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 сигурно ще е най труден за създаване, защото са най-различни стойности и се извличат от различни места...
Мерси
Ще се опитам да го направя тази вечер... може да досаждам на някой, ако не разбера кое от къде се взима . Към кой да се обръщам с подобни въпроси ? Или пак да разчитам, че правилно съм разбрал какво пише в DeDe
ПС Мога ли да си напиша stored процедура за генериране на cfg.pda (и в последствие другите) и да се добави в aton.fdb ? Би облекчило значително Pocket-a от към обработка на информация и мрежов трансфер. Бих могъл също да направя програмката и сама да си добавя въпросните функции.
Ще се опитам да го направя тази вечер... може да досаждам на някой, ако не разбера кое от къде се взима . Към кой да се обръщам с подобни въпроси ? Или пак да разчитам, че правилно съм разбрал какво пише в DeDe
ПС Мога ли да си напиша stored процедура за генериране на cfg.pda (и в последствие другите) и да се добави в aton.fdb ? Би облекчило значително Pocket-a от към обработка на информация и мрежов трансфер. Бих могъл също да направя програмката и сама да си добавя въпросните функции.
Моля ви, като прочетете тема пишете по едно мнение да не ви търся по icq/телефон после ...
В Aton за
За момента не ми е ясно и
Място на сделката не би ли трябвало да е от падащ списък или да е статично поле, съдържащо валидно населено място (в момента е име на обект) ?
<таблица>.<ред> ми е предостатъчно описание, на всяко неясно поле
http://intelrullz.data.bg/200507.rar - след Apply Test се зарежда списъка с валидни складове за PocketShop и се избира кой ни интересува (дори и само 1 да е . Тези дребни гъдели ще се оправят след като съм сигурен, че файловете се генерират правилно, при условие, че програмката все още има графичен интерфейс във версия 1.0 ).
Обработката не е изнесена на отделна нишка и няма прогрес бар, което дава на програмата вид на забила, но не е така.
Скоростта би трябвало да се вдигне прилично, ако sql-илите се сбият от 400-500 знака до 20-30 чрез вградени функциики. Пък и по този начин CFG.PDA ще става с 1 четене, не с 4 (както е в момента). Специално за него има и друг вариант - PDA Loader-а да не гледа какво чете, а да записва полетата последователно. По този начин ще могат да се добавят настройки на PocketShop по всяко време и CFG.PDA ще е валиден независимо от версията на "зареждача".
Няма да ми натежи да си напиша процедурите в базата, когато остана без неясни полета .
ПС Има разминавания в двоичния вид на файловете от Aton и PDA Loader, но с Notepad не мога да ги хвана. Да не съм объркал encoding и PocketShop да не може да разчете какво генерирам?
И btw ако проекта ще придобива "официална" версия трябва да му измислим някакво по-малко банално име 8)
се зарежда името на обекта, при това на първия обект (в моя случай с ID=3). В базата, която съм си оставил за тестове, не мога да намеря каквато и да било връзка между този обект и обекта с PocketShop. Това така ли е замислено, защото аз "собственик" го разбирам мааалко по-различно , а и никъде не се подава име на фирма към PocketShop.DM.tbOwnerNAME_SHORT.AsString; // 1. Собственик
За момента не ми е ясно и
от кой точно край на базата идва.sInfos[0]; // 3. Сметка
не знам от къде идва, но моя Aton измисля някакъв адрес, който не мога да разбера къде съм вкарал )DM.tbOwnerADRES.AsString; // 13. Адрес на собственика
Място на сделката не би ли трябвало да е от падащ списък или да е статично поле, съдържащо валидно населено място (в момента е име на обект) ?
<таблица>.<ред> ми е предостатъчно описание, на всяко неясно поле
http://intelrullz.data.bg/200507.rar - след Apply Test се зарежда списъка с валидни складове за PocketShop и се избира кой ни интересува (дори и само 1 да е . Тези дребни гъдели ще се оправят след като съм сигурен, че файловете се генерират правилно, при условие, че програмката все още има графичен интерфейс във версия 1.0 ).
Обработката не е изнесена на отделна нишка и няма прогрес бар, което дава на програмата вид на забила, но не е така.
Скоростта би трябвало да се вдигне прилично, ако sql-илите се сбият от 400-500 знака до 20-30 чрез вградени функциики. Пък и по този начин CFG.PDA ще става с 1 четене, не с 4 (както е в момента). Специално за него има и друг вариант - PDA Loader-а да не гледа какво чете, а да записва полетата последователно. По този начин ще могат да се добавят настройки на PocketShop по всяко време и CFG.PDA ще е валиден независимо от версията на "зареждача".
Няма да ми натежи да си напиша процедурите в базата, когато остана без неясни полета .
ПС Има разминавания в двоичния вид на файловете от Aton и PDA Loader, но с Notepad не мога да ги хвана. Да не съм объркал encoding и PocketShop да не може да разчете какво генерирам?
И btw ако проекта ще придобива "официална" версия трябва да му измислим някакво по-малко банално име 8)
Моля ви, като прочетете тема пишете по едно мнение да не ви търся по icq/телефон после ...
И ето първа "Бета" на хоризонта. Доста е далеч от идеите ми за крайния продукт (най-малкото очаквам да се постигне и двупосочна комуникация) и откровенно казано е малко бавничко, но мисля, че ще мога да вдигна скоростта до доста по-прилично ниво.
Новото спрямо предишните линкове по-горе е, че всички файлове, които успях да накарам Aton да генерира са направени, а именно
Не мога да кажа с колко точно ще спадне времето след оптимизиране (тук зарежда едва няколко артикула), но ще спадне .
Всеки, който изпитва непреодолимо желание да опита как PocketShop ще реагира на така генерираните .pda да се чувства свободен да задели от свободното си време (ако има такова разбира се ).
Относно корекността на файловете гаранции няма да мога да дам, докато проекта не дойде на дневен ред (или просто получа мааалко надежна информация за базата на Aton-а) - до тогава разчитайте, че съм достатъчно можещ и пишете за проблеми.
За момента съм направил нещата за версии на атон 1.1.453.496 и PocketShop 1.3.53, но имам идея как да направя loader-а абсолютно независим от версиите на програмките в евентуалното бъдеще. Експорта е (или поне би трябвало да е) 1:1 с Aton, дори и относно нещата, за които питах дали не са бъгове.
http://intelrullz.data.bg/230507.zip - Njoy
Новото спрямо предишните линкове по-горе е, че всички файлове, които успях да накарам 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 да се чувства свободен да задели от свободното си време (ако има такова разбира се ).
Относно корекността на файловете гаранции няма да мога да дам, докато проекта не дойде на дневен ред (или просто получа мааалко надежна информация за базата на Aton-а) - до тогава разчитайте, че съм достатъчно можещ и пишете за проблеми.
За момента съм направил нещата за версии на атон 1.1.453.496 и PocketShop 1.3.53, но имам идея как да направя loader-а абсолютно независим от версиите на програмките в евентуалното бъдеще. Експорта е (или поне би трябвало да е) 1:1 с Aton, дори и относно нещата, за които питах дали не са бъгове.
http://intelrullz.data.bg/230507.zip - Njoy
Моля ви, като прочетете тема пишете по едно мнение да не ви търся по icq/телефон после ...
И ето ... с нахалство всичко се постига. Аз продължавам по малко да напомням за себе си.
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 да върши цялата работа .
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/телефон после ...
След 3 дни мъки да изкарам подробен pay.pda (с всички сметки вместо просто "салдо") се предадох и за пореден път поисках помощ от DeDe
http://intelrullz.data.bg/300507.rar
pay.pda и paydost.pda би трябвало да се генерират като в Aton ( поне на теория).
Преправих сортиранията и реално в момента се генерират следните файлчета :
Мисля, че всички са сортирани правилно. В доста близко бъдеще ще попрегледам по-сериозно променливите за да ги скъся където има начин и да поспестя от RAM-а на Firebird, но и за момента работи чуднесно.
CFG.PDA все още е ограничен до основната база, но вероятно преди да започна работа по отчетите ще "бръкна" и в common.fdb .
Предвид факта, че някои sql "изречения" не ми се събират на екрана, очаквам при ползване по мрежа (особено при стартиране на програмата директно от PDA) да се постигне по-бързо цялостно зареждане от колкото през Aton+ActiveSync. Ще се опитам да пробвам в близките дни. Същото се отнася и за няколкото файла, които все още не фигурират в списъка.
В случай, че някой реално реши да пробва !!! : sql за датата е първият, които трябва да се пусне. Ако е пробвана предишната версия - изпълнете EDIT script-а, иначе отново Create.
Съжалявам за "голямата сложност", но веднъж да тръгне проекта и ще "умре" завинаги
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
CFG.PDA все още е ограничен до основната база, но вероятно преди да започна работа по отчетите ще "бръкна" и в common.fdb .
Предвид факта, че някои sql "изречения" не ми се събират на екрана, очаквам при ползване по мрежа (особено при стартиране на програмата директно от PDA) да се постигне по-бързо цялостно зареждане от колкото през Aton+ActiveSync. Ще се опитам да пробвам в близките дни. Същото се отнася и за няколкото файла, които все още не фигурират в списъка.
В случай, че някой реално реши да пробва !!! : sql за датата е първият, които трябва да се пусне. Ако е пробвана предишната версия - изпълнете EDIT script-а, иначе отново Create.
Съжалявам за "голямата сложност", но веднъж да тръгне проекта и ще "умре" завинаги
Моля ви, като прочетете тема пишете по едно мнение да не ви търся по icq/телефон после ...
Въпрос :
Достигнах до извода, че няколко полета от cfg.pda идват от данните за регистрация. Регистрирах си 1 "тестов" Aton с надежди, но там не видях нищо в чист вид (име на фирма, обект, адрес и т.н.).
Данните от OWNER таблицата вършат ли работа? Или евентуално script-а за фунцкията, която създава файлчетата ще се alter-ва при всяка регистрация за да съдържа правилни данни (под формата на константи)?
Достигнах до извода, че няколко полета от cfg.pda идват от данните за регистрация. Регистрирах си 1 "тестов" Aton с надежди, но там не видях нищо в чист вид (име на фирма, обект, адрес и т.н.).
Данните от OWNER таблицата вършат ли работа? Или евентуално script-а за фунцкията, която създава файлчетата ще се alter-ва при всяка регистрация за да съдържа правилни данни (под формата на константи)?
Моля ви, като прочетете тема пишете по едно мнение да не ви търся по icq/телефон после ...
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
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/телефон после ...