Projekat

Općenito

Profil

Akcije

Podrška #28757

Zatvoren

fetch_metric loše korištenje

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

Status:
Zatvoreno
Prioritet:
Urgentno
Odgovorna osoba:
Saša Vranić
Početak:
26.07.2012
Završetak:
% završeno:

0%

Procjena vremena:
Akcije #1

Izmjenjeno od Ernad Husremović prije skoro 14 godina

primjer:

pos_frm_racun_menu.prg

function PostRoba()

..

//kontrolisi cijenu pri unosu narudzbe
234 if fetch_metric( "pos_kontrola_cijene_pri_unosu_stavke", nil, "N" ) == "D" 
235     if ROUND(_cijena, 5) == 0
236         MsgBeep( "Cijena 0.00, ne mogu napraviti racun !!!" )
237         _vrati := .f.
238     endif
239 endif

...

kod svakog poziva ove funkcije se ovaj parametar iščitava iz baze.

ovo je trebalo riješiti sa statičkom varijablama (i odgovarajućim get/set funkcijama) koje bi se inicijalizirale jednom.

Još elegantnije rješenje je vjerovatno klasa PosParametri koja bi se napunila parametrima pa nakon toga koristila.

Kako god ovo ovako ne valja.

Developer je non-stop ovo ovako koristio, već se dosta pogrešnog koda nakupilo.

Primjer 2:

// --------------------------------------------------------------------------------------
440 // provjerava tezinski barod
441 // --------------------------------------------------------------------------------------
442 function tezinski_barkod( id, tezina )
443 local _ocitao := .f.
444 local _tb := fetch_metric( "barkod_tezinski_barkod", nil, "N" )
445 local _tb_prefix := ALLTRIM( fetch_metric( "barkod_prefiks_tezinskog_barkoda", nil, "" ) )
446 local _tb_barkod, _tb_tezina
447 local _bk_len := fetch_metric( "barkod_tezinski_duzina_barkoda", nil, 0 )
448 local _tez_len := fetch_metric( "barkod_tezinski_duzina_tezina", nil, 0 )
449 local _tez_div := fetch_metric( "barkod_tezinski_djelitelj", nil, 10000 )
450 local _val_tezina := 0
451 local _a_prefix
452 local _i
453 
454 gOcitBarCod := _ocitao
455 
456 if _tb == "N" 
457     return _ocitao
458 endif
459 
460 if EMPTY( id )
461     return _ocitao
462 endif

...

kod svakog unosa artikla se ovi parametri iščitavaju.

Akcije #2

Izmjenjeno od Ernad Husremović prije skoro 14 godina

  • Prioritet promijenjeno iz Visok u Urgentno
Akcije #3

Izmjenjeno od Ernad Husremović prije skoro 14 godina

primjer jednog parametra:

commit

inicijalizacija parametra

Akcije #6

Izmjenjeno od Saša Vranić prije skoro 14 godina

Na nekom od ranijih tiketa postoji primjer kako se koristi gdje smo se složili da koristimo tako kod poziva funkcije, te da izbacimo globalne varijable i slično.

Na LD nekoj funkciji postoji, ali ne mogu naći tiket, pa sam tako i koristio...

Ok, sada ćemo koristiti na ovakav način.

Akcije #7

Izmjenjeno od Saša Vranić prije skoro 14 godina

  • Status promijenjeno iz Dodijeljeno u Zatvoreno
Akcije

Također dostupno kao Atom PDF