PANTHEON™ Help

 Toc
 PANTHEON Help - Welcome
[Collapse]PANTHEON
 [Collapse]Guides for PANTHEON
  [Expand]Guide for PANTHEON
  [Expand]Guide for PANTHEON Retail
  [Expand]Guide for PANTHEON Vet
  [Expand]Guide for PANTHEON Farming
 [Collapse]User Manuals for PANTHEON
  [Expand]User Manual for PANTHEON
  [Expand]User Manual for PANTHEON Retail
  [Expand]User manual for PANTHEON Vet
  [Expand]User Manual for PANTHEON Farming
[Collapse]PANTHEON Web
 [Collapse]Guides for PANTHEON Web
  [Expand]Guide for PANTHEON Web Light
  [Expand]Guide for PANTHEON Web Terminal
  [Expand]Guide for PANTHEON Web Legal
 [Collapse]User Manuals for PANTHEON Web
  [Expand]Getting started PANTHEON Web
  [Expand]User Manual for PANTHEON Web Light
  [Expand]User Manual for PANTHEON Web Terminal
  [Expand]User Manual for PANTHEON Web Legal
[Collapse]PANTHEON Granules
 [Collapse]Guides for PANTHEON Granules
  [Expand]Personnel Granule
  [Expand]Travel Orders Granule
  [Expand]Documents and Tasks Granule
  [Expand]Dashboard Granule
  [Expand]B2B Orders Granule
  [Expand]Field Service Granule
  [Expand]Fixed Assets Inventory Granule
  [Expand]Warehouse Inventory Granule
 [Collapse]User Manuals for PANTHEON Granules
  [Expand]Getting started
  [Expand]Personnel Granule
  [Expand]Travel Orders Granule
  [Expand]Documents and Tasks Granule
  [Expand]B2B Orders Granule
  [Expand]Dashboard Granule
  [Expand]Field Service Granule
  [Expand]Fixed Assets Inventory Granule
  [Expand]Warehouse Inventory Granule
[Expand]User Site

Load Time: 593.7629 ms
"
  6613 | 1 | |
Label


Napredni način vnašanja kod

010379.gif010380.gif010381.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 

 


  

     


Rate this topic
Was this topic usefull?
Comments
Comment will also bo visible in forum!