Projekat

Općenito

Profil

Akcije

Podrška #28966

Zatvoren

fakt_fakt->opis koristi li neko ?

Dodano od Ernad Husremović prije skoro 14 godina. Izmjenjeno prije više od 13 godina.

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

100%

Procjena vremena:

Povezani tiketi 2 (0 otvoreno2 zatvorenih)

korelira sa F18 - Podrška #28965: fakt compress master branch 1.3.x, fakt_dok_veza gdje se puni ?ZatvorenoErnad Husremović26.08.2012

Akcije
korelira sa F18 - Podrška #29696: FAKT, unos dokumenta, sređivanje kod-aZatvorenoSaša Vranić28.11.2012

Akcije
Akcije #1

Izmjenjeno od Ernad Husremović prije skoro 14 godina

u verziji 1.3.0 koju pripremam fakt_fakt->dok_veza i fakt_fakt->opis su izbačeni.

Nakon što sam izbacio polje fakt->opis u tabeli pripreme nemam unos opisa ... to treba skroz izbaciti ako niko ne koristi opis.

Ako neko ipak koristi opis NE VRAĆATI polje opis nego dodati tabelu:

fakt_fakt_opis

idvd idtipdok brdok rbr opis char(254)
10 10 000500 5 opis stavke 5 dokumenta 10-10-000500
Akcije #2

Izmjenjeno od Saša Vranić prije više od 13 godina

koristi par firmi ovaj opis

Akcije #3

Izmjenjeno od Saša Vranić prije više od 13 godina

dok_veza se također koristi sa radnim nalozima

Akcije #4

Izmjenjeno od Ernad Husremović prije više od 13 godina

Saša Vranić je napisao/la:

koristi par firmi ovaj opis

najbolje stavi linkove na funkcije koje koriste ovo polje. Ne znam ni polje uopšte čemu služi

Akcije #5

Izmjenjeno od Saša Vranić prije više od 13 godina

u opis upišu nešto što karakteriše samu stavku, možda neke lot brojeve ili slične stvari

Akcije #6

Izmjenjeno od Ernad Husremović prije više od 13 godina

otvori na internom projektu za klijente info o tome ko te funkcije koristi na koji način da imamo na umu kod migracije.

kako sam u početku ticketa rekao, to se ne može vraćati u fakt_fakt. ali svakako treba kod migracije paziti na to kod onih koji to koriste

Akcije #7

Izmjenjeno od Saša Vranić prije više od 13 godina

postoji tabela fakt_doks2 koja je pretpostavljam bila namjenjena nekada u ovu svrhu, možda je onda bolje nju proširiti pošto je već imamo dostupnu

Akcije #8

Izmjenjeno od Ernad Husremović prije više od 13 godina

fakt_dosk2 je planirana kao tabela koja sadrži jednu stavku za jedan dokument

fakt_fakt_opis može da sadrži više stavki dokumenta

Akcije #9

Izmjenjeno od Saša Vranić prije više od 13 godina

Dobro, to znam i ja :)

Ali nije opis jedino što je potrebno, imamo i taj broj veze, imamo relaciju, imamo broj radnog naloga i slično

#29469
#28089
#28016

itd...

Akcije #10

Izmjenjeno od Ernad Husremović prije više od 13 godina

razlika između br_veze_rnal i fakt_opis potpuna

br_veze_rnal se veže sa fakt_brdok relacijom 0..1 <-> 1 (brveze_rnal može biti 1 ili ne biti 0)

opis se veže sa fakt_fakt zapisom relacijom 0..1 <-> 1 (opis može biti 1 ili ne biti 0)

zato fakt dodatni opis i rnal_brveze polja ne treba smještati u istu tabelu

Akcije #11

Izmjenjeno od Saša Vranić prije više od 13 godina

  • Prioritet promijenjeno iz Odmah riješiti u Urgentno
Akcije #12

Izmjenjeno od Saša Vranić prije više od 13 godina

praktično nama treba tabela koja će sadržati neke dodatne opise i karakteristike po stavkama fakture...

recimo, ovaj tiket je vezan za opis, ali imamo recimo i ona polja:

  • serijski broj
  • lot broj
  • ref broj
  • itd...

znam da smo za nekoga pravili i LOT i REF brojeve koji se definišu kod unosa fakture te se po njima može i pretraživati poslije itd...

Akcije #13

Izmjenjeno od Saša Vranić prije više od 13 godina

vrlo jednostavno u ovu tabelu možemo dodati i proizvoljna polja, kako je to bilo u FAKT.DBF tabeli:

  • c_1
  • c_2
  • c_3
  • c_4
  • c_5

itd...

tabela: fakt_opis

idfirma idtipdok brdok rbr opis c_1 c_2 c_3 c_4 c_5

Parametrima setovati šta će predstavljati koje od polja...

  • koristi c_1 kao "REF"
  • koristi c_2 kao "LOT"
  • itd...

po želji...

Na osnovu parametara se onda i na forme kod pretrage može reći, uslov po

  • REF, LOT itd...

ili ako nije setovano parametrom (naziv)

  • C_1, C_2

to je jedino što mi pada napamet ovdje a da imamo tu mogućnost da možemo definisati ove stvar proizvoljno

Akcije #14

Izmjenjeno od Saša Vranić prije više od 13 godina

jedino još ne znam kako uvesti ovu tabelu, da li raditi semafor ili samo napraviti

_fakt_opis.dbf

(pripremnu tabelu)

koja će se puniti i na osnovu koje ćemo puniti server tabelu itd...

Akcije #15

Izmjenjeno od Saša Vranić prije više od 13 godina

  • Odgovorna osoba promijenjeno iz Saša Vranić u Ernad Husremović

zrakni i ti pa vrati

Akcije #16

Izmjenjeno od Ernad Husremović prije više od 13 godina

Saša Vranić je napisao/la:

jedino još ne znam kako uvesti ovu tabelu, da li raditi semafor ili samo napraviti

_fakt_opis.dbf

(pripremnu tabelu)

da li nam temp tabela uopšte treba ? Ove podatke jednostavno možemo držati u memoriji tokom pripreme naloga kao array stavki koje su opet hash array

[
{lot: "lot1", ref: "ref1"},  <<<<<<<<< stavka 1 dokumenta
nil,  <<<<<<<<< stavka 2 ne sadrži ove dodatne atribute
{lot: "lot22", ref: "ref22"} <<<<<<<< stavka 3 dokumenta

]
Akcije #17

Izmjenjeno od Ernad Husremović prije više od 13 godina

fakt_opis tabela treba izgledati ovako

fakt_opis(idvd, brdok, rbr, atribut, value)

tako recimo stavka 2 dokumenta 10-0050 ima LOT = 122 i REF = R125

=>

fakt_opis(10, 50, 2, "LOT", "122")
fakt_opis(10, 50, 2, "REF", "R125")

Akcije #18

Izmjenjeno od Ernad Husremović prije više od 13 godina

nikakvo budalesanje c_1, c_2 nam ne treba

primarni ključ tabele je četvorka (idvd, brdok, rbr, atribut)

Akcije #19

Izmjenjeno od Saša Vranić prije više od 13 godina

Ernad Husremović je napisao/la:

nikakvo budalesanje c_1, c_2 nam ne treba

primarni ključ tabele je četvorka (idvd, brdok, rbr, atribut)

da da, to je bolje

Akcije #20

Izmjenjeno od Saša Vranić prije više od 13 godina

Ernad Husremović je napisao/la:

Saša Vranić je napisao/la:

jedino još ne znam kako uvesti ovu tabelu, da li raditi semafor ili samo napraviti

_fakt_opis.dbf

(pripremnu tabelu)

da li nam temp tabela uopšte treba ? Ove podatke jednostavno možemo držati u memoriji tokom pripreme naloga kao array stavki koje su opet hash array

[...]

hm... da ali ako izađem iz pripreme ode sve u hendek :) ili izađem iz aplikacije a dokument ostane u pripremi

Akcije #21

Izmjenjeno od Ernad Husremović prije više od 13 godina

Saša Vranić je napisao/la:

hm... da ali ako izađem iz pripreme ode sve u hendek :) ili izađem iz aplikacije a dokument ostane u pripremi

možeš poslati na server prije izlaska iz aplikacije ili iz pripreme fakt.

u slučaju brisanja pripreme - pobriši atribute i to je teo.

tabela neka se zove fakt_fakt_atributi

Akcije #22

Izmjenjeno od Ernad Husremović prije više od 13 godina

međutim, ako se atributi smještaju na server onda nema smisla da se i ostale stavke ne smjeste na server.

Naime, ima smisla sve podatke u slučaju izlaska iz pripreme prebaciti na server ...

Ali onda dolazimo do potrebe za pripremnim dbf-ovima ... sve to traži malo detaljniju analizu.

zato ima smisla staviti temp dbf tabelu koja će korisniku služiti kao što mu služi fakt_pripr. znači napraviti fakt_pripr_atributi.dbf gdje ćeš ovo moći smjestiti, a da ne ide na server.

Ja sam predložio memoriju da nam bude jednostavnije.

Akcije #23

Izmjenjeno od Ernad Husremović prije više od 13 godina

... ali je tu lahkoću teško postići ako se sve u cjelini "ne pretrese" - mislim na koncept svih pripremnih tabela.

Akcije #24

Izmjenjeno od Ernad Husremović prije više od 13 godina

  • Odgovorna osoba promijenjeno iz Ernad Husremović u Saša Vranić
Akcije #25

Izmjenjeno od Saša Vranić prije više od 13 godina

ma ovo je taman prilika da se pretrese i unos fakt dokumenta, to je ostalo dosta zapušteno

Akcije #26

Izmjenjeno od Saša Vranić prije više od 13 godina

fakt, atributi:

commit

napravio sam čitanje i upisivanje atributa, napravljene 2 tabele:

  • server: fakt_fakt_atributi
  • local: fakt_atributi.dbf
Akcije #27

Izmjenjeno od Saša Vranić prije više od 13 godina

praktično kod unosa dokumenta imamo:

// iniciramo hb_hash matricu sa mogućim atributima
_items_atrib := hb_hash()
_items_atrib["fakt_opis"] := get_fakt_atribut( "fakt_opis" )
_items_atrib["lot"] := get_fakt_atribut( "lot_broj" )

// unos stavke fakture
edit_fakt_items( .t., @_items_atrib )

// na kraju radimo puširanje podataka iz hash matrice u dbf "fakt_atributi.dbf" 
fakt_atrib_hash_to_dbf( items_atrib )

Akcije #28

Izmjenjeno od Saša Vranić prije više od 13 godina

jedino još ne znam kako da napravim opciju atributa, možda kao listu u parametrima

fakt, dodatni atributi stavke: opis;lot;ref;...

tako da na osnovu toga znamo šta će se prikazati na formi a šta ne...

ili jednostavno napraviti parametre:

  • unos opisa stavke (D/N)
  • unos REF/LOT broja (D/N)

ma da, to je bolje...

Akcije #29

Izmjenjeno od Saša Vranić prije više od 13 godina

ali definitno unos fakture treba razriješiti sa ovim... to je šuma

Akcije #30

Izmjenjeno od Saša Vranić prije više od 13 godina

  • % završeno promijenjeno iz 0 u 60
Akcije #31

Izmjenjeno od Saša Vranić prije više od 13 godina

Akcije #32

Izmjenjeno od Saša Vranić prije više od 13 godina

  • Prioritet promijenjeno iz Urgentno u Odmah riješiti
Akcije #33

Izmjenjeno od Saša Vranić prije više od 13 godina

na unosu sam radio #29696

Akcije #34

Izmjenjeno od Saša Vranić prije više od 13 godina

hm.... ovdje sada imamo još dilema

recimo, ako ne popunimo polje atributa ono ne bi trebalo ni da se ažurira na server...

međutim, imamo situaciju:

  • ažuriramo neki atribut
  • naknadna ispravka dokumenta, ukinemo taj atribut (pobrišemo ga), moram ga i na serveru brisati...
Akcije #35

Izmjenjeno od Saša Vranić prije više od 13 godina

commit

hendliranje praznih vrijednosti atributa...

znači, ako je vrijednost prazna neće se zapis dodavati na server....

ako smo ipak dodali 3 stavke fakture i imamo 3 atribut/vrijednosti na serveru imamo:

redni broj 1: opis xxxxxxxxxx
redni broj 2: opis yyyyyyyyyy
redni broj 3: opis zzzzzzzzzz

pa zatim ispravljamo dokument i pobrišemo atribute/vrijednosti za stavke 2 i 3 na serveru ćemo imati:

redni broj 1: opis xxxxxxxxxx

što je ok

Akcije #36

Izmjenjeno od Saša Vranić prije više od 13 godina

stvar je što se kod insert-a podataka na server uvijek dešava

  • DELETE atributi za dokument 10-10-00301
  • INSERT atribut 1 dokumenta 10-10-00301
  • INSERT atribut 2 dokumenta 10-10-00301
  • INSERT atribut 3 dokumenta 10-10-00301

tako da je onda ovo jako jednostavno

Akcije #37

Izmjenjeno od Saša Vranić prije više od 13 godina

jedina stvar koja mi je sumnjiva je promjena broja dokumenta itd... to sada treba vidjeti šta i kako

recimo imam u pripremi dokument 10-10-00500 nakon što sam rekao štampanje i on mi je automatski setovao brojač

  • dokumenta
  • atributa

ako ručno promjenim broj dokumenta u tabeli na 00501 neću imati dobre atribute.

Akcije #38

Izmjenjeno od Ernad Husremović prije više od 13 godina

da li si ti napravio odgovarajuće upgrade procedure - da se podaci iz stare strukture prebace u atribute ?

tako da korisnici koji su ovo koristili ne izgube podatke.

Pretpostavljam da je sličnu stvar potrebno napraviti i kod migracije FMK -> F18 jer je došlo do promjene strukture podataka

Akcije #39

Izmjenjeno od Ernad Husremović prije više od 13 godina

nakon migracije treba napraviti opciju da se podaci iz starih struktura pobrišu da ne stvaraju zabunu i zauzimaju prostor bez potrebe.

ovo se može uraditi i "ručno" - odgovarajućim skriptama koje bi te stvari po uspješnom okončanju migracije podataka uradile potreban posao.

ovo svakako treba testirati na podacima korisnika koji su imali podatke koje sada stavljamo u atribute

Akcije #40

Izmjenjeno od Ernad Husremović prije više od 13 godina

fakt_doks_atributi

analogno atributima vezanim za stavke, najbolje odmah realizovati i atribute vezane za dokument

fakt_doks_atributi

time bi se fakt_doks polja raznorazna c1, c2 vako nako ugasila, takođe bi trebalo sasvim eliminisati fakt_doks2.

U fakt_doks bi se ostavilo samo set najbitnijih često korištenih polja (takva su polja koja su setovana za skoro svaki dokument): fisc_rn i slična polja.

sve ostale podatke premjestiti u atribute

Akcije #41

Izmjenjeno od Ernad Husremović prije više od 13 godina

Saša Vranić je napisao/la:

  • dokumenta
  • atributa

ako ručno promjenim broj dokumenta u tabeli na 00501 neću imati dobre atribute.

ne razumijem. kad je dokument u pripremi podataka nema na serveru. Sve što trebaš uraditi je promjeniti u lokalnom dbf-u atribute.

Da li postoji pripr_fakt_atributi.dbf ili samo fakt_fakt_atributi.dbf ?

Trebalo bi da postoji pripr_fakt_atributi.dbf u kome se nalaze atributi dokumenta u pripremi.

Što se tiče fakt_fakt_atributi.dbf on nije neophodan ako postoje i koriste se funkcije koje podatke za ažurirane dokumente uzimaju isključivo sas servera (što je najčišće - isključujemo potrebu za logikom semafora)

Akcije #42

Izmjenjeno od Ernad Husremović prije više od 13 godina

kada malo razmislim fakt_fakt_atributi koji sadrži podatke lokalnih atributa je suvišan.

Treba samo imati pripr_fakt_atributi koji sadrži podatke dokumenta u pripremi.

Tako smo koliko se sjećam na kraju i dogovorili da uradim. Je li tako i urađeno ?

Akcije #43

Izmjenjeno od Ernad Husremović prije više od 13 godina

atribut char(50) ?

to je bezveze.

Staviti tip text, tako da uopšte neće biti ograničenja na dužinu - broj karaktera atributa.

A što se tiče dbf-a tu pogledati da li postoji sličan tip polja kao što je test.

Akcije #44

Izmjenjeno od Ernad Husremović prije više od 13 godina

pregledao sam kod, koliko vidim fakt_fakt_atributi jeste praktično privremena tabela i odnosi se na stavke u pripremi.

Jedino što je zbunjujućeg imena.

bolje je da bude fakt_pripr_atributi.dbf, s obzirom da fakt_pripr.dbf sadrži stavke koje se odnose na te atribute a ne tabela fakt_fakt.dbf koja sadrži ažurirane stavke

Akcije #45

Izmjenjeno od Ernad Husremović prije više od 13 godina

upgrade pa briši smeće

koliko vidim ovdje je ključna stvar na koju treba dobro riješti kupljenje podataka iz starih struktura, te nakon toga ne ostavljati te beskorisne podatke - pobrisati smeće nakon što se napune atributi

Akcije #46

Izmjenjeno od Ernad Husremović prije više od 13 godina

Ernad Husremović je napisao/la:

upgrade pa briši smeće

koliko vidim ovdje je ključna stvar na koju treba dobro riješti kupljenje podataka iz starih struktura, te nakon toga ne ostavljati te beskorisne podatke - pobrisati smeće nakon što se napune atributi

ovo se sve može riješiti kroz sql migracijske skripte:
  1. insert into atributi from stare strukture
  2. delete polja koja nam više ne trebaju

a što se tiče inicijalnih migracija fmk-F18, najbolje je koristiti strukturu < 4.5.2, u nju izvršiti inicijalnu migraciju

a onda pokrenuti upgrade tih baza gdje će posao obaviti migracijske skripte

Akcije #47

Izmjenjeno od Ernad Husremović prije više od 13 godina

otvoriti poseban ticket za ovo

Akcije #48

Izmjenjeno od Saša Vranić prije više od 13 godina

fakt_fakt_atributi.dbf preimenovani u fakt_pripr_atributi.dbf

commit

Akcije #49

Izmjenjeno od Saša Vranić prije više od 13 godina

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

Također dostupno kao Atom PDF