PANTHEON™ Help

 Kategori
 Ndihma PANTHEON - Mirë se erdhët
[Collapse]PANTHEON
 [Collapse]Udhëzues për PANTHEON
  [Expand]Udhëzues për PANTHEON
  [Expand]Udhëzues për PANTHEON Retail
  [Expand]Udhëzues për PANTHEON Vet
  [Expand]Udhëzues për PANTHEON Bujqësi
 [Collapse]Manualet e Përdoruesve për PANTHEON
  [Expand]Manuali i Përdoruesit për PANTHEON
  [Expand]Manuali i Përdoruesit për PANTHEON Retail
  [Expand]Manuali i përdoruesit për PANTHEON Vet
  [Expand]Manuali i Përdoruesit për PANTHEON Bujqësi
[Collapse]PANTHEON Web
 [Collapse]Udhëzues për PANTHEON Web
  [Expand]Udhëzues për PANTHEON Web Light
  [Expand]Udhëzues për PANTHEON Web Terminal
  [Expand]Udhëzues për PANTHEON Web Ligjor
 [Collapse]Manualet e Përdoruesit për PANTHEON Web
  [Expand]Fillimi PANTHEON Web
  [Expand]Manuali i Përdoruesit për PANTHEON Web Light
  [Expand]Manuali i Përdoruesit për Terminalin Web PANTHEON
  [Expand]Manuali i Përdoruesit për PANTHEON Web Legal
[Collapse]PANTHEON Granulat
 [Collapse]Udhëzues për Granulat PANTHEON
  [Expand]Granula Kadri
  [Expand]Granula Urdhrave të Udhëtimit
  [Expand]Granula Dokumenti
  [Expand]Dashboard Granule
  [Expand]Porositë B2B Granule
  [Expand]Shërbimi në Terren Granul
  [Expand]Granula Inventura e Aktiveve të Fiksuara
  [Expand]Granula Inventura Magazinës
 [Collapse]Manualet e Përdoruesit për Granulat PANTHEON
  [Expand]Fillimi
  [Expand]Granula e Personelit
  [Expand]Urdhërat e Udhëtimit Granule
  [Expand]Granula Dokumenti
  [Expand]Porositë B2B Granule
  [Expand]Dashboard Granule
  [Expand]Shërbimi në Terren Granul
  [Expand]Inventari i Aseteve të Paluajtshme
  [Expand]Inventari i Magazinës Granule
[Expand]Faqja e Përdoruesit

Load Time: 578,1213 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!