PANTHEON™ Help

 Sadržaj
[Collapse]Poštanska knjiga
  Pošiljke
 Glavna strana- Dobrodošli u PANTHEON uputstva
[Collapse]PANTHEON
 [Collapse]PANTHEON priručnici
  [Expand]Priručnik za PANTHEON
  [Expand]Priručnik za mobilni POS
  [Expand]Priručnik za PANTHEON Vet
  [Expand]Vodič po DataLab PANTHEON™ Farming
 [Collapse]PANTHEON korisnički priručnici
  [Expand]Operativni priručnik za datalab PANTHEON Farming
  [Expand]Korisnički priručnik za PANTHEON
  [Expand]Korisnički vodič za mobilni POS
  [Expand]Korisnički priručnik za PANTHEON VET
  [Expand]Korisnički priručnik za PANTHEON Farming
[Collapse]PANTHEON Web
 [Collapse]Priručnici za PANTHEON Web
  [Expand]Priručnik za PANTHEON Web Light
  [Expand]Priručnik za PANTHEON Web Terminal
  [Expand]Priručnik za PANTHEON Web Legal
 [Collapse]Korisnički priručnici za PANTHEON Web
  [Expand]Kako početi? PANTHEON Web
  [Expand]Korisnički priručnik za PANTHEON Web Light
  [Expand]Korisnički priručnik za PANTHEON Web Terminal
  [Expand]Korisnički priručnik za PANTHEON Web Legal
[Collapse]PANTHEON Granule
 [Collapse]Priručnik za PANTHEON Granule
  [Expand]Granula Kadrovi
  [Expand]Granula Putni nalozi
  [Expand]Granula Dokumenti i zadaci
  [Expand]Granula Kontrolna tabla
  [Expand]Granula B2B naručivanje
  [Expand]Granula Servis na terenu
  [Expand]Granula Inventar osnovnih sredstava
  [Expand]Granula Inventar skladišta
 [Collapse]Korisnički priručnik za PANTHEON Granule
  [Expand]Kako početi?
  [Expand]Granula Kadrovi
  [Expand]Granula Putni nalozi
  [Expand]Granula Dokumenti i Zadaci
  [Expand]Granula B2B Naručivanje
  [Expand]Granula Kontrolna tabla
  [Expand]Granula Servis na terenu
  [Expand]Inventar Fiksne Imovine
  [Expand]Arhiva
  [Expand]Granula Inventar skladišta
 Obrazac za slanje fax-om
[Expand]Korisničke strane

Load Time: 671,8777 ms
"
  6613 | 1 | |
Label


Napredni način vnašanja kod

Napredni način vnašanja kod

010379.gif010380.gifver_fa.gif010411.gif010382.gif010383.gif

 

Posebne primere vnosov kod rešujemo s posebno stored proceduro, ki pretvori vnos (običajno skenirano vrednost) v podatke, ki jih za svoje delo potrebuje PANTHEON. Na ta način lahko rešujemo sledeče primere:

  • EAN/UCC 128 kode
  • Kode s produktno varianto
  • netipične kode ali 
  • druge kombinacije

Stored procedura se izvaja v vsakem primeru, če le ta obstaja na strežniku . Če procedura na strežniku ne obstaja, PANTHEON funkcionira normalno. Parametri za proceduro so fiksni. Paziti je potrebo, da procedura vrača recordset z vsaj sledečimi polji:

  • ISOK: ki je lahko T/F in pove ali je operacija uspela
  • ERRMSG: je uporabniško sporočilo ob napaki
  • IDENT: koda identa
  • KOLICINA: količina
  • SERIALNO: serijska številka

Lahko pa poleg teh polj vrne še vse ostala PANTHEON polja (razen uporabniških), ki se nahajajo v tabeli PROMETPOZ.

 

000001.gif Če uporabljate ta način vnosa identov preko stored procedure, potem v tabeli, v katero se vpisujejo pozicije, tipka ENTER ne preskakuje na naslednje polje. Funkcionalnost kurzorskih tipk in TAB je nespremenjena.

 

000001.gif Program vedno preveri po vrnitvi iz te procedure, ali je šifra identa, ki ga je procedura vrnila, pravilna (ali je vpisana v šifrant identov). Enako so veljavne tudi kontrole za serijsko številko.

 

000001.gif set nocount on je obvezen ukaz, saj mora procedura vračati vedno le en recordset.

 

000001.gif Niz, ki je predan v polju ERRMSG se vedno izpiše, ne glede na to, ali je ISOK = 'T' ali 'F'.
Tako lahko to možnost uporabimo za sporočanje določenega opozorila.

 

000001.gif

Če uporabimo ta način iskanja (vpisovanja) kod, potem 

NE DELUJE in ga je potrebno vključiti (sprogramirati ročno) v proceduro!

 

Primer skenirane kode, ki vsebuje identifikator, šifro, količino in serijsko številko

Imamo kodo sledeče oblike (npr. živilski izdelek):

01EEEEEEEEEEEEEEKKKKKDDDDDDD

kjer je

  • 01 - identifikator, da gre za tako sestavljen ident
  • EEEEEEEEEEEEEE - 14 mestna EAN koda izdelka
  • KKKKK - 5 mestna količina v gramih (IDENT je normiran v KG)
  • DDDDDDD - datum poteka uporabnosti identa

Če ident nima na začetku identifikatorja 01, potem je ident običajen in ga prenesemo v PANTHEON. Stored procedura, ki jo moramo napisati za ta primer je sledeča:

 

create procedure [dbo].[dl_HE_MSIdentSetText]
@cKljuc Char(13),   -- ključ, na katerem dokumentu je bil sprožen vnos kode
@nPoz SmallInt,     -- pozicija, na katerem je bil sprožen vnos kode (ni nujno!!)
@cSubjekt Char(30), -- Kupec ali dobavitelj dokumenta
@cText VarChar(512) -- Vnešena vrednost
as

set nocount on
if Left(@cText,2) = '01'  -- je to sestavljena koda?
  select 'T' as acISOK, '' as acERRMSG, SubString(@cText,3,14) as acIDENT,
         (cast(SubString(@cText,18,5) as money) / 1000) as anQty,
         SubString(@cText,24,10) as acSERIALNO
else  -- ne, potem vrni poskenirano kot ident
  select 'T' as acISOK, '' as acERRMSG, @cText as acIDENT,0 as anQty,'' as acSERIALNO

 

Primer skenirane kode, ki vsebuje produktno varianto

Imamo kodo sledeče oblike (npr. čevlje):

EEEEEEEEEEEEEEBBBBVVV

kjer je

  • EEEEEEEEEEEEEE - 14 mestna EAN koda izdelka
  • BBBB - 4 mestna koda barve
  • VVV - 3 mestna koda velikosti

Identi so mešani, tako da lahko poskeniramo katerikoli ident. Iz šifre vemo, ali gre za ident s produktno varianto ali ne. Stored procedura, ki jo moramo napisati za ta primer je sledeča:

 

create procedure [dbo].[dl_HE_MSIdentSetText]
@cKljuc Char(11),   -- ključ, na katerem dokumentu je bil sprožen vnos kode
@nPoz SmallInt,     -- pozicija, na katerem je bil sprožen vnos kode (ni nujno!!)
@cSubjekt Char(30), -- Kupec ali dobavitelj dokumenta
@cText VarChar(512) -- Vnešena vrednost
as

set nocount on

declare
  @cIdent char(16),
  @cTipSerijske char(1)

set @cIdent = Left(@cText,14)
set @cTipSerijske = null
select @cTipSerijske = SERIALNO
  from IDENT
  where IDENT = @cIdent
if @cTipSerijske is null
  select 'F' as ISOK, 'Ni identa' as ERRMSG, '' as IDENT,0 as KOLICINA,'' as SERIALNO
else
  if @cTipSerijske = 'P' then
     select 'T' as ISOK, '' as ERRMSG, @cIdent as IDENT,0 as KOLICINA,Right(@cText,7)  as SERIALNO
  else
    select 'T' as ISOK, '' as ERRMSG, @cText as IDENT,0 as KOLICINA,'' as SERIALNO 

 


  

     


Oceni ovu temu
Da li je ova tema korisna?
Komentari
Komentari će biti vidljivi i na forumu!