Jump to content
Fivewin Brasil

ECF com impressora ELGIN (resolvido)


jhilbert

Recommended Posts

Olá Galera.

O Tião (TiaoFW) já fez as declarações da Elgin e também da Sweda. Evidentemente que ele fez para quem usa o ALX_ECF. Mas de qualquer forma as declarações serve pra todos. Segue:

if _bematech

xdll:=LOADLIB32("BEMAFI32.DLL")

elseif _schalter

xdll:=LOADLIB32("DLL32PHI.DLL")

elseif _daruma

xdll:=LOADLIB32("DARUMA32.DLL")

elseif _sweda

xdll:=LOADLIB32("CONVECF.DLL")

elseif _elgin

xdll:=LOADLIB32("ELGIN.DLL")

endif

if _sweda

if !file(winsysdir+'\CONVECF.DLL')

erro('Falta a DLL CONVECF.DLL no diretório '+winsysdir)

retorno = .f.

endif

if !file(winsysdir+'\CONVERSOR.DLL')

erro('Falta a DLL CONVERSOR.DLL no diretório '+winsysdir)

retorno = .f.

endif

if !file(winsysdir+'\SWMFD-CONNECTC5.DLL')

erro('Falta a DLL SWMFD-CONNECTC5.DLL no diretório '+winsysdir)

retorno = .f.

endif

if retorno

CursorWait()

ecfAbrePorta()

ecfRegistry()

ecfjanelas("0", "0")

ecfporta("COM"+str(v_porta,1))

ecfStatus("0")

ecfStatusFuncao("0")

ecfRetorno_reg("0")

ecfControle("1")

ecfSpace("05")

CursorArrow()

endif

endif

if _elgin

if !file(winsysdir+'\ELGIN.DLL')

erro('Falta a DLL ELGIN.DLL no diretório '+winsysdir)

retorno = .f.

endif

if retorno

// E_Registry()

// E_janelas("0", "0")

//E_porta("COM"+str(v_porta,1))

E_Status("0")

E_StatusFuncao("0")

E_Retorno_reg("0")

E_Controle("1")

E_Space("05")

CursorArrow()

endif

endif

*******************

Function quitar()

*******************

var_saida = .t.

if _sweda

ecfFechaPorta()

elseif _elgin

E_FechaPorta()

endif

freelibrary(xdll)

freelibrary(hLib)

*fechaporta()

oecf1:end()

resallfree()

return NIL

*********************

Function sai_ECF

*********************

local retorno := .f.

if continua('Deseja Realmente Sair do SALC?','Saída')

if _sweda

ecfFechaPorta()

freelibrary(xdll)

elseif _elgin

E_FechaPorta()

freelibrary(xdll)

endif

var_saida = .t.

freelibrary(hLib)

oECF1:end()

retorno = .t.

endif

return retorno

// Sweda // inicio em 19/10/2007

if _sweda

//RETORNA NÚMERO DO CAIXA

IF nCmd = 1

uBuf := Space(nLen)

nRet := ecfNumeroCx(@uBuf)

//IDENTIFICA ARREDONDAMENTO OU TRUNCAMENTO

ELSEIF nCmd = 2

uBuf := " "

nRet := ecfVerArred(@uBuf)

uBuf := If(uBuf="1",.F.,.T.)

//LER DATA DO MOVTO

ELSEIF nCmd = 3

uBuf := Space(6)

nRet := ecfDtMovto(@uBuf)

uBuf := Ctod(Trans(uBuf,"@R 99/99/99"))

//RETORNA FLAG FISCAL

ELSEIF nCmd = 4

uBuf := 0

nRet := ecfFlagFisc(@uBuf)

//RETORNA SUBTOTAL DO CUPOM

ELSEIF nCmd = 5

uBuf := Space(14)

nRet := ecfSubTotal(@uBuf)

uBuf := Val(uBuf)/100

//RETORNA DATA E HORA DA IMPRESSORA

ELSEIF nCmd = 6

uBuf := Space(6)

uRet := Space(6)

nRet := ecfDtHora(@uBuf,@uRet)

uRet := Trans(uRet,"@R 99:99:99")

uBuf := Ctod( Trans(uBuf,"@R 99/99/99") )

//ABRE O CAIXA C/ FUNDO DE TROCO COMO SUPRIMENTO

ELSEIF nCmd = 7

nRet := ecfAbreDia( uPar )

grvcmdfis(28)

//ABRE O CUPOM FISCAL

ELSEIF nCmd = 8

cCgc := Space(14)

nRet := ecfAbreCup(cCgc)

grvcmdfis(28)

//MONITORAMENTO DO PAPEL

ELSEIF nCmd = 9

uBuf := 0

nRet := ecfVerPapel( @uBuf )

//VERIFICA SE TEM IMPRESSORA LIGADA

ELSEIF nCmd = 10

IF ( nRet := ecfPrintLig() ) = 1

RETURN .T.

ELSE

RETURN .F.

ENDIF

//VENDE ITEM NA IMPRESSORA

ELSEIF nCmd = 11

nRet := ecfVendItem(uPar[1],uPar[2],uPar[3],uPar[4],uPar[5],uPar[6],uPar[7],uParicon_smile_8ball.gif,uPar[9])

grvcmdfis(28)

//CANCELA CUPOM

ELSEIF nCmd = 12

nRet := ecfCanCupom()

grvcmdfis(28)

//FECHA CUPOM

ELSEIF nCmd = 13

ecfIniFechamento(upar[2],upar[3],upar[4])

if ventra <> 0 .and. vtot_tef <> 0

// ecfFormaPagto(vnometeste,strtran(alltrim(str(ventra*100,14)),".",","))

// ecfFormaPagto(vnometeste,strtran(alltrim(str(vrecebido*100,14)),".",","))

ecfFormaPagto(upar[1],strtran(alltrim(str(vtot_tef*100,14)),".",","))

sysrefresh()

ecfFormaPagto(vnometeste,strtran(alltrim(str(vrecebido*100,14)),".",","))

sysrefresh()

elseif ventra <> 0

ecfFormaPagto(upar[1],strtran(alltrim(str(vrecebido*100,14)),".",","))

sysrefresh()

elseif vtot_tef <> 0

ecfFormaPagto(upar[1],strtran(alltrim(str(vtot_tef*100,14)),".",","))

sysrefresh()

endif

nret := ecfTerminaFechamento(upar[6])

sysrefresh()

//RETORNA NUMERO DO CUPOM

ELSEIF nCmd = 14

uBuf := Space(6)

nRet := ecfNumCupom(@uBuf)

//CANCELA ITEM GENERICO DO CUPOM

ELSEIF nCmd = 15

nRet := ecfCancItem(upar)

grvcmdfis(28)

//EMITE LEITURA X

ELSEIF nCmd = 16

nRet := ecfLeituraX()

grvcmdfis(28)

//EMITE REDUÇÃO Z

ELSEIF nCmd = 17

nRet := ecfReducaoZ(uPar[1],uPar[2])

grvcmdfis(28)

//ABRE GAVETA

ELSEIF nCmd = 18

uBuf := 0

nRet := ecfAbreGav()

//LEITURA DA MEMÓRIA FISCAL POR REDUÇÃO

ELSEIF nCmd = 19

nRet := ecfMemRedu( uPar[1],uPar[2] )

grvcmdfis(28)

//LEITURA DA MEMÓRIA FISCAL POR DATA

ELSEIF nCmd = 20

nRet := ecfMemData( uPar[1],uPar[2] )

grvcmdfis(28)

//ABRE CUPOM NÃO FISCAL

ELSEIF nCmd = 21

lmens := .f.

* nRet := ecfCupAdAbr(left(vconvenio,16),strzero(vtot_tef*100,14),vdocum)

nRet := ecfCupAdAbr(left(vnomeimp,16),'','')

* grvcmdfis(28)

//USA CUPOM NÃO FISCAL

ELSEIF nCmd = 22

lmens := .f.

nRet := ecfCupAdUsa( uPar )

* grvcmdfis(28)

//FECHA CUPOM NÃO FISCAL

ELSEIF nCmd = 23

lmens := .f.

nRet := ecfCupAdFec( )

* grvcmdfis(28)

//ABRE RELATÓRIO GERENCIAL

ELSEIF nCmd = 24

lmens := .f.

nRet := ecfCpGerAbr( uPar )

* grvcmdfis(28)

//FECHA RELAT GERENCIAL

ELSEIF nCmd = 25

lmens := .f.

nRet := ecfCpGerFec( )

* grvcmdfis(28)

//ATIVA ARREDONDAMENTO

ELSEIF nCmd = 26

nRet := ecfLigArred()

// Dados da Ultima redução

ELSEIF nCmd = 27

uBuf := Space(631)

nRet := ecfDadUlt(@uBuf)

// Retorno da Impressora

ELSEIF ncmd = 28

uBuf1_status := 0

ubuf2_status := 0

ubuf3_status := 0

nRet := ecfretorno(@uBuf1_status, @ubuf2_status, @ubuf3_status)

decodifica_retorno( ubuf1_status, ubuf2_status, ubuf3_status)

// Retorna o Número de Série da Impressora

ELSEIF nCmd = 29

uBuf := Space(20)

// uBuf := Space(20)

nRet := ecfNumSerie(@uBuf)

// Retorna o Número de Reduções

ELSEIF nCmd = 30

uBuf := Space(04)

nRet := ecfNumRedu(@uBuf)

// Verifica vinculo de Iss

ELSEIF nCmd = 31

uBuf := Space(79)

nRet := ecfVerIss(@uBuf)

// Retorna o Ultimo item vendido

ELSEIF nCmd = 32

uBuf := Space(04)

nRet := ecfUltItem(@uBuf)

//Verifica o Estado da Gaveta

ELSEIF nCmd = 33

uBuf := 0

nRet := ecfStGaveta( @uBuf )

//Suprimento

ELSEIF nCmd = 34

nRet := ecfSupri( uPar, "Dinheiro" )

grvcmdfis(28)

//Sangria

ELSEIF nCmd = 35

nRet := ecfSangria( uPar )

grvcmdfis(28)

Elseif ncmd = 36

ubuf := space(79)

nRet := ecfAliquotas(@ubuf)

Elseif ncmd = 38

nRet := ecfProgAli( uPar[1], upar[2] )

//grvcmdfis(28)

Elseif ncmd = 40

ubuf := space(2)

nRet := ecfZpendente(@ubuf)

if nRet == 1

CursorArrow()

if val(Ubuf) == 0

RETURN .T.

else

RETURN .F.

endif

endif

Elseif ncmd = 41

ubuf := 0

nRet := ecfStatNaoFis(@ubuf)

ENDIF

IF lMens

IF nRet = 0

Erro("Erro de comunicação com a impressora !","Atenção")

ELSEIF nRet = -2

erro("Parâmetro inválido para comando "+Str(nCmd,2)+" !","Atenção")

ELSEIF nRet = -3

nao_continuar := .t.

erro("Aliquota não programada !","Atenção")

ELSEIF nRet = -4

erro("A chave ou Valor no Arquivo Registry não Foi Encontrada")

ELSEIF nRet = -5

erro("Erro ao abrir a porta de comunicação !","Atenção")

ELSEIF nRet = -8

erro("Erro ao criar ou gravar no arquivo status.txt ou retorno.txt !","Atenção")

ENDIF

ENDIF

CursorArrow()

IF nRet = 1

IF cVar1 # NIL

cVar1 := uBuf

ENDIF

IF cVar2 # NIL

cVar2 := uRet

ENDIF

RETURN .T.

ENDIF

endif // Fim da Sweda

// ELGIN // inicio em 29/10/2007

if _elgin

//RETORNA NÚMERO DO CAIXA

IF nCmd = 1

uBuf := Space(nLen)

nRet := E_NumeroCx(@uBuf)

//IDENTIFICA ARREDONDAMENTO OU TRUNCAMENTO

ELSEIF nCmd = 2

uBuf := " "

nRet := E_VerArred(@uBuf)

uBuf := If(uBuf="1",.F.,.T.)

//LER DATA DO MOVTO

ELSEIF nCmd = 3

uBuf := Space(6)

nRet := E_DtMovto(@uBuf)

uBuf := Ctod(Trans(uBuf,"@R 99/99/99"))

//RETORNA FLAG FISCAL

ELSEIF nCmd = 4

uBuf := 0

nRet := E_FlagFisc(@uBuf)

//RETORNA SUBTOTAL DO CUPOM

ELSEIF nCmd = 5

uBuf := Space(14)

nRet := E_SubTotal(@uBuf)

uBuf := Val(uBuf)/100

//RETORNA DATA E HORA DA IMPRESSORA

ELSEIF nCmd = 6

uBuf := Space(6)

uRet := Space(6)

nRet := E_DtHora(@uBuf,@uRet)

uRet := Trans(uRet,"@R 99:99:99")

uBuf := Ctod( Trans(uBuf,"@R 99/99/99") )

//ABRE O CAIXA C/ FUNDO DE TROCO COMO SUPRIMENTO

ELSEIF nCmd = 7

nRet := E_AbreDia( uPar )

grvcmdfis(28)

//ABRE O CUPOM FISCAL

ELSEIF nCmd = 8

cCgc := Space(14)

nRet := E_AbreCup(cCgc)

grvcmdfis(28)

//MONITORAMENTO DO PAPEL

ELSEIF nCmd = 9

uBuf := 0

nRet := E_VerPapel( @uBuf )

//VERIFICA SE TEM IMPRESSORA LIGADA

ELSEIF nCmd = 10

IF ( nRet := E_PrintLig() ) = 1

RETURN .T.

ELSE

RETURN .F.

ENDIF

//VENDE ITEM NA IMPRESSORA

ELSEIF nCmd = 11

//nRet := E_VendItem(uPar[1],uPar[2],uPar[3],uPar[4],uPar[5],uPar[6],uPar[7],uParicon_smile_8ball.gif,uPar[9])

nRet := E_VendItem(uPar[1],uPar[2],uPar[3],uPar[4],uPar[5],uPar[6],uPar[7],uParicon_smile_8ball.gif,uPar[9])

grvcmdfis(28,,,,,,nCmd)

//CANCELA CUPOM

ELSEIF nCmd = 12

nRet := E_CanCupom()

grvcmdfis(28)

//FECHA CUPOM

ELSEIF nCmd = 13

E_IniFechamento(upar[2],upar[3],upar[4])

if ventra <> 0 .and. vtot_tef <> 0

// E_FormaPagto(vnometeste,strtran(alltrim(str(ventra*100,14)),".",","))

// E_FormaPagto(vnometeste,strtran(alltrim(str(vrecebido*100,14)),".",","))

E_FormaPagto(alltrim(upar[1]),strtran(alltrim(str(vtot_tef*100,14)),".",","))

sysrefresh()

E_FormaPagto(vnometeste,strtran(alltrim(str(vrecebido*100,14)),".",","))

sysrefresh()

elseif ventra <> 0

E_FormaPagto(alltrim(upar[1]),strtran(alltrim(str(vrecebido*100,14)),".",","))

sysrefresh()

elseif vtot_tef <> 0

E_FormaPagto(alltrim(upar[1]),strtran(alltrim(str(vtot_tef*100,14)),".",","))

sysrefresh()

endif

nret := E_TerminaFechamento(upar[6])

sysrefresh()

//RETORNA NUMERO DO CUPOM

ELSEIF nCmd = 14

uBuf := Space(6)

nRet := E_NumCupom(@uBuf)

//CANCELA ITEM GENERICO DO CUPOM

ELSEIF nCmd = 15

nRet := E_CancItem(upar)

grvcmdfis(28)

//EMITE LEITURA X

ELSEIF nCmd = 16

nRet := E_LeituraX()

grvcmdfis(28)

//EMITE REDUÇÃO Z

ELSEIF nCmd = 17

nRet := E_ReducaoZ(uPar[1],uPar[2])

grvcmdfis(28)

//ABRE GAVETA

ELSEIF nCmd = 18

uBuf := 0

nRet := E_AbreGav()

//LEITURA DA MEMÓRIA FISCAL POR REDUÇÃO

ELSEIF nCmd = 19

nRet := E_MemRedu( uPar[1],uPar[2] )

grvcmdfis(28)

//LEITURA DA MEMÓRIA FISCAL POR DATA

ELSEIF nCmd = 20

nRet := E_MemData( uPar[1],uPar[2] )

grvcmdfis(28)

//ABRE CUPOM NÃO FISCAL

ELSEIF nCmd = 21

lmens := .f.

* nRet := E_CupAdAbr(left(vconvenio,16),strzero(vtot_tef*100,14),vdocum)

nRet := E_CupAdAbr(alltrim(left(vnomeimp,16)),strtran(alltrim(str(vtot_tef*100,13)),".",","),'')

* grvcmdfis(28)

//USA CUPOM NÃO FISCAL

ELSEIF nCmd = 22

lmens := .f.

nRet := E_CupAdUsa( uPar )

* grvcmdfis(28)

//FECHA CUPOM NÃO FISCAL

ELSEIF nCmd = 23

lmens := .f.

nRet := E_CupAdFec( )

* grvcmdfis(28)

//ABRE RELATÓRIO GERENCIAL

ELSEIF nCmd = 24

lmens := .f.

nRet := E_CpGerAbr( uPar )

* grvcmdfis(28)

//FECHA RELAT GERENCIAL

ELSEIF nCmd = 25

lmens := .f.

nRet := E_CpGerFec( )

* grvcmdfis(28)

//ATIVA ARREDONDAMENTO

ELSEIF nCmd = 26

nRet := E_LigArred()

// Dados da Ultima redução

ELSEIF nCmd = 27

uBuf := Space(631)

nRet := E_DadUlt(@uBuf)

// Retorno da Impressora

ELSEIF ncmd = 28

uBuf1_status := 0

ubuf2_status := 0

ubuf3_status := 0

nRet := E_retorno(@uBuf1_status, @ubuf2_status, @ubuf3_status)

decodifica_retorno( ubuf1_status, ubuf2_status, ubuf3_status, nCmdCham)

// Retorna o Número de Série da Impressora

ELSEIF nCmd = 29

uBuf := Space(20)

// uBuf := Space(20)

nRet := E_NumSerie(@uBuf)

// Retorna o Número de Reduções

ELSEIF nCmd = 30

uBuf := Space(04)

nRet := E_NumRedu(@uBuf)

// Verifica vinculo de Iss

ELSEIF nCmd = 31

uBuf := Space(79)

nRet := E_VerIss(@uBuf)

// Retorna o Ultimo item vendido

ELSEIF nCmd = 32

uBuf := Space(04)

nRet := E_UltItem(@uBuf)

//Verifica o Estado da Gaveta

ELSEIF nCmd = 33

uBuf := 0

nRet := E_StGaveta( @uBuf )

//Suprimento

ELSEIF nCmd = 34

nRet := E_Supri( uPar, "Dinheiro" )

grvcmdfis(28)

//Sangria

ELSEIF nCmd = 35

nRet := E_Sangria( uPar )

grvcmdfis(28)

Elseif ncmd = 36

ubuf := space(79)

nRet := E_Aliquotas(@ubuf)

Elseif ncmd = 38

nRet := E_ProgAli( uPar[1], upar[2] )

//grvcmdfis(28)

Elseif ncmd = 40

ubuf := 0

nRet := E_Zpendente(@ubuf)

if nRet == 1

CursorArrow()

if Ubuf == 0

RETURN .T.

else

RETURN .F.

endif

endif

Elseif ncmd = 41

ubuf := 0

nRet := E_StatNaoFis(@ubuf)

ENDIF

IF lMens

IF nRet = 0

Erro("Erro de comunicação com a impressora !","Atenção")

ELSEIF nRet = -2

erro("Parâmetro inválido para comando "+Str(nCmd,2)+" !","Atenção")

ELSEIF nRet = -3

nao_continuar := .t.

erro("Aliquota não programada !","Atenção")

ELSEIF nRet = -4

erro("A chave ou Valor no Arquivo Registry não Foi Encontrada")

ELSEIF nRet = -5

erro("Erro ao abrir a porta de comunicação !","Atenção")

ELSEIF nRet = -8

erro("Erro ao criar ou gravar no arquivo status.txt ou retorno.txt !","Atenção")

ENDIF

ENDIF

CursorArrow()

IF nRet = 1

IF cVar1 # NIL

cVar1 := uBuf

ENDIF

IF cVar2 # NIL

cVar2 := uRet

ENDIF

RETURN .T.

ENDIF

endif // Fim da Elgin

*** SWEDA MATRICIAL E MFD // 19/10/2007

//Ler total do cupom

DLL32 FUNCTION ecfSubTotal( SubTotal AS LPSTR ) AS LONG PASCAL ;

FROM "ECF_SubTotal" LIB xDll

//Ler número do caixa

DLL32 FUNCTION ecfNumeroCx( NumeroCaixa AS LPSTR ) AS LONG PASCAL ;

FROM "ECF_NumeroCaixa" LIB xDll

//Ler configuração arredondamento/truncamento

DLL32 FUNCTION ecfVerArred( Arredonda AS LPSTR ) AS LONG PASCAL ;

FROM "ECF_VerificaTruncamento" LIB xDll

//Ativa arredondamento

DLL32 FUNCTION ecfLigArred( ) AS LONG PASCAL ;

FROM "ECF_ProgramaArredondamento" LIB xDll

//Ler data do movimento

DLL32 FUNCTION ecfDtMovto ( DtMovto AS LPSTR ) AS LONG PASCAL ;

FROM "ECF_DataMovimento" LIB xDll

//Ler flag fiscal da impressora

DLL32 FUNCTION ecfFlagFisc( @FlagFiscal AS PTR ) AS LONG PASCAL ;

FROM "ECF_FlagsFiscais" LIB xDll

//Emite leitura X

DLL32 FUNCTION ecfLeituraX( ) AS LONG PASCAL ;

FROM "ECF_LeituraX" LIB xDll

//Emite redução Z

DLL32 FUNCTION ecfReducaoZ( Dt AS LPSTR, Hs AS LPSTR ) AS LONG PASCAL ;

FROM "ECF_ReducaoZ" LIB xDll

//Ler data e hora da impressora

DLL32 FUNCTION ecfDtHora ( Dt AS LPSTR, Hs AS LPSTR ) AS LONG PASCAL ;

FROM "ECF_DataHoraImpressora" LIB xDll

//Faz abertura do dia

DLL32 FUNCTION ecfAbreDia ( Vl AS LPSTR, Fr AS LPSTR ) AS LONG PASCAL ;

FROM "ECF_AberturaDoDia" LIB xDll

//Abre cupom fiscal

DLL32 FUNCTION ecfAbreCup ( Cgc AS LPSTR ) AS LONG PASCAL ;

FROM "ECF_AbreCupom" LIB xDll

//Verifica se tem papel

DLL32 FUNCTION ecfVerPapel( @Linhas AS PTR ) AS LONG PASCAL ;

FROM "ECF_MonitoramentoPapel" LIB xDll

//Verifica se tem impressora ligada

DLL32 FUNCTION ecfPrintLig( ) AS LONG PASCAL ;

FROM "ECF_VerificaImpressoraLigada" LIB xDll

DLL32 FUNCTION ecfHoraVerao( ) AS LONG PASCAL ;

FROM "ECF_ProgramaHorarioVerao" LIB xDll

//Cancela cupom fiscal

DLL32 FUNCTION ecfCanCupom( ) AS LONG PASCAL ;

FROM "ECF_CancelaCupom" LIB xDll

//Suprimento de Caixa

DLL32 FUNCTION ecfSupri(vrsupri AS LPSTR, fpagam AS LPSTR ) AS LONG PASCAL ;

FROM "ECF_Suprimento" LIB xDll

//Suprimento de Caixa

DLL32 FUNCTION ecfSangria(vrsangria AS LPSTR ) AS LONG PASCAL ;

FROM "ECF_Sangria" LIB xDll

//Cancela ítem Genérico do cupom

DLL32 FUNCTION ecfCancItem(item AS LPSTR ) AS LONG PASCAL ;

FROM "ECF_CancelaItemGenerico" LIB xDll

//Abre a gaveta

DLL32 FUNCTION ecfAbreGav ( ) AS LONG PASCAL ;

FROM "ECF_AcionaGaveta" LIB xDll

//Ler número do cupom

DLL32 FUNCTION ecfNumCupom( Cupom AS LPSTR ) AS LONG PASCAL ;

FROM "ECF_NumeroCupom" LIB xDll

//Emite leitura da memória fiscal por data

DLL32 FUNCTION ecfMemData ( In AS LPSTR, Fi AS LPSTR ) AS LONG PASCAL ;

FROM "ECF_LeituraMemoriaFiscalData" LIB xDll

//Emite leitura da memória fiscal por Redução

DLL32 FUNCTION ecfMemRedu ( In AS LPSTR, Fi AS LPSTR ) AS LONG PASCAL ;

FROM "ECF_LeituraMemoriaFiscalReducao" LIB xDll

//Emite cupom gerencial

DLL32 FUNCTION ecfCpGerAbr( Texto AS STRING ) AS LONG PASCAL ;

FROM "ECF_RelatorioGerencial" LIB xDll

//Fecha cupom gerencial

DLL32 FUNCTION ecfCpGerFec( ) AS LONG PASCAL ;

FROM "ECF_FechaRelatorioGerencial" LIB xDll

//Verifica status da gaveta

DLL32 FUNCTION ecfStGaveta( @nStatus AS PTR ) AS LONG PASCAL ;

FROM "ECF_VerificaEstadoGaveta" LIB xDll

// Verifica se ha redução Z pendente

DLL32 FUNCTION ecfZpendente( Zpend AS STRING ) AS LONG PASCAL ; // Acrescentado em 07/04/2006 por tiao

FROM "ECF_VerificaZPendente" LIB xDll

// Verifica Status comprovante não fiscal vinculado

DLL32 FUNCTION ecfStatNaoFis( @nStatus AS PTR ) AS LONG PASCAL ; // Acrescentado em 16/05/2006 por tiao

FROM "ECF_StatusComprovanteNaoFiscalVinculado" LIB xDll

//Abre cupom adicional não fiscal vinculado

DLL32 FUNCTION ecfCupAdAbr( FormaPgto AS STRING,;

Valor AS STRING,;

Cupom AS STRING ) AS LONG PASCAL ;

FROM "ECF_AbreComprovanteNaoFiscalVinculado" LIB xDll

//Imprime cupom não fiscal vinculado

DLL32 FUNCTION ecfCupAdUsa( Texto AS STRING ) AS LONG PASCAL ;

FROM "ECF_UsaComprovanteNaoFiscalVinculado" LIB xDll

// Dados da Ultima Redução

DLL32 FUNCTION ecfDadult( dados AS STRING ) AS LONG PASCAL ;

FROM "ECF_DadosUltimaReducao" LIB xDll

// Retorno da Impressora

DLL32 FUNCTION ecfRetorno( @varack AS PTR, @varst1 AS PTR, @varst2 AS PTR) AS LONG PASCAL ;

FROM "ECF_RetornoImpressora" LIB xDll

// Status da Impressora

DLL32 FUNCTION ecfEstadoImp( @varack AS PTR, @varst1 AS PTR, @varst2 AS PTR) AS LONG PASCAL ;

FROM "ECF_VerificaEstadoImpressora" LIB xDll

//Ler número de Série da Impressora

DLL32 FUNCTION ecfNumSerie( serie AS LPSTR ) AS LONG PASCAL ;

FROM "ECF_NumeroSerie" LIB xDll

//Ler Ultimo Item vendido

DLL32 FUNCTION ecfUltItem( uitem AS LPSTR ) AS LONG PASCAL ;

FROM "ECF_UltimoItemVendido" LIB xDll

//Ler número de Reduções da Impressora

DLL32 FUNCTION ecfNumRedu( nredu AS LPSTR ) AS LONG PASCAL ;

FROM "ECF_NumeroReducoes" LIB xDll

//Ler status de vinculo ao ISS

DLL32 FUNCTION ecfVerIss( cvinciss AS STRING ) AS LONG PASCAL ;

FROM "ECF_VerificaAliquotasIss" LIB xDll

//Configura espaçamento entre documentos

DLL32 FUNCTION ecfSpace( cspace AS STRING ) AS LONG PASCAL ;

FROM "ECF_CfgEspacamentoCupons" LIB xDll

//Ler status das Aliquotas de ICMS

DLL32 FUNCTION ecfAliquotas( caliquotas AS STRING ) AS LONG PASCAL ;

FROM "ECF_RetornoAliquotas" LIB xDll

//Ler Status das Formas de Pagamento

DLL32 FUNCTION ecfformas( cforma AS STRING ) AS LONG PASCAL ;

FROM "ECF_VerificaDescricaoFormasPagamento" LIB xDll

//Fecha cupom não fiscal

DLL32 FUNCTION ecfCupAdFec( ) AS LONG PASCAL ;

FROM "ECF_FechaComprovanteNaoFiscalVinculado" LIB xDll

//Vende ítem

DLL32 FUNCTION ecfVendItem( Codigo AS STRING,;

Descricao AS STRING,;

Aliquota AS STRING,;

TpQte AS STRING,;

Quantid AS STRING,;

Decimal AS 7 ,;

ValUnit AS STRING,;

TpDesc AS STRING,;

ValDesc AS STRING ) AS LONG PASCAL ;

FROM "ECF_VendeItem" LIB xDll

/*DLL32 FUNCTION ecfVendItem( Codigo AS STRING,; // vende item departamento

Descricao AS STRING,;

Aliquota AS STRING,;

ValUnit AS STRING,;

Quantid AS STRING,;

ValDesc AS STRING,;

ValAcresc AS STRING,;

IndDepto AS STRING,;

UnidMedo AS STRING ) AS LONG PASCAL ;

FROM "ECF_VendeItemDepartamento" LIB xDll

/* 1. Código: STRING até 49 caracteres com o código do produto.

2. Descrição: STRING até 201 caracteres com a descrição do produto.

3. Alíquota: STRING com o valor ou o índice da alíquota tributária. Se for o valor deve ser informado com o tamanho de 4 caracteres ou 5 com a vírgula. Se for o índice da alíquota deve ser 2 caracteres. Ex. (18,00 para o valor ou 05 para o índice)

4. Valor Unitário: STRING com até 9 dígitos para o valor (tres casas decimais).

5. Quantidade: STRING com até 7 dígitos para a quantidade. Na venda com departamento a quantidade é fracionária e são 3 casas decimais.

6. Desconto: STRING com o desconto por valor com até 10 dígitos (2 casas decimais).

7. Acréscimo: STRING com o acréscimo por valor com até 10 dígitos (2 casas decimais).

8. Indíce Departamento: STRING com o índice do departamento com 2 dígitos.

9. Unidade Medida: STRING com no máximo 2 caracteres para a unidade de medida. Caso não seja passado nenhum caracter a unidade não é impressa.

*/

//Inicia Fechamento do Cupom

DLL32 FUNCTION ecfIniFechamento(Acrescimo AS STRING,;

TipoAcresc AS STRING,;

ValorAcresc AS STRING ) AS LONG PASCAL ;

FROM "ECF_IniciaFechamentoCupom" LIB xDll

//Forma de Pagamento

DLL32 FUNCTION ecfFormaPagto( FormaPgto AS STRING,;

ValorPago AS STRING ) AS LONG PASCAL ;

FROM "ECF_EfetuaFormaPagamento" LIB xDll

//Termina Fechamento

DLL32 FUNCTION ecfTerminaFechamento(Mensagem AS STRING ) AS LONG PASCAL ;

FROM "ECF_TerminaFechamentoCupom" LIB xDll

//Fecha cupom

DLL32 FUNCTION ecfFechaCup( FormaPgto AS STRING,;

Acrescimo AS STRING,;

TipoAcresc AS STRING,;

ValorAcresc AS STRING,;

ValorPago AS STRING,;

Mensagem AS STRING ) AS LONG PASCAL ;

FROM "ECF_FechaCupom" LIB xDll

//Programa Forma de Pagamento

DLL32 FUNCTION ecfProgFormas( Forma AS STRING ) AS LONG PASCAL ;

FROM "ECF_ProgramaFormasPagamento" LIB xDll

//Porta de Comunicação

DLL32 FUNCTION ecfPorta( cporta AS STRING ) AS LONG PASCAL ;

FROM "ECF_Registry_Porta" LIB xDll

//Controle do Status

DLL32 FUNCTION ecfStatus( cstatus AS STRING ) AS LONG PASCAL ;

FROM "ECF_Registry_Status" LIB xDll

//Controle do Status da Função

DLL32 FUNCTION ecfStatusFuncao( cstatus AS STRING ) AS LONG PASCAL ;

FROM "ECF_Registry_StatusFuncao" LIB xDll

//Controle do Retorno

DLL32 FUNCTION ecfRetorno_reg( cretorno AS STRING ) AS LONG PASCAL ;

FROM "ECF_Registry_Retorno" LIB xDll

//Controle da Porta

DLL32 FUNCTION ecfControle( ccontrole AS STRING ) AS LONG PASCAL ;

FROM "ECF_Registry_ControlePorta" LIB xDll

// Nomeia Totalizador não fiscal

DLL32 FUNCTION ecfNomTot( Indice AS LONG, Nome AS STRING) AS LONG PASCAL ;

FROM "ECF_NomeiaTotalizadorNaoSujeitoIcms" LIB xDll

DLL32 FUNCTION ecfVerRecNf( Recebimento AS STRING ) AS LONG PASCAL ;

FROM "ECF_VerificaRecebimentoNaoFiscal" LIB xDll

DLL32 FUNCTION ecfModECF( ModeloECF AS LONG ) AS LONG PASCAL ;

FROM "ECF_VerificaModeloECF" LIB xDll

DLL32 FUNCTION ecfUnidMed( Unidade AS STRING ) AS LONG PASCAL ;

FROM "ECF_UsaUnidadeMedida" LIB xDll

DLL32 FUNCTION ecfProgAli( Aliquota AS STRING, Vinculo AS LONG ) AS LONG PASCAL ;

FROM "ECF_ProgramaAliquota" LIB xDll

//Ler Status das Formas de Pagamento

DLL32 FUNCTION ecfjanelas( cpapel AS STRING, cjanela AS STRING ) AS LONG PASCAL ;

FROM "ECF_LigaDesligaJanelas" LIB xDll

DLL32 FUNCTION ecfRegistry() AS LONG PASCAL ;

FROM "ECF_Registry" LIB xDll

DLL32 FUNCTION ecfAbrePorta( ) AS LONG PASCAL ;

FROM "ECF_AbrePortaSerial" LIB xDll

DLL32 FUNCTION ecfFechaPorta( ) AS LONG PASCAL ;

FROM "ECF_FechaPortaSerial" LIB xDll

//FIM SWEDA

*** ELGIN MFD // 29/10/2007

//Ler total do cupom

DLL32 FUNCTION E_SubTotal( SubTotal AS LPSTR ) AS LONG PASCAL ;

FROM "Elgin_SubTotal" LIB xDll

//Ler número do caixa

DLL32 FUNCTION E_NumeroCx( NumeroCaixa AS LPSTR ) AS LONG PASCAL ;

FROM "Elgin_NumeroCaixa" LIB xDll

//Ler configuração arredondamento/truncamento

DLL32 FUNCTION E_VerArred( Arredonda AS LPSTR ) AS LONG PASCAL ;

FROM "Elgin_VerificaTruncamento" LIB xDll

//Ativa arredondamento

DLL32 FUNCTION E_LigArred( ) AS LONG PASCAL ;

FROM "Elgin_ProgramaArredondamento" LIB xDll

//Ler data do movimento

DLL32 FUNCTION E_DtMovto ( DtMovto AS LPSTR ) AS LONG PASCAL ;

FROM "Elgin_DataMovimento" LIB xDll

//Ler flag fiscal da impressora

DLL32 FUNCTION E_FlagFisc( @FlagFiscal AS PTR ) AS LONG PASCAL ;

FROM "Elgin_FlagsFiscais" LIB xDll

//Emite leitura X

//DLL32 FUNCTION E_LeituraX() AS LONG PASCAL ;

//FROM "Elgin_LeituraX" LIB xDll

DLL32 FUNCTION E_LEITURAX() ;

AS LONG PASCAL FROM "Elgin_LeituraX" ;

LIB "Elgin.DLL"

//Emite redução Z

DLL32 FUNCTION E_ReducaoZ( Dt AS LPSTR, Hs AS LPSTR ) AS LONG PASCAL ;

FROM "Elgin_ReducaoZ" LIB xDll

//Ler data e hora da impressora

DLL32 FUNCTION E_DtHora ( Dt AS LPSTR, Hs AS LPSTR ) AS LONG PASCAL ;

FROM "Elgin_DataHoraImpressora" LIB xDll

//Faz abertura do dia

DLL32 FUNCTION E_AbreDia ( Vl AS LPSTR, Fr AS LPSTR ) AS LONG PASCAL ;

FROM "Elgin_AberturaDoDia" LIB xDll

//Abre cupom fiscal

DLL32 FUNCTION E_AbreCup ( Cgc AS LPSTR ) AS LONG PASCAL ;

FROM "Elgin_AbreCupom" LIB xDll

//Verifica se tem papel

DLL32 FUNCTION E_VerPapel( @Linhas AS PTR ) AS LONG PASCAL ;

FROM "Elgin_MonitoramentoPapel" LIB xDll

//Verifica se tem impressora ligada

DLL32 FUNCTION E_PrintLig() AS LONG PASCAL ;

FROM "Elgin_VerificaImpressoraLigada" LIB "ELGIN.DLL"

DLL32 FUNCTION E_HoraVerao( ) AS LONG PASCAL ;

FROM "Elgin_ProgramaHorarioVerao" LIB xDll

//Cancela cupom fiscal

DLL32 FUNCTION E_CanCupom( ) AS LONG PASCAL ;

FROM "Elgin_CancelaCupom" LIB xDll

//Suprimento de Caixa

DLL32 FUNCTION E_Supri(vrsupri AS LPSTR, fpagam AS LPSTR ) AS LONG PASCAL ;

FROM "Elgin_Suprimento" LIB xDll

//Suprimento de Caixa

DLL32 FUNCTION E_Sangria(vrsangria AS LPSTR ) AS LONG PASCAL ;

FROM "Elgin_Sangria" LIB xDll

//Cancela ítem Genérico do cupom

DLL32 FUNCTION E_CancItem(item AS LPSTR ) AS LONG PASCAL ;

FROM "Elgin_CancelaItemGenerico" LIB xDll

//Abre a gaveta

DLL32 FUNCTION E_AbreGav ( ) AS LONG PASCAL ;

FROM "Elgin_AcionaGaveta" LIB xDll

//Ler número do cupom

DLL32 FUNCTION E_NumCupom( Cupom AS LPSTR ) AS LONG PASCAL ;

FROM "Elgin_NumeroCupom" LIB xDll

//Emite leitura da memória fiscal por data

DLL32 FUNCTION E_MemData ( In AS LPSTR, Fi AS LPSTR ) AS LONG PASCAL ;

FROM "Elgin_LeituraMemoriaFiscalData" LIB xDll

//Emite leitura da memória fiscal por Redução

DLL32 FUNCTION E_MemRedu ( In AS LPSTR, Fi AS LPSTR ) AS LONG PASCAL ;

FROM "Elgin_LeituraMemoriaFiscalReducao" LIB xDll

//Emite cupom gerencial

DLL32 FUNCTION E_CpGerAbr( Texto AS STRING ) AS LONG PASCAL ;

FROM "Elgin_RelatorioGerencial" LIB xDll

//Fecha cupom gerencial

DLL32 FUNCTION E_CpGerFec( ) AS LONG PASCAL ;

FROM "Elgin_FechaRelatorioGerencial" LIB xDll

//Verifica status da gaveta

DLL32 FUNCTION E_StGaveta( @nStatus AS PTR ) AS LONG PASCAL ;

FROM "Elgin_VerificaEstadoGaveta" LIB xDll

// Verifica se ha redução Z pendente

//DLL32 FUNCTION E_Zpendente( Zpend AS STRING ) AS LONG PASCAL ; // Acrescentado em 07/04/2006 por tiao

DLL32 FUNCTION E_Zpendente( @Zpend AS PTR ) AS LONG PASCAL ; // Acrescentado em 07/04/2006 por tiao

FROM "Elgin_VerificaZPendente" LIB xDll

// Verifica Status comprovante não fiscal vinculado

DLL32 FUNCTION E_StatNaoFis( @nStatus AS PTR ) AS LONG PASCAL ; // Acrescentado em 16/05/2006 por tiao

FROM "Elgin_StatusComprovanteNaoFiscalVinculado" LIB xDll

//Abre cupom adicional não fiscal vinculado

DLL32 FUNCTION E_CupAdAbr( FormaPgto AS STRING,;

Valor AS STRING,;

Cupom AS STRING ) AS LONG PASCAL ;

FROM "Elgin_AbreComprovanteNaoFiscalVinculado" LIB xDll

//Imprime cupom não fiscal vinculado

DLL32 FUNCTION E_CupAdUsa( Texto AS STRING ) AS LONG PASCAL ;

FROM "Elgin_UsaComprovanteNaoFiscalVinculado" LIB xDll

// Dados da Ultima Redução

DLL32 FUNCTION E_Dadult( dados AS STRING ) AS LONG PASCAL ;

FROM "Elgin_DadosUltimaReducao" LIB xDll

//Controle do Retorno

DLL32 FUNCTION E_Retorno( @varack AS PTR, @varst1 AS PTR, @varst2 AS PTR) AS LONG PASCAL ;

FROM "Elgin_VerificaEstadoImpressora" LIB xDll

//Ler número de Série da Impressora

DLL32 FUNCTION E_NumSerie( serie AS LPSTR ) AS LONG PASCAL ;

FROM "Elgin_NumeroSerie" LIB xDll

//Ler Ultimo Item vendido

DLL32 FUNCTION E_UltItem( uitem AS LPSTR ) AS LONG PASCAL ;

FROM "Elgin_UltimoItemVendido" LIB xDll

//Ler número de Reduções da Impressora

DLL32 FUNCTION E_NumRedu( nredu AS LPSTR ) AS LONG PASCAL ;

FROM "Elgin_NumeroReducoes" LIB xDll

//Ler status de vinculo ao ISS

DLL32 FUNCTION E_VerIss( cvinciss AS STRING ) AS LONG PASCAL ;

FROM "Elgin_VerificaAliquotasIss" LIB xDll

//Configura espaçamento entre documentos

DLL32 FUNCTION E_Space( cspace AS STRING ) AS LONG PASCAL ;

FROM "Elgin_CfgEspacamentoCupons" LIB xDll

//Ler status das Aliquotas de ICMS

DLL32 FUNCTION E_Aliquotas( caliquotas AS STRING ) AS LONG PASCAL ;

FROM "Elgin_RetornoAliquotas" LIB xDll

//Ler Status das Formas de Pagamento

DLL32 FUNCTION E_formas( cforma AS STRING ) AS LONG PASCAL ;

FROM "Elgin_VerificaFormasPagamento" LIB xDll

//FROM "Elgin_VerificaDescricaoFormasPagamento" LIB xDll

//Fecha cupom não fiscal

DLL32 FUNCTION E_CupAdFec( ) AS LONG PASCAL ;

FROM "Elgin_FechaComprovanteNaoFiscalVinculado" LIB xDll

//Vende ítem

/*DLL32 FUNCTION E_VendItem( Codigo AS STRING,;

Descricao AS STRING,;

Aliquota AS STRING,;

TpQte AS STRING,;

Quantid AS STRING,;

Decimal AS 7 ,;

ValUnit AS STRING,;

TpDesc AS STRING,;

ValDesc AS STRING ) AS LONG PASCAL ;

FROM "Elgin_VendeItem" LIB xDll */

DLL32 FUNCTION E_VendItem( Codigo AS STRING,;

Descricao AS STRING,;

Aliquota AS STRING,;

ValUnit AS STRING,;

Quantid AS STRING,;

Acresc AS STRING,;

ValDesc AS STRING,;

Indice AS STRING,;

Unidade AS STRING ) AS LONG PASCAL ;

FROM "Elgin_VendeItemDepartamento" LIB xDll

//Inicia Fechamento do Cupom

DLL32 FUNCTION E_IniFechamento(Acrescimo AS STRING,;

TipoAcresc AS STRING,;

ValorAcresc AS STRING ) AS LONG PASCAL ;

FROM "Elgin_IniciaFechamentoCupom" LIB xDll

//Forma de Pagamento

DLL32 FUNCTION E_FormaPagto( FormaPgto AS STRING,;

ValorPago AS STRING ) AS LONG PASCAL ;

FROM "Elgin_EfetuaFormaPagamento" LIB xDll

//Termina Fechamento

DLL32 FUNCTION E_TerminaFechamento(Mensagem AS STRING ) AS LONG PASCAL ;

FROM "Elgin_TerminaFechamentoCupom" LIB xDll

//Fecha cupom

DLL32 FUNCTION E_FechaCup( FormaPgto AS STRING,;

Acrescimo AS STRING,;

TipoAcresc AS STRING,;

ValorAcresc AS STRING,;

ValorPago AS STRING,;

Mensagem AS STRING ) AS LONG PASCAL ;

FROM "Elgin_FechaCupom" LIB xDll

//Programa Forma de Pagamento

DLL32 FUNCTION E_ProgFormas( Forma AS STRING, Tef AS STRING ) AS LONG PASCAL ;

FROM "Elgin_ProgramaFormaPagamentoMFD" LIB xDll

//Porta de Comunicação

DLL32 FUNCTION E_Porta( cporta AS STRING ) AS LONG PASCAL ;

FROM "Elgin_Registry_Porta" LIB xDll

//Controle do Status

DLL32 FUNCTION E_Status( cstatus AS STRING ) AS LONG PASCAL ;

FROM "Elgin_Registry_Status" LIB xDll

//Controle do Status da Função

DLL32 FUNCTION E_StatusFuncao( cstatus AS STRING ) AS LONG PASCAL ;

FROM "Elgin_Registry_StatusFuncao" LIB xDll

DLL32 FUNCTION E_Retorno_reg( cretorno AS STRING ) AS LONG PASCAL ;

FROM "Elgin_Registry_Retorno" LIB xDll

//Controle da Porta

DLL32 FUNCTION E_Controle( ccontrole AS STRING ) AS LONG PASCAL ;

FROM "Elgin_Registry_ControlePorta" LIB xDll

// Nomeia Totalizador não fiscal

DLL32 FUNCTION E_NomTot( Indice AS LONG, Nome AS STRING) AS LONG PASCAL ;

FROM "Elgin_NomeiaTotalizadorNaoSujeitoIcms" LIB xDll

DLL32 FUNCTION E_VerRecNf( Recebimento AS STRING ) AS LONG PASCAL ;

FROM "Elgin_VerificaRecebimentoNaoFiscal" LIB xDll

DLL32 FUNCTION E_ModECF( ModeloECF AS LONG ) AS LONG PASCAL ;

FROM "Elgin_VerificaModeloECF" LIB xDll

//DLL32 FUNCTION E_UnidMed( Unidade AS STRING ) AS LONG PASCAL ;

//FROM "Elgin_UsaUnidadeMedida" LIB xDll

DLL32 FUNCTION E_ProgAli( Aliquota AS STRING, Vinculo AS LONG ) AS LONG PASCAL ;

FROM "Elgin_ProgramaAliquota" LIB xDll

//Ler Status das Formas de Pagamento

DLL32 FUNCTION E_janelas( cpapel AS STRING, cjanela AS STRING ) AS LONG PASCAL ;

FROM "Elgin_LigaDesligaJanelas" LIB xDll

DLL32 FUNCTION E_Registry() AS LONG PASCAL ;

FROM "Elgin_Registry" LIB xDll

DLL32 FUNCTION E_AbrePorta( ) AS LONG PASCAL ;

FROM "Elgin_AbrePortaSerial" LIB xDll

DLL32 FUNCTION E_FechaPorta( ) AS LONG PASCAL ;

FROM "Elgin_FechaPortaSerial" LIB xDll

//FIM ELGIN

É isso. Esperamos que sirva para muitos.

Um abraço,

Alexandre Pereira

fwh 2.6, xharbour, .99.6, MyMake

msn: alexpdasilva6@hotmail.com

atualmente em Rondônia

Editado por - alex2002 on 22/02/2008 15:09:55

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...