Mediu: LINUX-WP
Statia cu legatura fizica la casa de marcat: STATION=00
Statia secundara: STATION=01
Exemplul trateaza problema in cazul unei case da marcat cu driver DATPRINT, dar principiul poate fi folosit si la alte drivere. Presupunem driverul instalat pe statia 00, in C:\DATPRINT, folder in care se depune si imaginea bonului.
Logica functionarii
Validarea TBON se modifica, permitand validarea de la ambele statii:
Code: Select all
#DACA ! (GETENV("STATION")=="00" .OR. GETENV("STATION")=="01") .and. !(xF_Jrn="MVR")
# h_MesErr("Aici nu se poate valida !",0)
#ABANDON
Code: Select all
# h_MEMOWRIT(h_AddPath("CASHFILE.INP",h_FilePathes[fil_tmp]),xF_8)
Code: Select all
# h_MEMOWRIT(h_AddPath("ECR.CMD", h_FilePathes[fil_scat]), "[RUN]"+CHR(13)+CHR(10)+ "MODE=/MAX"+CHR(13)+CHR(10)+ "DIRECTORY=C:\HSTART"+CHR(13)+CHR(10)+ "EXE=PRNBON.BAT"+CHR(13)+CHR(10)+ "PARAMETERS="+CHR(13)+CHR(10))
Continutul fisierului C:\HSTART\PRNBON.BAT pe statia 00:
Code: Select all
echo off
copy u:\rw\tmp\cashfile.inp c:\datprint\cashfil0.inp > nul
del u:\rw\tmp\cashfile.inp > nul
cd c:\datprint > nul
datprint.exe 4800 COM1 cashfil0.inp
Continutul fisierului C:\HSTART\PRNBON.BAT pe statia 01:
Code: Select all
echo off
copy u:\rw\tmp\cashfile.inp s:\rw\ecr\bon\ > nul
del u:\rw\tmp\cashfile.inp > nul
copy ecrstart.cmd s:\rw\ecr\ >nul
Continutul fisierului C:\HSTART\ECRSTART.CMD pe statia 01:
Code: Select all
[RUN]
MODE=/MAX
DIRECTORY=C:\HSTART
EXE=PRNBON1.BAT
PARAMETERS=
Code: Select all
start hwtools.exe @hwtools.scr /S /P:HIGH
Code: Select all
U:\RW\SPOOL\*.*
S:\RW\ECR\*.CMD
Deci pe statia 00 se lanseaza din C:\HSTART batchul prnbon1.bat. Continutul lui este:
Code: Select all
echo off
copy s:\rw\ecr\bon\cashfile.inp c:\datprint\cashfil1.inp > nul
del s:\rw\ecr\bon\cashfile.inp > nul
cd c:\datprint > nul
datprint.exe 4800 COM1 cashfil1.inp
In implementarea acestei solutii am primit ajutor de la colegii Tókos Lajos, Illyés Mózes, Sántha Lóránt si Zsigmond László, carora le multumesc si pe aceasta cale.