'Nome       : StdPos2.imp
'Tipo       : LST
'Data       : 2006/01/26
'Versao     : 1.0
'Descricao  : Ticket POS

'==============================================================================
'#VER - Historia de modificacoes
'==============================================================================
'- Versao : 1.0   2006/??/?? --------------------------------------------------
'Versao base


'==============================================================================
#DEF - Definicao global do documento
'==============================================================================
Caracteres invalidos             [CarInv]=#
##


'==============================================================================
#ESP - Campos especificos
'==============================================================================
'mensagem em rotacao
Velocidade (tempo de espera)       [MsgRotVr]=0.2
Digitos da linha do display        [MsgRotDi]=20

'mensagem de caixa
Linha 1                            [MsgCxaL1]=*** SUPERMERCADO ***
Linha 2                            [MsgCxaL2]=*** BOAS  FESTAS ***

'mensagem para cliente seguinte - apos pagamento
Modo da mensagem (Fixa/Rotacao)    [MsgCseMo]=R
Tempo de espera (0 nao activa)     [MsgCseTe]=15
Linha 2                            [MsgCseL1]=OBRIGADO PELA PREFERENCIA
Linha 2                            [MsgCseL2]=    CLIENTE SEGUINTE


'diversos
Limites a listar                  [EspLim]=?

'Artigos fixos a recolher       [DocArtFix]=*:*,PORTES,MOB:1
'Formato para definicao de artigos fixos:
' [DocArtFix]=art1:max1,art2:max2, ...
'              |    |
'              |    +-> Vezes a recolher (maximo)
'              |        Se nao for indicado e considerado 1 (neste caso nao usar o separador ':')
'              |        Se for indicado '*' nao e limitado o numero de vezes de recolha
'              |
'              +------> Artigo fixo a usar.
'                       Se for indicado '*' pode ser usado qualquer artigo
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Nome                       [DocNom]=Ticket
Vias                       [DocVia]=Original
'Vias                       [DocVia]=Original;Duplicado
'Vias                       [DocVia]=Original;Duplicado,2;Triplicado
Tipo                       [DocTip]=
Personalizacao             [DocPer]=
Dados especificos          [DocEsp]=ESP1,FAC

'formato
Impressora                 [DocPrt]=
'Impressora                 [DocPrt]=PR01
Linhas por pagina          [DocLpg]=100
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0


'funcoes de listagem
Listar cabecalho            [FxCAB]=PosCab
Listar linhas               [FxLIN]=PosLin; Nor
Listar fim                  [FxFIM]=PosFim
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Nome                       [DocNom]=Factura
Vias                       [DocVia]=Original
'Vias                       [DocVia]=Original;Duplicado
'Vias                       [DocVia]=Original;Duplicado,2;Triplicado
Tipo                       [DocTip]=
Personalizacao             [DocPer]=
Dados especificos          [DocEsp]=ESP1,FAC

'formato
Impressora                 [DocPrt]=
'Impressora                 [DocPrt]=PR01
Linhas por pagina          [DocLpg]=100
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0


'funcoes de listagem
Listar cabecalho            [FxCAB]=PosCab
Listar linhas               [FxLIN]=PosLin; Nor
Listar fim                  [FxFIM]=PosFimFac
##



'==============================================================================
#VAR - Variaveis
'==============================================================================
Pag      = Doc_CntPag
DataExt  = FrmVal$(Sig_DtHoje,45,0)
Dat      = FrmVal$(Sig_DtHoje,44,0)
Hor      = FrmVal$(Enc_Mst_HrSai,53,0)

'descricao da empresa 
EmpNome  = Emp_Inf_Nome$
EmpMorada= Emp_Inf_Morada$
EmpLocal = Emp_Inf_Local$
EmpCpost = Emp_Inf_Cpost$
EmpTel   = Emp_Inf_Telef$
EmpFax   = Emp_Inf_Fax$
EmpCtrb  = Emp_Inf_Contrib$
EmpTps   = Emp_Inf_NatJur$
EmpReg   = Emp_Inf_NumReg$
EmpCapSoc= FrmVal$(Emp_Inf_CapSoc,21,10.2)

PosNdo   = Enc_Mst_Ndoc$                       'numero de documento
PosOpe   = Enc_Mst_Oper$                       'operador

PosNom   = Left$(Stc_Mst_Nome2$, 20)           'nome para talao
PosQu    = StcQuFrm$(Doc_Art_Qu, 6,"")         'quantidade
PosPrc   = FrmNum$(8.2,Doc_Art_Prc)            'preco
PosLiq   = FrmNum$(8.2,Doc_Art_Liq)            'liquido
Iv       = IvaTax("A")+"%"

'linhas do documento
LinArt   = Stc_Mst_Art$
LinOpcCor= TxIde$(Enc_Mov_Opc$,"COR")   
ArtIde   = TxIde$(Enc_Mov_Opc$,"OPCIDE")   
LinNome  = Stc_Mst_Nome1$
LinQu    = FrmVal$(Doc_Art_Qu,21,5.3)
LinPrc   = FrmVal$(Doc_Art_Prc,21,10.2)
Uni      = Stc_Mst_Unid$
LinDesco = Enc_Mov_Desco$
LinLiq   = FrmVal$(Doc_Art_Liq,21,10.2)
Iva      = IvaTax("A")
Portes   = Portes$

Qu       = Doc_Art_Qu
Liq      = FrmVal$(Doc_Art_Liq,21,10.2)
Prc      = FrmVal$(Doc_Art_Prc,21,10.2)


'valores de iva/taxas do documento
IvaI0    = FrmVal$(Ado_Tot_IvaIse,21,10.2)
IvaT1    = FrmVal$(IvaTax(1),21,2.0)
IvaI1    = FrmVal$(AdoIvaInc("T",1),21,10.2)
IvaV1    = FrmVal$(AdoIvaVal("T",1),21,10.2)
IvaT2    = FrmVal$(IvaTax(2),21,2.0)
IvaI2    = FrmVal$(AdoIvaInc("T",2),21,10.2)
IvaV2    = FrmVal$(AdoIvaVal("T",2),21,10.2)
IvaT3    = FrmVal$(IvaTax(3),21,2.0)
IvaI3    = FrmVal$(AdoIvaInc("T",3),21,10.2)
IvaV3    = FrmVal$(AdoIvaVal("T",3),21,10.2)


'totais do documento
DocDesco = FrmVal$(Ado_Tot_Desco,21,13.2)
DocIlq   = FrmVal$(Ado_Tot_Ilq,21,13.2)
DocLiq   = FrmVal$(Ado_Tot_Liq,21,13.2)
DocPort  = FrmVal$(Ado_Tot_Ext,21,13.2)
DocIvaSuj= FrmVal$(Ado_Tot_IvaSuj,21,13.2)
DocInc   = FrmVal$(Ado_Tot_Inc,21,13.2)
DocIva   = FrmVal$(Ado_Tot_Iva,21,13.2)
DocIlq   = FrmVal$(Ado_Tot_Ilq,21,13.2)
DocLiq   = FrmVal$(Ado_Tot_Liq,21,13.2)
DocTot   = FrmVal$(Ado_Tot_Tot,21,13.2)


'informacoes sobre o documento
Vend      = "("+Enc_Mst_Vend+") "+EmpTabCon$("Vend",Enc_Mst_Vend,"Nome")
Cpag      = EmpTabCon$("Cpag",Enc_Mst_CpagCod,"Des")

DocNome   = Doc_Ide_Nome$
'DocNome   = Doc_Ide_Sdoc$

'DocNum    = FrmNdo$("",Enc_Mst_Tdoc$,Enc_Mst_Ndoc$)
DocNum    = FrmNdo$("",Enc_Mst_Tdoc$,Enc_Mst_Ndoc$)
DocVia    = Doc_Ide_Via$
DocDtl    = FrmVal$(Doc_Ide_Dtl,44,0)
DocDtv    = FrmVal$(Doc_Ide_Dtv,44,0)
DocOrg    = VarAlt$("ENC_MST","Emp_Inf_Local$")
DocDest   = VarAlt$("ENC_MST","Cta_Ang_Local$,LocEnt$")
Viatura   = TxIde$(Enc_Mst_Opc$,"MAT")
HorSai    = FrmVal$(Enc_Mst_HrSai,53,0)

DocRcNum  = DocRcNum$
DocRcDtl  = DocRcDtl$
DocRcDtv  = DocRcDtv$

'listar documentos
DocIde    = Enc_Mst_Tdoc$+" "+FrmNdo$("44",Enc_Mst_Tdoc$,Enc_Mst_Ndoc$)
DocVl     = FrmVal$(Doc_Tot_Tot,21,13.2)
pIvaI1    = FrmVal$(IvaInc("T",1),21,10.2)
pIvaV1    = FrmVal$(IvaVal("T",1),21,10.2)
pDocIva   = FrmVal$(Doc_Tot_Iva,21,13.2)
pDocTot   = FrmVal$(Doc_Tot_Tot,21,13.2)

LinInf1   = LinInf1$

'Variaveis POS
PosDocTot    = FrmVal$(MemNum(10),21,13.2)
PosDocTroco  = FrmVal$(MemNum(11),21,13.2)
##


'==============================================================================
#SEQ - Sequencias para recolha de artigos
'==============================================================================
'------------------------------------------------------------------------------
'NOR - Tipo Normal
'------------------------------------------------------------------------------
Identificacao de sequencia [IDS]=NOR
Codigos validos            [ID1]=*
Codigos invalidos          [ID0]=PORTE,MOBRA


'= estado da sequencia para recolha normal
Funcao : Recolha       [FX,REC ]=REC; EXEREC
Funcao : Executar   [FX,EXEREC ]=*
Recolha automatica           [E]=RAUTO

Modo automatico              [E]=AUT 1
Quantidade                   [E]=QU; ESC:LPL
'Quantidade automatica        [E]=AUTO_QU UNI; ESC:LPL

'Quantidade 2                [E]=QU2
'Preco                        [E]=PRC
Preco                        [E]=PrcProm [ZER=N][PRC=PV1][FRM=4.2]; ESC:LPL
Desconto                     [E]=DES
Iva                          [E]=IVA
Total                  [E,TOT  ]=TOT

Confirmar linha (automatica) [E]=CFL 1; CF2:ALT, ESC:LPL
'Confirmar linha              [E]=CFL ; CF2:ALT, ESC:LPL

Registar                     [E]=REG

Mostrar artigo               [E]=FxExe Pos_DisArt
Fim de sequencia             [E]=FIM


'= estado da sequencia para correccao de linha
Funcao : Corrigir      [FX,COR ]=COR; EXECOR
Funcao : Executar   [FX,EXECOR ]=*
Recolha automatica           [E]=RAUTO
'Campo opcional              [E]=OPC Var$,Descricao,Tipo(A/N)+Dig
Quantidade                   [E]=QU; ESC:LPL
'Quantidade automatica        [E]=AUTO_QU UNI; ESC:LPL

'Quantidade 2                [E]=QU2
Preco                        [E]=PRC
Desconto                     [E]=DES
Iva                          [E]=IVA
Total                  [E,TOT  ]=TOT

'Confirmar linha (automatica) [E]=CFL 1; CF2:ALT, ESC:LPL
Confirmar linha              [E]=CFL ; CF2:ALT, ESC:LPL

Registar                     [E]=REG

Mostrar artigo               [E]=FxExe Pos_DisArt
Fim de sequencia             [E]=FIM


'= estado da sequencia para alteracao de documento
'alterar dados
Inicio de alteracao    [E,ALT  ]=ALT
'Campo opcional 1            [E]=OPC 1
Quantidade                   [E]=QU
Preco                        [E]=PRC
Desconto                     [E]=DES
Iva                          [E]=IVA; TOT

'anulacao
Limpar linha           [E,LPL  ]=LPL
Fim de sequencia             [E]=FIM

'------------------------------------------------------------------------------
' Artigos VBC (valor em codigo de barras)
'------------------------------------------------------------------------------
Identificacao de sequencia [IDS]=VCB
Codigos validos            [ID1]=
Codigos invalidos          [ID0]=

Funcao : Recolha       [FX,REC ]=REC; EXE
Funcao : Corrigir      [FX,COR ]=COR; EXE
Funcao : Executar      [FX,EXE ]=*
Recolha automatica           [E]=RAUTO

Quantidade                   [E]=AUTO_QU VCB_QU
Preco                        [E]=AUTO_VU VCB_VU

'Quantidade (unidade)         [E]=AUTO_QU UNI
'Preco (valor total)          [E]=AUTO_VU VCB_VL

Iva                          [E]=IVA
Total                  [E,TOT  ]=TOT
Confirmar linha (automatico) [E]=CFL 1
Registar                     [E]=REG
Fim de sequencia             [E]=FIM

'alterar dados
Inicio de alteracao    [E,ALT  ]=ALT
Iva                          [E]=IVA; TOT

'anulacao
Limpar linha           [E,LPL  ]=LPL
Fim de sequencia             [E]=FIM

##


'-----------------------------------------------------------------------------
' Recolha do Cabecalho do documento
'-----------------------------------------------------------------------------
'==============================================================================
#PAGDEF - Definicao de paginas
'==============================================================================
Pagina inicial      [PagIni]=1
Campo inicial       [CmpIni]=2
##


'==============================================================================
#PAG  Dados para Documento    'Definicao da pagina 
'==============================================================================
'mo asp x   y  identificacao      di  variavel                            frm   dv ope
30,-10, 20, 50,"Conta          " ,100,Cta_Mst_Ct$                         ,30.0,250
31, 10, 20, 80,"Nome           " ,100,VarAlt$("ENC_MST","Cta_Mst_Nome$")  ,30.0,250
31, 10, 20,110,"Morada         " ,100,VarAlt$("ENC_MST","Cta_Ang_Morada$"),30.0,250
31, 10, 20,140,"Localidade     " ,100,VarAlt$("ENC_MST","Cta_Ang_Local$") ,30.0,250
31, 10, 20,170,"Codigo Postal  " ,100,VarAlt$("ENC_MST","Cta_Ang_Cpost$") ,30.0,250
30, 10, 20,200,"Contribuinte   " ,100,VarAlt$("ENC_MST","Cta_Mst_Ctrb$")  ,12.0,130
'31, 10, 20,230,"Vendedor       " ,100,Enc_Mst_Vend                        , 2.0, 50

'30,110, 20,260,"Cond. Pagamento" ,100,Enc_Mst_CpagCod                     , 2.0, 50

'31, 10 ,390,110,"Descr. para Doc ",100,TxIde$(Enc_Mst_Opc$,"DOC_DESCR")   ,08.0, 90
'10, 53, 390,140,"Hora de saida   ",100,Enc_Mst_HrSai                              , 4.0,100
'31, 10, 390,170,"Local de carga  ",100,VarAlt$("ENC_MST","Emp_Inf_Local$")        ,30.0,100
'31, 10, 390,200,"Local de entrega",100,VarAlt$("ENC_MST","Cta_Ang_Local$,LocEnt$"),30.0,100
'31, 10, 390,230,"Matricula       ",100,TxIde$(Enc_Mst_Opc$,"MAT")                 ,30.0,100
'31, 10, 240,260,"Informação Livre",100,TxIde$(Enc_Mst_Opc$,"INF1")                ,40.0,250

##

'30, 10,430,100,100,  8.0,"Texto   : ",150,Variavel,Ope
' |   |  |   |   |    |      |          |    |       |
' |   |  |   |   |    |      |          |    |       +--> Opcao especial
' |   |  |   |   |    |      |          |    +----------> Variavel
' |   |  |   |   |    |      |          +---------------> Dimensao da identificacao
' |   |  |   |   |    |      +--------------------------> Texto Informativo
' |   |  |   |   |    +--------------> Formato do valor
' |   |  |   |   +-------------------> Dimensao
' |   |  |   +-----------------------> Coluna
' |   |  +---------------------------> Linha
' |   +------------------------------> Tipo de valor/Aspecto
' +----------------------------------> Controlo de recolha
'
'1o parametro - modo/controlo de recolha (<0 nao pode alterar)
'2o parametro - tipo dos dados/aspecto
'3o parametro - linha
'4o parametro - coluna
'5o parametro - dimensao da identificacao
'6o parametro - formato do valor (inteiros.decimais)
'7o parametro - texto informativo
'8o parametro - variavel
'
'Controlo de recolha : 1x - Pode modificar para registo novo
'                      2x - Pode modificar para alteracao de registo
'                      3x - Igual a 1x+2x
'                      ?0 - Nao cria variavel
'                      ?1 - Cria variavel
'
'Notas : O campo 'Opcao especial' e opcional


'==============================================================================
#PGM - Funcoes para impressao do documento
'==============================================================================
'---------------------------------------------------------->'Comentario (61)
'------------------------------------------------->'Comentario (52)
'------------------------------------->'Comentario (40)

Sub FxIni 'funcao de inicializacao
end sub


Sub FxFim 'funcao de finalizacao
end sub


Sub Lst_AJT 'ajuste
end sub


'Sub FxIni 'funcao de inicializacao
'call POS_DisIni                             'inicializar display
'end sub


'Sub FxFim 'funcao de finalizacao
'msgbox "", "FX FIM"

'call POS_DisFim 'fim de recolha
'end sub


Sub CabIni 'inicializar
DocRcNum$ = FrmNdo$("",Enc_Mst_Tdoc$,Enc_Mst_Ndoc$)
DocRcDtl$ = FrmVal$(Doc_Ide_Dtl,44,0)
DocRcDtv$ = FrmVal$(Doc_Ide_Dtv,44,0)

LinInf1$  = TxIde$(Enc_Mst_Opc$,"INF1")
end sub


Sub CabFim 'terminar documento
'msgbox "", "CAB FIM"
end sub


'-----------------------------------------------------------------------------
' Cabecalho do documento
'-----------------------------------------------------------------------------
Sub PosCab 'cabecalho do documento
txPos$ = TxIde$(Enc_Mst_Opc$, "POS")           'dados POS
npg    = PosMpgPrp(txPos$)                     'preparar modo de pagamento
txMpg$ = PosMpgCon$(1, "IDE")                  'consultar modo de pagamento


CabL1$ = TxIde$(Emp_Inf_Opc$,"PosCabLin1")     'linha 1
CabL2$ = TxIde$(Emp_Inf_Opc$,"PosCabLin2")     'linha 2
CabL3$ = TxIde$(Emp_Inf_Opc$,"PosCabLin3")     'linha 3
CabL4$ = TxIde$(Emp_Inf_Opc$,"PosCabLin4")     'linha 4
CabL5$ = TxIde$(Emp_Inf_Opc$,"PosCabLin5")     'linha 5
CabL6$ = TxIde$(Emp_Inf_Opc$,"PosCabLin6")     'linha 6
CabL7$ = TxIde$(Emp_Inf_Opc$,"PosCabLin7")     'linha 7

Print PrtCmd$("[AliC]");

Print PrtCmd$("[FonATamD]");
'Print PrtCmd$("[FonBAltD]");

print CabL1$
'Print PrtCmd$("[FonATamN]");
Print PrtCmd$("[FonBTamN]");


'print TxCentra$(CabL2$, 1, 40)
'print TxCentra$(CabL3$, 1, 40)
'print TxCentra$(CabL4$, 1, 40)
'print TxCentra$(CabL5$, 1, 40)
'print TxCentra$(CabL6$, 1, 40)
'print TxCentra$(CabL7$, 1, 40)

print CabL2$
print CabL3$
print CabL4$
print CabL5$
print CabL6$
print CabL7$

Print PrtCmd$("[AliE]");

print
print
end sub


'-----------------------------------------------------------------------------
' Linhas do Documento
'-----------------------------------------------------------------------------
Sub PosLinAjt 'ajuste de linhas
?
end sub


Sub PosLinNor 'artigos tipo normal
if Doc_Art_Qu = 1 then
?@Iv @PosNom                @PosLiq   #
else
?@Iv @PosNom                          #
?    @PosQu  x  @PosPrc     @PosLiq   #
end if
end sub

Sub PosLinVcb 'artigos tipo normal
if Doc_Art_Qu = 1 then
?@Iv @PosNom                @PosLiq   #
else
?@Iv @PosNom                          #
?    @PosQu  x  @PosPrc     @PosLiq   #
end if
end sub


Sub PosLinQ1 'linha 1
?@LinArt            @LinPrc        @Iv#
end sub


Sub PosLinQ2 'linha 2
?@LinArt       @Descr                  #
?@Qu x @Prc            @Liq        @Iv#
end sub


Sub PosLinTxl 'artigos tipo texto livre
Print Enc_Mov_Div$
end sub


'-----------------------------------------------------------------------------
' Final do Documento
'-----------------------------------------------------------------------------
Sub PosFimFac 'total do documento tipo factura
print

Print PrtCmd$("[FonALrgD]");
print xTot$
Print PrtCmd$("[FonBTamN]");

?                                      #
? @PosNdo             @Dat        @Hor #
? @PosOpe                              #
?                                      #

?Nome: _______________________________ #
?                                      #
?Morada: _____________________________ #
?                                      #
?Contribuinte: _______________________ #

Print PrtCmd$("[CorAva]")
end sub


Sub PosFim 'total do documento
FimL1$ = TxIde$(Emp_Inf_Opc$,"PosFimLin1")     'linha 1
FimL2$ = TxIde$(Emp_Inf_Opc$,"PosFimLin2")     'linha 2
FimL3$ = TxIde$(Emp_Inf_Opc$,"PosFimLin3")     'linha 3
FimL4$ = TxIde$(Emp_Inf_Opc$,"PosFimLin4")     'linha 4
FimL5$ = TxIde$(Emp_Inf_Opc$,"PosFimLin5")     'linha 5

xTot$="Total" + FrmNum$(8.2,Ado_Tot_Tot)
xTro$="Troco" + FrmNum$(8.2,MemNum(11))

print

Print PrtCmd$("[FonALrgD]");
print xTot$
Print PrtCmd$("[FonBTamN]");

print "Pagamento: " txMpg$

Print PrtCmd$("[FonALrgD]");
print xTro$
Print PrtCmd$("[FonBTamN]");

?                                      #
? @PosNdo             @Dat        @Hor #
? @PosOpe                              #
?                                      #

Print PrtCmd$("[AliC]");
print FimL1$
print FimL2$
print FimL3$
print FimL4$
Print PrtCmd$("[FonALrgD]");
print FimL5$
Print PrtCmd$("[FonBTamN]");
Print PrtCmd$("[AliE]");

Print PrtCmd$("[CorAva]")

call POS_GavAbr                        'abrir gaveta 
end sub


'------------------------------------------------------------------------------
'- Funcoes para gaveta --------------------------------------------------------
'------------------------------------------------------------------------------
Sub xPOS_GavAbr 'abrir gaveta 
'modo EPSON
tx1$=chr$(27)+"p"+chr$(0)+chr$(10)+chr$(100)    'abrir gaveta
'                      |        |         |
'                      |        |         +--> valor 2
'                      |        +------------> valor 1
'                      +---------------------> 0,1,48,49

x=PcomPrp(1, "COM1", "9600,n,8,1")           'preparar porta
x=PcomEnv(1, tx1$)                           'mostrar mensagem
'fx=msgbox("","Gaveta aberta")
end sub


'------------------------------------------------------------------------------
'- Mensagens do display -------------------------------------------------------
'------------------------------------------------------------------------------
Sub POS_DisPrp 'preparar acesso a display
'mostrar mensagem no visor ligado na COM1
x=PcomPrp(1, "COM1", "9600,n,8,1")                 'preparar porta

'comandos
disLpz$ = chr$(12)                                 'limpar display
disPl1$ = chr$(27)+chr$(108)+chr$(1)+chr$(1)       'posicionar na linha 1
disPl2$ = chr$(27)+chr$(108)+chr$(1)+chr$(2)       'posicionar na linha 2
'---------------------------------------------------------->'Comentario (61)
'------------------------------------------------->'Comentario (52)
'------------------------------------->'Comentario (40)
end sub


Sub POS_DisFim 'terminar acesso acesso a display
'nada a executar
end sub


Sub POS_DisMsgIni 'mensagem inicial
'                         123456789.123456789.
'                         123456789..987654321
tx1$ = disLpz$+disPl1$ + "     Bem Vindo      "
tx2$ =         disPl2$ + "   CAIXA  ABERTA    "

x=PcomEnv(1, tx1$)                                 'mostrar mensagem
x=PcomEnv(1, tx2$)                                 'mostrar mensagem
end sub


Sub POS_DisMsgFim 'mensagem final
'                         123456789.123456789.
'                         123456789..987654321
tx1$ = disLpz$+disPl1$ + "   Volte Sempre,    " 
tx2$ =         disPl2$ + "      OBRIGADO      "

x=PcomEnv(1, tx1$)                                 'mostrar mensagem
x=PcomEnv(1, tx2$)                                 'mostrar mensagem
end sub


Sub POS_DisMsgLpz 'limpar
tx1$ = disLpz$

x=PcomEnv(1, tx1$)                                 'mostrar mensagem
end sub


Sub POS_DisMsgVer 'mostrar mensagem em rotacao
ms1$ = VarCom$("MsgDisL1$")                        'linha 1
ms2$ = VarCom$("MsgDisL2$")                        'linha 2

tx1$ = disPl1$ + ms1$
tx2$ = disPl2$ + ms2$

if ms1$ <> ""                                      'mostrar linha 1 ?
   x=PcomEnv(1, tx1$)                              'mostrar mensagem
end if

if ms2$ <> ""                                      'mostrar linha 2 ?
   x=PcomEnv(1, tx2$)                              'mostrar mensagem
end if
end sub


Sub POS_DisCxAbr 'abertura de caixa
'                         123456789.123456789.
'                         123456789..987654321
tx1$ = disLpz$+disPl1$ + "    Caixa Aberta    "
tx2$ =         disPl2$ + "  Cliente Seguinte  "

x=PcomEnv(1, tx1$)                                 'mostrar mensagem
x=PcomEnv(1, tx2$)                                 'mostrar mensagem
end sub


Sub POS_DisCxFec 'fecho de caixa
'                         123456789.123456789.
'                         123456789..987654321
tx1$ = disLpz$+disPl1$ + "  Caixa Encerrada   "
tx2$ = ""

x=PcomEnv(1, tx1$)                                 'mostrar mensagem
x=PcomEnv(1, tx2$)                                 'mostrar mensagem
end sub


Sub POS_DisArt 'mostrar artigo
txQu$  = FrmNum$(4.3,Doc_Art_Qu)
txPrc$ = FrmNum$(8.2,Doc_Art_Prc)

'                         123456789.123456789.
'                         123456789..987654321
tx1$ = disLpz$+disPl1$ + left$(Stc_Mst_Nome1$,20)
tx2$ =         disPl2$ + txQu$ + "x" + txPrc$


x=PcomEnv(1, tx1$)                                 'mostrar mensagem
x=PcomEnv(1, tx2$)                                 'mostrar mensagem
end sub


Sub POS_DisTotal 'mostrar total
txTot$ = FrmNum$(8.2,MemNum(10))

'                         123456789.123456789.
'                         123456789..987654321
tx1$ = disLpz$+disPl1$ + "Total a pagar       "
tx2$ =         disPl2$ + "         " +  txTot$

x=PcomEnv(1, tx1$)                                 'mostrar mensagem
x=PcomEnv(1, tx2$)                                 'mostrar mensagem
end sub


Sub POS_DisTroco 'mostrar troco
txTot$ = FrmNum$(8.2,MemNum(10))
txTro$ = FrmNum$(8.2,MemNum(11))

'                         123456789.123456789.
'                         123456789..987654321
tx1$ = disLpz$+disPl1$ + "Total:   " + txTot$ 
tx2$ =         disPl2$ + "Troco:   " + txTro$

x=PcomEnv(1, tx1$)                                 'mostrar mensagem
x=PcomEnv(1, tx2$)                                 'mostrar mensagem
end sub

##
