Projekat

Općenito

Profil

Akcije

Podrška #27336

Zatvoren

POS priprema, switch na semaphores_v1.1

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

Status:
Zatvoreno
Prioritet:
Odmah riješiti
Odgovorna osoba:
Saša Vranić
Početak:
30.03.2012
Završetak:
% završeno:

100%

Procjena vremena:

Povezani tiketi 3 (0 otvoreno3 zatvorenih)

korelira sa F18 - Podrška #27340: POS, tabele integriteta, treba li nama to ?ZatvorenoSaša Vranić30.03.2012

Akcije
korelira sa F18 - Podrška #27341: POS, tabela DOKSPF nije na serveruZatvorenoSaša Vranić30.03.2012

Akcije
korelira sa F18 - Podrška #27366: Modul POS, STRAD i OSOB problemi sa tabelamaZatvorenoSaša Vranić02.04.2012

Akcije
Akcije #1

Izmjenjeno od Ernad Husremović prije oko 14 godina

  • Prioritet promijenjeno iz Normalan u Odmah riješiti
Akcije #2

Izmjenjeno od Ernad Husremović prije oko 14 godina

pushiraj sve sa semaphores_v1.0 i prebaci se na master branch

git checkout master
git pull

dobićeš stanje na kome radim

Akcije #3

Izmjenjeno od Ernad Husremović prije oko 14 godina

zadatak je da pripremimo pos u novom okruženju.

logika semafora je skroz promjenjena posebno sa stanovišta definicije sinhronizacije. sada se sve nalazi na jednom mjestu

pos/pos_semaphores.prg su nepotrebne - ne koriste se

Akcije #4

Izmjenjeno od Ernad Husremović prije oko 14 godina

ovo je sada mjesto gdje se definišu svi parametri dbf-a i parametri sinhronizacije

https://github.com/knowhow/F18_knowhow/blob/master/fakt/set_a_dbf_fakt.prg#L17

Akcije #5

Izmjenjeno od Ernad Husremović prije oko 14 godina

ja sam uradio najvećim dijelom za fin, fakt, epdv

Akcije #6

Izmjenjeno od Ernad Husremović prije oko 14 godina

uradio git merge

master <- semaphores_v1.0

tako da su sve promjene koje su rađene na ovom branchu sada u masteru.

Akcije #7

Izmjenjeno od Ernad Husremović prije oko 14 godina

switch sa semaphores_v1.0 na master

git checkout master
git pull

trebaš dobiti ver 0.9.90

Akcije #8

Izmjenjeno od Ernad Husremović prije oko 14 godina

kreiranje set_a_dbf.prg

ovdje se definišu parametri koji se već dijelom nalaze u common/a_dbf_legacy.prg (gADBFs)

ja to radim tako što te stavke kopiram pa ih onda uređujem.

pored toga sql_in npr nalazi se u pos/pos_semaphores.prg

kada se formira __f18_dbfs zapis za jednu tabelu gaDBFs se briše.

praktično trebamo izbrisati gaDBFs odnosno a_dbf_legacy.prg u konačnici.

Akcije #9

Izmjenjeno od Ernad Husremović prije oko 14 godina

algoritam 1

svaka tabela koja ide na sinhro ima barem 1 algoritam za sinhronizaciju

tabele kao što je fin_suban imaju dva.

Akcije #10

Izmjenjeno od Ernad Husremović prije oko 14 godina

Akcije #11

Izmjenjeno od Ernad Husremović prije oko 14 godina

algoritam 2 jednostavno manipuliše tabelom na nivou dokumenta a ne zapisa

Akcije #12

Izmjenjeno od Ernad Husremović prije oko 14 godina

server database tabele

postojeći ugrade je skroz nepregledan.

uočio sam da su neke tabele u ePDV skroz različite dbf <-> sql

da bih sve to upratio na kraju sam sredio server_db sql

https://github.com/knowhow/fmk/blob/master/database/misc/epdv.sql

Akcije #13

Izmjenjeno od Ernad Husremović prije oko 14 godina

tabele dbf - sql moraju biti identične

to sam ovdje započeo:

https://github.com/knowhow/fmk/blob/master/database/misc/epdv.sql#L214

Akcije #14

Izmjenjeno od Ernad Husremović prije oko 14 godina

analogno napraviti pos.sql

Akcije #15

Izmjenjeno od Ernad Husremović prije oko 14 godina

ePDV tabele su u priličnom haosu .. bojim se da niz stvari u kuf, kif ne odlaze na server

Akcije #16

Izmjenjeno od Ernad Husremović prije oko 14 godina

pričam o ranijem stanju naravno

Akcije #17

Izmjenjeno od Saša Vranić prije oko 14 godina

Uveo sam set_a_dbf_pos.prg

commit

po uzoru na set_a_dbf_fakt.prg

Akcije #18

Izmjenjeno od Saša Vranić prije oko 14 godina

tabela pos_pos također uveo da ima dva nivoa algoritma

2 je za dokument (brisanje)

commit

Akcije #19

Izmjenjeno od Ernad Husremović prije oko 14 godina

Greške tipa "already in transaction", "outside an transaction" ne smiju se više dešavati

Kod ažuriranja i povrata je bilo u sem v1.0 masovna pojava ovih grešaka.

Akcije #20

Izmjenjeno od Ernad Husremović prije oko 14 godina

pogledajmo sekvencu

 sql_table_update(nil, "BEGIN")
           update_rec_server_and_dbf(alias(), _vars, 1, "CONT")
           update_sifk_na_osnovu_ime_kol_from_global_var(ImeKol, "w", Ch==K_CTRL_N, "CONT")
  sql_table_update(nil, "END")

bitno je da imamo početak kraj ... a da se unutar toga pojavljulje "CONT" koje označava da je transakcija u toku

sve funkcije (update, delete)_rec_server_and_dbf imaju sada mogućnost da se zada algoritam i transakcija

Akcije #21

Izmjenjeno od Ernad Husremović prije oko 14 godina

treba uočiti da je transakcija vezana za ažuriranje više tabela (ne treba zbutniti što se poziva funkcija sql_table_update).

Akcije #22

Izmjenjeno od Ernad Husremović prije oko 14 godina

primjer fin ažuiranje

trasakcija počinje ovdje

Akcije #24

Izmjenjeno od Ernad Husremović prije oko 14 godina

ovdje se koristilo update_server_from_rec("fin_suban", "END")

isto bi bilo da je napisano funkcija sql_table_update(nil, "END")

iz jednostavnog razloga što je efekat komnde "COMMIT" transakcije tako da se ime tabele uopšte ne uzima u ozbir.

Akcije #25

Izmjenjeno od Saša Vranić prije oko 14 godina

hm, dobro, to ću pogledati kako u pos ubaciti, idem dodati tabele prvo u sql/db

Akcije #26

Izmjenjeno od Saša Vranić prije oko 14 godina

dodao tabelu #27341

Akcije #27

Izmjenjeno od Saša Vranić prije oko 14 godina

Prilikom ulaska ovu grešku dobijem

F18_IME_DBF (51) set_a_dbf nije definisan za table= _POS_PRIPR
Akcije #28

Izmjenjeno od Ernad Husremović prije oko 14 godina

ima li ta tabela u set_a_dbf_pos definisana sa:

set_a_dbf_temp( ... )

Akcije #29

Izmjenjeno od Ernad Husremović prije oko 14 godina

  • Projekat promijenjeno iz 103 u F18
Akcije #30

Izmjenjeno od Saša Vranić prije oko 14 godina

Ispravio grešku

commit

Akcije #31

Izmjenjeno od Saša Vranić prije oko 14 godina

alias tabele treba da bude _pos_pripr umjesto _pripr

Akcije #32

Izmjenjeno od Saša Vranić prije oko 14 godina

Šta je dalje ?

Kaže relacija fmk.log ne postoji! I to par puta... u log-u nema ništa.

Vjerovatno treba da postoji na sql/db neka tabela fmk.log, koje vidim nema na serveru.

Akcije #33

Izmjenjeno od Ernad Husremović prije oko 14 godina

Saša Vranić je napisao/la:

Šta je dalje ?

Kaže relacija fmk.log ne postoji! I to par puta... u log-u nema ništa.

Vjerovatno treba da postoji na sql/db neka tabela fmk.log, koje vidim nema na serveru.

fmk.log je koliko se sjećam u 4.2.6 db-u instalirana. ima u changelog-u

Akcije #34

Izmjenjeno od Ernad Husremović prije oko 14 godina

log_write sada sve operacije stavlja i na fmk.log tabelu što je za dijagnostiku multiuser problema veoma bitno

Akcije #35

Izmjenjeno od Saša Vranić prije oko 14 godina

dobro

Akcije #36

Izmjenjeno od Saša Vranić prije oko 14 godina

prilikom ulaska u pripremu dobijam

segmentation failed

ovo je onaj problem sa oblastima sigurno oko ovih pripremnih tabela

Akcije #37

Izmjenjeno od Saša Vranić prije oko 14 godina

nije nego u šifraniku osoblja i statusa nema ništa (prazni su)

hm... recimo dodavanje nove tarife

Unrecoverable error 9001: Error recovery failure
Called from SET_TABLE_VALUES_ALGORITAM_VARS(292) in common/f18_db.prg
Called from UPDATE_REC_SERVER_AND_DBF(34) in common/f18_db.prg
Called from EDITSIFITEM(904) in common/codes_browse.prg
Called from EDSIF(600) in common/codes_browse.prg
Akcije #38

Izmjenjeno od Saša Vranić prije oko 14 godina

jah, pa nije uopšte ovaj set šifranika ubačen u set_a_dbf_sif()

ROBA, TARIFA, SAST itd...

Akcije #39

Izmjenjeno od Ernad Husremović prije oko 14 godina

Saša Vranić je napisao/la:

jah, pa nije uopšte ovaj set šifranika ubačen u set_a_dbf_sif()

ROBA, TARIFA, SAST itd...

za to je predviđen set_a_dbf_sifarnici.prg

Akcije #40

Izmjenjeno od Saša Vranić prije oko 14 godina

Šifranike prebacio tamo gdje im je mjesto

commit

u a_dbfs_legacy.prg ih izbrisao

Akcije #41

Izmjenjeno od Saša Vranić prije oko 14 godina

sada su tarife ok, dodaju se na server itd...

Akcije #42

Izmjenjeno od Saša Vranić prije oko 14 godina

Međutim u POS-u postoji problem sa OSOB / STRAD tabelama

nešto se čudno događa

dodam u tabele vrijednosti, nakon novog ulaska te tabele opet budu prazne itd... ako više puta uđem u njih dobijam segmentation failed grešku

Akcije #43

Izmjenjeno od Saša Vranić prije oko 14 godina

ihhh, stare funkcije scatter() gather() postoje, to je to

Akcije #44

Izmjenjeno od Saša Vranić prije oko 14 godina

Borba sa STRAD i OSOB, commit

Akcije #45

Izmjenjeno od Saša Vranić prije oko 14 godina

Automatsko kreiranje stavki u OSOB i STRAD pri startu korigovano

commit

Akcije #46

Izmjenjeno od Saša Vranić prije oko 14 godina

Kod starta se dakle koristi ova funkcija

pogledaj

koja automatski napuni prazne tabele STRAD i OSOB sa defaultnim podacima...

Interesanta je ova stvar, u sql/db se podaci napune, fakat su tamo a u DBF-u ništa ???

Akcije #47

Izmjenjeno od Ernad Husremović prije oko 14 godina

Saša Vranić je napisao/la:

Kod starta se dakle koristi ova funkcija

gdje kod starta ?

Ovo treba pomjeriti kod ulaska u POS modul a ne tamo kod inicijalizacije tabela u f18_init

Akcije #48

Izmjenjeno od Ernad Husremović prije oko 14 godina

hm ... pogledao sam u kod, ovo se i dešava kod ulaska u pos modul

poziva se iz ove funkcije f_init_db()

ovu funkciju definitivno treba zamijeniti sa pos_init_dbfs() ... ime treba asocirati na pos

Akcije #49

Izmjenjeno od Saša Vranić prije oko 14 godina

ma da, to ću promjeniti, međutim čitava stvar mi je čudna ?

zašto ima u psql a nema u dbf ?

Akcije #50

Izmjenjeno od Saša Vranić prije oko 14 godina

Akcije #51

Izmjenjeno od Saša Vranić prije oko 14 godina

  • % završeno promijenjeno iz 0 u 20
Akcije #52

Izmjenjeno od Ernad Husremović prije oko 14 godina

da li ovo ima veze

_rec["id"] := "0" 
 _rec["prioritet"] := "0" 

da li se drugo dobije

ako staviš

_rec["id"] = PADR("0", dužina_id_a) 

itd ... ?

možda semafori ovo traže ... iako to treba fiskirati ako ovaj kod ne radi ...

Akcije #53

Izmjenjeno od Saša Vranić prije oko 14 godina

odvojio ovo u poseban tiket #27366

Akcije #54

Izmjenjeno od Ernad Husremović prije oko 14 godina

home baze: /home/vagrant/.f18/f18_test/
current dbf version:       406
    F18 dbf version:       406
err qry: SELECT COUNT(*) FROM fmk.semaphores_pos_dokspf WHERE user_code='test1'err msg:ERROR:  relation "fmk.semaphores_pos_dokspf" does not exist
LINE 1: SELECT COUNT(*) FROM fmk.semaphores_pos_dokspf WHERE user_co...
                             ^

problem sa query-jem: SELECT COUNT(*) FROM fmk.semaphores_pos_dokspf WHERE user_code='test1'

iako sam ažurirao serverdb sa 4.4.1

Akcije #55

Izmjenjeno od Ernad Husremović prije oko 14 godina

tabele: semaphores_pos_dokspf nema

Akcije #56

Izmjenjeno od Saša Vranić prije oko 14 godina

ne znam, kod mene postoje te tabele, evo sam odradio upgrade i na drugu bazu i tu su kreirane

Akcije #57

Izmjenjeno od Saša Vranić prije oko 14 godina

nastavljam sutra

Akcije #58

Izmjenjeno od Ernad Husremović prije oko 14 godina

problem je bio kod sa mojom testnom bazom

Akcije #59

Izmjenjeno od Saša Vranić prije oko 14 godina

realizacija kase

osposobio sam ovaj izvještaj, problem kreiranje POM tabele itd... sada je napravljeno kako treba

treba pročistiti i ostale izvještaje, i tu postoji POM tabela

Akcije #60

Izmjenjeno od Saša Vranić prije oko 14 godina

ažuriranja sam očistio

Akcije #61

Izmjenjeno od Saša Vranić prije oko 14 godina

Akcije #62

Izmjenjeno od Saša Vranić prije oko 14 godina

  • % završeno promijenjeno iz 20 u 60
Akcije #63

Izmjenjeno od Saša Vranić prije oko 14 godina

tu je i POS blizu iskoristivom stanju

Akcije #64

Izmjenjeno od Saša Vranić prije oko 14 godina

commit

još borbe sa izvještajima...

Akcije #65

Izmjenjeno od Saša Vranić prije oko 14 godina

reporti svi ispravljeni

commit

Akcije #66

Izmjenjeno od Saša Vranić prije oko 14 godina

ostala samo još opcija generisanja fajla razmjene za KALK (prenos realizacije u KALK) i sve je spremno

Akcije #67

Izmjenjeno od Saša Vranić prije oko 14 godina

izbacio dosta stvari

commit

commit

Akcije #68

Izmjenjeno od Saša Vranić prije oko 14 godina

još čišćenja

commit

commit

Akcije #69

Izmjenjeno od Saša Vranić prije oko 14 godina

  • % završeno promijenjeno iz 60 u 80
Akcije #70

Izmjenjeno od Saša Vranić prije oko 14 godina

Riješio i sve tipove prenosa pos - kalk

  • f18 pos->kalk, kalk->pos
  • f18 pos <- fmk kalk
  • f18 kalk <- fmk pos

#27085

Akcije #71

Izmjenjeno od Saša Vranić prije oko 14 godina

ažuriranje zaduženja, imao sam duplu transakciju

ažuriranje zaduženja a unutar toga azurroba() funkcija

commit

Akcije #72

Izmjenjeno od Saša Vranić prije oko 14 godina

testirao sam multi user rad i semafore, rade ko čvoka

Akcije #73

Izmjenjeno od Saša Vranić prije oko 14 godina

očistio sam pos od svakakvih budaleština, tipa ono sklanjanje računa itd...

Akcije #74

Izmjenjeno od Saša Vranić prije oko 14 godina

  • Status promijenjeno iz Dodijeljeno u Zatvoreno
  • % završeno promijenjeno iz 80 u 100
Akcije

Također dostupno kao Atom PDF