Nove funkcije #32810
ZatvorenSifk/SifV izbaciti iz semafora - SQLRDD
Dodano od Ernad Husremović prije oko 12 godina. Izmjenjeno prije oko 12 godina.
80%
Opis
Performanse¶
- sifk/sifv se uzimaju direktno sa servera
verzija: 1.7.9¶
Developerske bilješke¶
Retrospektiva urađenog¶
- branch 32810
- hbformat rađen u 32810_refactor
- commit koji sadrži glavne promjene
- naredni commit omogućava ispravan pregled šifarnika i brisanje
- sifk_sifv.prg
- sif_sifk_fill_kol unos SIFK u pregled šifarnika ROBA/PARTN (DRY)
- use_sql.prg
- use_sql_sifk
- bez parametara otvara kompletnu tabelu, koristi se za pregled sifk kao šifarnika
- use_sql_sifv
- use_sql_sifk
Rezime DBFCDX vs SQLRDD¶
- Detalji razlika razlike između sifk/sifv sa DBFCDX i SQLRDD mogu se vidjeti ovdje
SQLRDD nam omogućava da u velikoj mjeri zadržimo postojeći aplikativni kod.
Međutim, bitno je da se razmiju razlike i one iskoriste u pozitivnom smislu.
Umjesto da bez potrebe stalno otvaramo čitavu tabelu (posebno sifv), kako je to slučaj sa DBFCDX, mi sa use_sql funkcijama uzimamo samo ono što nam treba putem sql upita, što kasnije koristimo kao xBase tabelu.
Fajlovi
| sifk_sifv.ods (16,4 KB) sifk_sifv.ods | Ernad Husremović, 24.03.2014 14:52 | ||
| sifk_sifv.ods (19,8 KB) sifk_sifv.ods | v2 | Ernad Husremović, 24.03.2014 14:59 | |
| sifk_sifv.ods (19,9 KB) sifk_sifv.ods | SQL indeksi | Ernad Husremović, 24.03.2014 16:26 | |
| sifk_sifv.ods (27,3 KB) sifk_sifv.ods | sifk F18 forma PARTN/BANK | Ernad Husremović, 24.03.2014 16:47 |
Izmjenjeno od Ernad Husremović prije oko 12 godina
- Naslov promijenjeno iz Sifk/SifV izbaciti iz semafora u Sifk/SifV izbaciti iz semafora - SQLRDD
Izmjenjeno od Ernad Husremović prije oko 12 godina
kod SIFK možemo imati lokalne indekse to nije velika tabela ali kod SIFV trebamo imati čisti SQL pristup.
Izmjenjeno od Ernad Husremović prije oko 12 godina
- Fajl sifk_sifv.ods sifk_sifv.ods dodano
prikaz sifk, sifv sa primjerom
Izmjenjeno od Ernad Husremović prije oko 12 godina
- Fajl sifk_sifv.ods sifk_sifv.ods dodano
Izmjenjeno od Ernad Husremović prije oko 12 godina
- Fajl sifk_sifv.ods sifk_sifv.ods dodano
Izmjenjeno od Ernad Husremović prije oko 12 godina
- Fajl sifk_sifv.ods sifk_sifv.ods dodano
Izmjenjeno od Ernad Husremović prije oko 12 godina
- % završeno promijenjeno iz 0 u 80
treba mi <1h da ovo završim
Izmjenjeno od Ernad Husremović prije oko 12 godina
testirajte odmah pull-ovanje ovog branch-a
git fetch git checkout 32810 ./build.sh
Izmjenjeno od Ernad Husremović prije oko 12 godina
use_sql_sifk i sifv nije isto kao sa DBFCDX !¶
Jeste slično, većina koda se može iskoristiti ali ima bitnih razlika.
sif_sifk_fill_kol je interesantna po tome što sam se na njom zadržao radi sljedećeg:
do sada u DBFCDX je bilo:
use sifk do while !EOF() pa neke poslove koji su opet koristili sifk USifk i slično SKIP enddo
na kraju sam morao ovo napraviti za dva koraka:
1) napraviti _recs matricu zapisa koji sadrži sifk zapise koji su mi potrebni
2) sa tim zapisima napraviti FOR EACH _rec IN _recs ... posao ... NEXT
razlog je taj što kod svakog otvaranja sifk/sifv imamo novi SQL upit
Sličan primjer je dosadašnja sekvenca
USE SIFK SET ORDER TO TAG SEEK cDbf + cOznaka IF FOUND() . .. ENDIF
sada je to ovako
use_sql_sifk( cDbf, cOznaka ) GO TOP IF !EOF() ... posao ENDIF
Izmjenjeno od Ernad Husremović prije oko 12 godina
Treba uočiti da su use_sql funkcije klasični upiti, tako da se sa servera uzima samo ono što nam treba.
Izmjenjeno od Saša Vranić prije oko 12 godina
testirao dodavanje nove šifre i ispravku postojeće
sada u multiuser radu više nemam sifv full sinhro
podaci se osvježavaju korektno
Izmjenjeno od Saša Vranić prije oko 12 godina
full sinhro tabele fmk.partn ostao, ali pretpostavljam da je to ok, ovdje se radi samo o sifk/sifv tabelama
Izmjenjeno od Saša Vranić prije oko 12 godina
testirao i štampu dokumenta (fakture) da vidim čitanje SIFK i to je ok
Izmjenjeno od Saša Vranić prije oko 12 godina
ovo što se tiče sifk sve izgleda ok
imam ispravne podatke na obje strane kod ispravki / unosa novih stavki
Izmjenjeno od Ernad Husremović prije oko 12 godina
Saša Vranić je napisao/la:
ovo što se tiče sifk sve izgleda ok
imam ispravne podatke na obje strane kod ispravki / unosa novih stavki
to nisam ni sumnjao, s obzirom da se koriste isključivo sql upiti. Znači sinhronizacija se više i ne dešava.
Neispravni rezultati ili ispadi su mogući bugovi.
Izmjenjeno od Ernad Husremović prije oko 12 godina
rg_2014 bug:
====================================================================================
F18 bug report (v3.2) : 25.03.14 13:10:18
====================================================================================
Verzija programa: 1.7.8 25.03.2014 4.3.4
SubSystem/severity : BASE 2
GenCod/SubCode/OsCode : 1 1075 0
Opis : Argument error
ImeFajla :
Operacija : >
Argumenti : _?_
canRetry/canDefault : .f. .f.
CALL STACK:
--- --------------------------------------------------------------------------------
1 (b)F18_INIT_APP / 116
2 SIF_SIFK_FILL_KOL / 609
3 P_PARTNERI / 158
4 P_FIRMA / 189
5 (b)SIFFMKSVI / 22
6 MENU_SC / 933
7 SIFFMKSVI / 113
8 (b)KALK_SIFRARNIK / 25
9 MENU_SC / 933
10 KALK_SIFRARNIK / 52
11 (b)TKALKMOD_MMENUSTANDARD / 125
12 MENU_SC / 933
13 TKALKMOD:MMENUSTANDARD / 159
14 TKALKMOD:MMENU / 65
15 TKALKMOD:RUN / 147
16 MAINKALK / 31
17 (b)SET_MENU_CHOICES / 186
18 MODULE_MENU / 160
19 F18_INIT_APP_LOGIN / 213
20 F18_INIT_APP / 132
21 MAIN / 28
--- --------------------------------------------------------------------------------
/----- SERVER connection info: ---------- /
host/database/port/schema : 192.168.45.52 / rg_2014 / 5432 / fmk
user : test1
F18 client required server db >= : 4.6.7 / 40607
Actual knowhow ERP server db version : 4.8.0 / 40800
/---------- BEGIN PostgreSQL vars --------/
server_version : 9.1.11
TimeZone : localtime
/---------- END PostgreSQL vars --------/
/-------- BEGIN PostgreSQL sys info --------/
client_addr : 192.168.45.112
client_port : 42958
server_addr : 192.168.45.52
server_port : 5432
user : test1
/------- END PostgreSQL sys info --------/
Trenutno radno podrucje: SIFK , record: 2 / 1
------------------------------------------------------------
Record content:
------------------------------------------------------------
1 ID C 8 0
2 MATCH_CODE C 10 0
3 SORT C 2 0
4 NAZ C 25 0
5 OZNAKA C 4 0
6 VEZA C 1 0
7 F_UNIQUE C 1 0
8 IZVOR C 15 0
9 USLOV C 200 0
10 DUZINA B 2 0 0.00
11 F_DECIMAL B 1 0 0.00
12 TIP C 1 0
13 KVALID C 100 0
14 KWHEN C 100 0
15 UBROWSU C 1 0
16 EDKOLONA B 2 0 0.00
17 K1 C 1 0
18 K2 C 2 0
19 K3 C 3 0
20 K4 C 4 0
------------------------------------------------------------
21 MAIN / 28
== END OF BUG REPORT ==
Izmjenjeno od Ernad Husremović prije oko 12 godina
testovi sa odgovarajućim uzorkom podataka¶
testovi ipak nisu bili dobri - sa rg_2014 sam odmah dobio grešku, ispravio u 32810
Izmjenjeno od Ernad Husremović prije oko 12 godina
- Status promijenjeno iz Dodijeljeno u Zatvoreno
Izmjenjeno od Ernad Husremović prije oko 12 godina
- Projekat promijenjeno iz 103 u F18