'Nome       : StdRec.Ipw
'Tipo       : LST
'Data       : 2003/07/07
'Versao     : 2.6
'Descricao  : Formato de documento tipo recibo

'-----------------------------------------------------------------------------
' Modificacoes
'-----------------------------------------------------------------------------
'- Versao : 2.0  2000/01/05 -------------------------------------------------
'Versao base

'- Versao : 2.0a 2000/04/17 -------------------------------------------------
'Linha para medidas

'- Versao : 2.1  2000/05/11 -------------------------------------------------
'saltos de pagina

'- Versao : 2.2  2001/07/23 -------------------------------------------------
'ajustes graficos
'formatacao de numero documento alterado para modo automatico

'- Versao : 2.3  2002/02/02 -------------------------------------------------
'Correcao nas variaveis de abreviatura

'- Versao : 2.4  2002/05/07 -------------------------------------------------
'Listar linhas tipo NOR e TXL

'- Versao : 2.5  2003/03/05 -------------------------------------------------
'correcao de impressao variaveis(numero e data)

'- Versao : 2.6  2003/??/?? -------------------------------------------------
'Colocar as sequencias para recolha pr artigo


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


'-----------------------------------------------------------------------------
' Campos especificos
'-----------------------------------------------------------------------------
#ESP
##


'-----------------------------------------------------------------------------
' Configuracao do documento
'-----------------------------------------------------------------------------
#DOC
Nome                       [DocNom]=Recibo
'Vias                       [DocVia]=Original;Duplicado
'Vias                       [DocVia]=Original;Duplicado,2;Triplicado
Vias                       [DocVia]=Original unico

'formato
Saida/Impressora           [DocPrt]=PAG_W
Linhas por pagina          [DocLpg]=18
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=3


'funcoes de listagem
Listar cabecalho            [FxCAB]=Cab
Listar linhas               [FxLIN]=Lin; Ajt; Txl; Doc ; Nor ; Dm
Listar fim                  [FxFIM]=Fim
##


'-----------------------------------------------------------------------------
' Variaveis
'-----------------------------------------------------------------------------
#VAR
Pag      = Doc_CntPag
DataExt  = FrmVal$(Sig_DtHoje,45,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$

'indicacao do destinatario do documento
Ct       = Cta_Mst_Ct$
Nome     = VarAlt$("ENC_MST","Cta_Mst_Nome$")
Morada   = VarAlt$("Enc_Mst","Cta_Ang_Morada$")
Local    = VarAlt$("ENC_MST","Cta_Ang_Local$")
Cpost    = VarAlt$("ENC_MST","Cta_Ang_Cpost$")
Ctrb     = VarAlt$("ENC_MST","Cta_Mst_Ctrb$")

'documentos parciais
'DocIde   = Enc_Mst_Tdoc$+" "+FrmNdo$("",Enc_Mst_Tdoc$,Enc_Mst_Ndoc$)
DocIde   = Enc_Mst_Descr$
DocTot   = FrmMoe$("",15,Enc_Mst_ValTot)
DocPag   = FrmMoe$("",15,EncValCon("RCB_VREC"))
DocPend  = FrmMoe$("",15,EncValCon("RCB_VPEN"))

MoedaExt  = "Valores em Euro :"
EDocTot   = FrmVal$(MoeCnv("N",Enc_Mst_ValTot,Enc_Mst_Moeda,2),21,13.2)
EDocPag   = FrmVal$(MoeCnv("N",EncValCon("RCB_VREC"),Enc_Mst_Moeda,2),21,13.2)
EDocPend  = FrmVal$(Moecnv("N",EncValCon("RCB_VPEN"),Enc_Mst_Moeda,2),21,13.2)

Abv1      = EmpTabCon$("MOEDA",Emp_Inf_Moeda,"ABRV")
Abv2      = "Eur"

'totais do documento
TotDoc   = FrmMoe$("",15,Ado_Tot_Val)
TotDesco = FrmMoe$("",15,Ado_Tot_Desco)
TotGer   = FrmMoe$("",15,Ado_Tot_Tot)

ETotDoc   = ETotDoc$
ETotDesco = ETotDesco$
ETotGer   = ETotGer$

'informacoes sobre o documento
DocNome   = Doc_Ide_Nome$
'DocNome   = Doc_Ide_Sdoc$

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)

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

'Linhas texto livre
LinInf1   = LinInf1$
LinInf2   = LinInf2$
LinInf3   = LinInf3$


'recolha por artigo
LinArt2    = Stc_Mst_Art$+" "+EncArtIde$("")
LinOpcCor  = TxIde$(Enc_Mov_Opc$,"COR")   
ArtIde     = EncArtIde$("")
LinNome    = Stc_Mst_Nome1$
LinQu      = StcQuFrm$(Doc_Art_Qu,8,"")
LinUni     = Stc_Mst_Unid$
LinDesco   = Enc_Mov_Desco$
LinMedTx   = Enc_Mov_MedTxt$

LinPrc     = FrmMoe$("",14,Doc_Art_Prc)
LinLiq     = FrmMoe$("",14,Doc_Art_Liq)

LinTxl     = Enc_Mov_Div$
##


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

'Modos de uso               [IDM]=Rec,Cor

Funcao : Recolha       [FX,REC ]=REC; EXE
Funcao : Corrigir      [FX,COR ]=COR; EXE
Funcao : Executar      [FX,EXE ]=*
Recolha automatica           [E]=RAUTO
'Campo opcional              [E]=OPC Var$,Descricao,Tipo(A/N)+Dig
Quantidade                   [E]=QU; ESC:LPL
'Quantidade 2                [E]=QU2
Preco                        [E]=PRC
Desconto                     [E]=DES
Iva                          [E]=IVA

'Funcao e Mensagem (MsgBox)   [E]=FxExe UtzMsgBox
'Funcao e Mensagem (Sbar)     [E]=FxExe UtzMsgSbar
'Mensagem em MsgBox           [E]=MsgBox "",Titulo,Linha1|Linha2
'Mensagem em Status Bar       [E]=MsgSbar 1,Msg painel 1
'Esperar (segundos)           [E]=EspSeg 2

Total                  [E,TOT  ]=TOT
Confirmar linha              [E]=CFL; CF2:ALT, ESC:LPL
Registar                     [E]=REG
Fim de sequencia             [E]=FIM

'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


'------------------------------------------------------------------------------
' Linha com campos opcionais 
'------------------------------------------------------------------------------
' Deficinao de Campos opcionais  ex:Cor

' linha para sequencia                     [E]=OPC Var$,Descricao,Tipo(A/N)+Dig
'               Campo opcional Cor         [E]=OPC COR,Cor escolhida,A15

' definir a linha no cabecalho do documento e no documento com o nome "COR"
'
' Indicar no artigo o tipo de linha da identificacao de sequencia 
' neste caso "COR"
'------------------------------------------------------------------------------
Identificacao de sequencia [IDS]=COR
Codigos validos            [ID1]=*
Codigos invalidos          [ID0]=PORTE,MOBRA
'Modos de uso               [IDM]=Rec,Cor

Funcao : Recolha       [FX,REC ]=REC; EXE
Funcao : Corrigir      [FX,COR ]=COR; EXE
Funcao : Executar      [FX,EXE ]=*
Recolha aautomatica          [E]=RAUTO
Campo opcional 1             [E]=OPC COR,Cor,A15
Campo opcional 2             [E]=OPC XYZ,Opcao XYZ,A5
Quantidade                   [E]=QU; ESC:LPL
Quantidade 2                 [E]=QU2
Preco                        [E]=PRC
Desconto                     [E]=DES
Iva                          [E]=IVA

Total                  [E,TOT  ]=TOT
Confirmar linha              [E]=CFL; CF2:ALT, ESC:LPL
Registar                     [E]=REG
Fim de sequencia             [E]=FIM

'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


'------------------------------------------------------------------------------
' Tipo Valor total (portes e Mao de obra)
'------------------------------------------------------------------------------
Identificacao de sequencia [IDS]=PMO
Codigos validos            [ID1]=PORTE,MOBRA
Codigos invalidos          [ID0]=

Funcao : Recolha       [FX,REC ]=REC; EXE
Funcao : Corrigir      [FX,COR ]=COR; EXE
Funcao : Executar      [FX,EXE ]=*
Recolha automatica           [E]=RAUTO
Preco                        [E]=PRC
Desconto                     [E]=DES
Iva                          [E]=IVA
Total                  [E,TOT  ]=TOT
Confirmar linha              [E]=CFL; CF2:ALT, ESC:LPL
Registar                     [E]=REG
Fim de sequencia             [E]=FIM

Inicio de alteracao    [E,ALT  ]=ALT
Preco                        [E]=PRC
Desconto                     [E]=DES
Iva                          [E]=IVA; TOT

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


'------------------------------------------------------------------------------
' Tipo Medidas
'------------------------------------------------------------------------------
Identificacao de sequencia [IDS]=MED
Codigos validos            [ID1]=MED
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]=QU
Medidas (altera se nulo)     [E]=MED
'Medidas (forca alteracao)    [E]=MED ALT
'Esperar (segundos)           [E]=EspSeg 2
Preco                        [E]=PRC
Desconto                     [E]=DES
Iva                          [E]=IVA
Total                  [E,TOT  ]=TOT
Confirmar linha              [E]=CFL; CF2:ALT, ESC:LPL
Registar                     [E]=REG
Fim de sequencia             [E]=FIM

Inicio de alteracao    [E,ALT  ]=ALT
Medidas (forca alteracao)    [E]=MED ALT
Preco                        [E]=PRC
Desconto                     [E]=DES
Iva                          [E]=IVA; TOT

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


'------------------------------------------------------------------------------
' Tipo Texto livre
'------------------------------------------------------------------------------
Identificacao de sequencia [IDS]=TXL
Codigos validos            [ID1]=
Codigos invalidos          [ID0]=
'Modos de uso               [IDM]=Rec:RTX; Alt:RTX; Cor:RTX

Funcao : Recolha       [FX,REC ]=REC; EXE
Funcao : Corrigir      [FX,COR ]=COR; EXE
Funcao : Executar      [FX,EXE ]=*
Texto                  [E,RTX  ]=TXL
Recolha automatica           [E]=RAUTO
Confirmar linha              [E]=CFL; CF2:RTX, ESC:LPL
Registar                     [E]=REG
Fim de sequencia             [E]=FIM

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


'------------------------------------------------------------------------------
' Linha artigo com nome livre 
'------------------------------------------------------------------------------
Identificacao de sequencia [IDS]=IDE
Codigos validos            [ID1]=
Codigos invalidos          [ID0]=
'Modos de uso               [IDM]=Rec,Cor

Funcao : Recolha       [FX,REC ]=REC; EXE
Funcao : Corrigir      [FX,COR ]=COR; EXE
Funcao : Executar      [FX,EXE ]=*
Recolha aautomatica          [E]=RAUTO
Campo opcional 1             [E]=OPC OPCIDE,Nome,A30
Quantidade                   [E]=QU; ESC:LPL
Preco                        [E]=PRC
Desconto                     [E]=DES
Iva                          [E]=IVA

Total                  [E,TOT  ]=TOT
Confirmar linha              [E]=CFL; CF2:ALT, ESC:LPL
Registar                     [E]=REG
Fim de sequencia             [E]=FIM

'alterar dados
Inicio de alteracao    [E,ALT  ]=ALT
Quantidade                   [E]=QU
Preco                        [E]=PRC
Desconto                     [E]=DES
Iva                          [E]=IVA; TOT

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



'------------------------------------------------------------------------------
' Linha artigo tipo documento manual
'------------------------------------------------------------------------------
Identificacao de sequencia [IDS]=DM
Codigos validos            [ID1]=
Codigos invalidos          [ID0]=
'Modos de uso               [IDM]=Rec,Cor

Funcao : Recolha       [FX,REC ]=REC; EXE
Funcao : Corrigir      [FX,COR ]=COR; EXE
Funcao : Executar      [FX,EXE ]=*
Recolha aautomatica          [E]=RAUTO
Campo opcional 1             [E]=OPC OPCIDE,Documento,A25
'Quantidade                   [E]=QU; ESC:LPL
Preco                        [E]=PRC
Desconto                     [E]=DES
Iva                          [E]=IVA

Total                  [E,TOT  ]=TOT
Confirmar linha              [E]=CFL; CF2:ALT, ESC:LPL
Registar                     [E]=REG
Fim de sequencia             [E]=FIM

'alterar dados
Inicio de alteracao    [E,ALT  ]=ALT
Quantidade                   [E]=QU
Preco                        [E]=PRC
Desconto                     [E]=DES
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
31, 10, 20,200,"Informação Livre",100,TxIde$(Enc_Mst_Opc$,"INF1")         ,30.0,250
31, 10, 20,230,"Informação Livre",100,TxIde$(Enc_Mst_Opc$,"INF2")         ,30.0,250
31, 10, 20,260,"Informação Livre",100,TxIde$(Enc_Mst_Opc$,"INF3")         ,30.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 inicializacao
'-----------------------------------------------------------------------------
SUB FxIni 'funcao de inicializacao
'modo WIN
PrWIN AJT_F, 56.7,  56.7                   'ajuste para milimetros
PrWIN AJT_D,-280.0,-280.0                  'deslocamento de ajuste 
PrWIN IMG_F, 1, VarTx$("[SIG_DIR.DIV],DocLogo.bmp","R")     'imagem (logotipo)
PrWIN ET,  2                               'espessura de traco 
end sub


SUB FxFim 'funcao de finalizacao
PrWIN FON, "REG"                           'limpar registo de fontes
end sub

'-----------------------------------------------------------------------------
' Funcoes para impressao do documento
'-----------------------------------------------------------------------------
SUB CabIni
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")
LinInf2$  = TxIde$(Enc_Mst_Opc$,"INF2")
LinInf3$  = TxIde$(Enc_Mst_Opc$,"INF3")

'ListarMoeda2=1


'definicao de moedas
Moeda1 = Enc_Mst_Moeda           'moeda principal
Moeda2 = 98                       'moeda secundaria - EURO
Moeda2 = Moeda1                  'nao faz contravalor


MargemD    = 190 
Margem    = 8
Fimdoc    = 230
FimAjtExt = 0

if moeda2=moeda1 then
  FimDoc=250
  FimAjtExt = 15
end if
end sub

'-----------------------------------------------------------------------------
' Cabecalho do documento
'-----------------------------------------------------------------------------
SUB CAB 'cabecalho do documento
'PrWIN COR_F, 15                              'cor de fundo 
PrWIN AJT_B,  Margem, 10.0                       'posicao base

'PrWIN GR_CX,   2,   2, 190, 110, 2            'caixa de moldura

PrWIN IMG_V,1, 2, 2, 50, 20                  'imagem (logotipo)
'PrWIN GR_CX,   2, 2, "+50", "+20", 2         'caixa envolvente

PrWIN FON, 18, 1                             	'activar fonte
PrWin FON, "BOLD+"                              'activar bold
PrWIN TX_N, 55, 10,@EmpNome 
PrWin FON, "BOLD-"                              'desactivar bold

'PrWIN GR_CX,  2, 25, 80, 75, 2               'caixa da morada da empresa
PrWIN FON, 10, 1                             'activar fonte
PrWIN TX_N, 10, 28,@EmpNome
PrWIN TX_N, 10, 33,@EmpMorada
PrWIN TX_N, 10, 38,@EmpLocal
PrWIN TX_N, 10, 43,@EmpCpost
PrWIN TX_N, 10, 48,"Telefone:"
PrWIN TX_N, 31, 48,@EmpTel
PrWIN TX_N, 10, 53,"Telefax:"
PrWIN TX_N, 31, 53,@EmpFax

'PrWIN GR_CX,  2, 65, 80, 80, 2               'caixa dos dados da empresa
PrWIN TX_N, 10, 58,"Contribuinte:"
PrWIN TX_N, 31, 58,@EmpCtrb
PrWIN TX_N, 10, 63,@EmpTps
PrWIN TX_N, 10, 68,@EmpReg

'PrWIN AJT_B, 95, 25                           'posicao base
'PrWIN GR_CX, 85, 25, 190, 75, 2                'caixa da morada do cliente
PrWIN TX_N, 100, 35,"Exmo(s). Snr(s).:"
PrWIN TX_N, 100, 45,@Nome
PrWIN TX_N, 100, 50,@Morada
PrWIN TX_N, 100, 55,@Local
PrWIN TX_N, 100, 60,@Cpost

PrWIN AJT_B, Margem, 85                            'posicao base
PrWIN GR_CX,  2,  5, 80, 25, 2                  'caixa dos dados do cliente
PrWIN TX_N, 10,  08,"Data :"
PrWIN TX_N, 30,  08,@DocRcDtl
PrWIN TX_N, 10,  13,"Conta :"
PrWIN TX_N, 30,  13,@Ct
PrWIN TX_N, 10,  18,"V/ Ctrb. :"
PrWIN TX_N, 30,  18,@Ctrb

PrWIN FON, 20, 1                             	'activar fonte
PrWIN TX_N, 100,   5,@DocNome
PrWIN FON, 10, 1                             	'activar fonte
PrWIN TX_N, 100,  15,"NUMERO :"
PrWIN TX_N, 130,  15,@DocRcNum
PrWIN TX_N, 100,  20,"VIA :"
PrWIN TX_N, 130,  20,@DocVia


'============ titulos das linhas da factura
PosIdeLin=115
PrWIN AJT_B, Margem, PosIdeLin                  'posicao base
PrWIN COR_E, 200, 200, 200                      'Cor de enchimento RGB
PrWIN GR_ME, 0                                  'modo de enchimento

PrWIN GR_CE,  2,  0, 190,  08, 2           	'caixa do cabecalho
'PrWIN GR_CX,  2, 08, 190, 100, 2           	'caixa de corpo

'PrWIN GR_LI,130,  0, 130, 110, 2           	'separador vertical

'== posicao das colunas
espvl=35                   'espaco para valor
AltQ=8                     'altura da caixa

Col1=10                     'documento
Col2=30+Col1+espVl             'valor
Col3=Col2+EspVl             'valor pago
Col4=Col3+EspVl             'valor pendente
Col5=Col4+EspVl             'coluna maxima

PrWIN GR_CE,  0,  0, MargemD,  Altq, 2           	'caixa do cabecalho

PrWin FON, "BOLD+"                              'activar bold
PrWIN FON, 10, 1                             	'activar fonte

PrWIN TX_CTR, Col1, 0, Col2, Altq,"Documento"      'texto centrado
PrWIN TX_CTR, Col2, 0, Col3, Altq,"Valor"          'texto centrado
PrWIN TX_CTR, Col3, 0, Col4, Altq,"Valor Pago"     'texto centrado
PrWIN TX_CTR, Col4, 0, Col5, Altq,"Valor Pendente" 'texto centrado

PrWIN FON, 10, 1                             	'activar fonte
PrWin FON, "BOLD-"                              'desactivar bold

PrWIN GR_CX,  0,  0, MargemD ,Fimdoc-PosIdeLin-5     'caixa do corpo da factura
end sub


'-----------------------------------------------------------------------------
' Linhas do Documento
'-----------------------------------------------------------------------------
Sub LinPos 'posicionar em linha
PrWIN AJT_B,   Margem, 120+Doc_CntLin*5                'posicao base
End Sub

SUB LinDoc 'linha de documento
Call LinPos
PrWIN TX_N,   Col1,  0,@DocIde
PrWIN TX_NP,  Col2,  0,"N",@DocTot
PrWIN TX_NP,  Col3,  0,"N",@DocPag
PrWIN TX_NP,  Col4,  0,"N",@DocPend
call LinDocMoeda2
end sub


SUB LinNor 'linha de documento
Call LinPos
PrWIN TX_N,   Col1-5,  0,@LinArt2
PrWIN TX_NP,  Col2,  0,"N",@LinLiq
PrWIN TX_NP,  Col3,  0,"N",@LinLiq
call LinDocMoeda2
end sub


SUB LinDm 'linha de documento
Call LinPos
PrWIN TX_N,   Col1,  0,@ArtIde
PrWIN TX_NP,  Col2,  0,"N",@LinLiq
PrWIN TX_NP,  Col3,  0,"N",@LinLiq
call LinDocMoeda2
end sub


SUB LinDocMoeda2 'valores na moeda 2
if ListarMoeda2=1 then
 PrWIN COR_T,   CorTit                          'cor azul
 tmp=CntLin("INC",1)                             'incrementar contador linhas
 Call LinPos                                               'posicionar linha
 PrWIN  TX_N, Col1+10,  0,    @MoedaExt
 PrWIN TX_NP,  Col2,  0,"N",@EDocTot
 PrWIN TX_NP,  Col3,  0,"N",@EDocPag
 PrWIN TX_NP,  Col4,  0,"N",@EDocPend
 PrWIN COR_T,   0                              'cor preta
end if
End sub


SUB LinTxl 'artigos tipo texto livre
Call LinPos
PrWIN TX_N,    4,  0,@LinTxl
end sub


SUB LinAjt 'ajuste de linhas
 
end sub



'-----------------------------------------------------------------------------
' Final do Documento
'-----------------------------------------------------------------------------
SUB FimAjt  'ajuste de fim de pagina
PrWIN FP                                           'fim de pagina
end sub


SUB Fim     '============= Final do documento =============
PrWIN AJT_B,   Margem, FimDoc                           'posicao base

cmax=190

PrWIN GR_CX,   0,   0, 190,  47-FimAjtExt, 2         	'caixa de totais

ln=32


'========= Linhas de informacao livre ====
PrWIN AJT_B,  15, FimDoc+5
PrWIN  TX_N,  0, 0, @LinInf1
PrWIN  TX_N,  0, 5, @LinInf2
PrWIN  TX_N,  0,10, @LinInf3

'========= Totais do documento =======
cl=115
PrWIN AJT_B,  Cl, FimDoc+3
L1=0
L2=5
L3=9
l4=16
PrWin FON, "BOLD+"                              'activar bold
PrWIN TX_N, 5, 0,EmpTabCon$("MOEDA", Moeda1, "ABRV")
PrWIN TX_N, 20, L1,"Iliquido"
PrWIN TX_N, 20, L2,"Desconto"
PrWIN TX_N, 20, L3,"Total"
PrWin FON, "BOLD-"                              'desactivar bold
PrWIN TX_NP, 50, L1,"N",@TotDoc
PrWIN TX_NP, 50, L2,"N",@TotDesco
PrWIN TX_NP, 50, L3,"N",@TotGer

'Valores Euro
if moeda2<>moeda1 then

 ETotDoc$   = FrmVal$(MoeCnv("N",Ado_Tot_Val,Moeda1,Moeda2),21,13.2)
 ETotDesco$ = FrmVal$(MoeCnv("N",Ado_Tot_Desco,Moeda1,Moeda2),21,13.2)
 ETotGer$   = FrmVal$(MoeCnv("N",Ado_Tot_Tot,Moeda1,Moeda2),21,13.2)

 PrWIN GR_LI,   0,  L4, 83,  l4, 2           	'separador horizontal dos valores
 PrWIN AJT_B,  cl, FimDoc+20
 PrWin FON, "BOLD+"                              'activar bold
 PrWIN TX_N, 5, 0,EmpTabCon$("MOEDA", Moeda2, "ABRV")
 PrWIN TX_N, 20, L1,"Iliquido"
 PrWIN TX_N, 20, L2,"Desconto"
 PrWIN TX_N, 20, L3,"Total"
 PrWin FON, "BOLD-"                              'desactivar bold
 PrWIN TX_NP, 50, L1,"N",@ETotDoc
 PrWIN TX_NP, 50, L2,"N",@ETotDesco
 PrWIN TX_NP, 50, L3,"N",@ETotGer
end if


' == Extensos 
PrWIN AJT_B,  Margem, FimDoc+35-FimAjtExt                  'posicao base
PrWIN GR_LI,   0,  0, 190,  0, 2           	'separador horizontal dos valores
Lin1=1
Lin2=6
Lin3=13

PrWin FON, "BOLD+"                              'activar bold
PrWIN TX_N,  2, Lin1,"Extenso :"
PrWin FON, "BOLD-"                              'desactivar bold

ExtNl=NumExtPrp("85,100","=")                           'preparar extenso escudos
PrWIN TX_N,  18, Lin1,NumExt$(1,Ado_Tot_Tot,EmpTabCon$("MOEDA", Moeda1, "ABRV"),3)    'linha extenso
PrWIN TX_N,  18, Lin2,NumExt$(2)               'linha extenso

PrWIN FON, 7, 1                             	'activar fonte
PrWIN TX_N,  0, Lin3,SigLstInf$("PERSON")
PrWin FON, 8, 1
PrWIN TX_N, 140, Lin3,"PROCESSADO POR COMPUTADOR

PrWIN FP                                           'fim de pagina
end sub

##
