Projekat

Općenito

Profil

Akcije

Nove funkcije #32810

Zatvoren

Sifk/SifV izbaciti iz semafora - SQLRDD

Dodano od Ernad Husremović prije oko 12 godina. Izmjenjeno prije oko 12 godina.

Status:
Zatvoreno
Prioritet:
Odmah riješiti
Odgovorna osoba:
Početak:
22.03.2014
Završetak:
% završeno:

80%

Procjena vremena:

Opis

Performanse

  • sifk/sifv se uzimaju direktno sa servera

verzija: 1.7.9

Developerske bilješke

Retrospektiva urađenog

  • branch 32810
  • commit koji sadrži glavne promjene
  • naredni commit omogućava ispravan pregled šifarnika i brisanje
  • sifk_sifv.prg
  • use_sql.prg
    • use_sql_sifk
      • bez parametara otvara kompletnu tabelu, koristi se za pregled sifk kao šifarnika
    • use_sql_sifv

Rezime DBFCDX vs SQLRDD

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
Akcije #1

Izmjenjeno od Ernad Husremović prije oko 12 godina

  • Naslov promijenjeno iz Sifk/SifV izbaciti iz semafora u Sifk/SifV izbaciti iz semafora - SQLRDD
Akcije #2

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.

Akcije #3

Izmjenjeno od Ernad Husremović prije oko 12 godina

32810 branch

Akcije #4

Izmjenjeno od Ernad Husremović prije oko 12 godina

prikaz sifk, sifv sa primjerom

Akcije #5

Izmjenjeno od Ernad Husremović prije oko 12 godina

Akcije #6

Izmjenjeno od Ernad Husremović prije oko 12 godina

Akcije #7

Izmjenjeno od Ernad Husremović prije oko 12 godina

Akcije #8

Izmjenjeno od Ernad Husremović prije oko 12 godina

  • % završeno promijenjeno iz 0 u 80

treba mi <1h da ovo završim

Akcije #9

Izmjenjeno od Ernad Husremović prije oko 12 godina

testirajte odmah pull-ovanje ovog branch-a

git fetch
git checkout 32810
./build.sh
Akcije #10

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
Akcije #11

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.

Akcije #12

Izmjenjeno od Saša Vranić prije oko 12 godina

pulovao i bildao ovaj branč

Akcije #13

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

Akcije #14

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

Akcije #15

Izmjenjeno od Saša Vranić prije oko 12 godina

testirao i štampu dokumenta (fakture) da vidim čitanje SIFK i to je ok

Akcije #16

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

Akcije #17

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.

Akcije #18

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 ==
Akcije #19

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

Akcije #20

Izmjenjeno od Ernad Husremović prije oko 12 godina

  • Status promijenjeno iz Dodijeljeno u Zatvoreno
Akcije #21

Izmjenjeno od Ernad Husremović prije oko 12 godina

  • Projekat promijenjeno iz 103 u F18
Akcije

Također dostupno kao Atom PDF