'Nome       : EmdRec.Ipw
'Tipo       : LST
'Data       : 2002/05/16
'Versao     : 2.4
'Descricao  : Formato de documento tipo Recibo para impressoras windows

'- Versao : 1.0  1999/12/29 -------------------------------------------------
'versao base

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

'- Versao : 2.1  2000/09/08 -------------------------------------------------
'extenso em escudos ou euros

'- Versao : 2.1a 2000/09/20 -------------------------------------------------
'definicao da variavel da moeda para extenso

'- Versao : 2.1b 2001/06/22 -------------------------------------------------
'gerar extenso com valor absoluto

'- Versao : 2.2  2001/11/08 -------------------------------------------------
'imprimir retencao de IRS

'- Versao : 2.3  2002/02/21 -------------------------------------------------
'Informar continuacao de documento no final

'- Versao : 2.4  2002/??/?? -------------------------------------------------
'ajustes graficos


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


'-----------------------------------------------------------------------------
' Campos especificos
'-----------------------------------------------------------------------------
#ESP
Zoom para preview                [PrvZoom]=1
Opcoes para impressora WIN      [PrWinOpc]=[ORI=P]
##



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

'formato
Saida/Impressora           [DocPrt]=PAG_W
'Saida/Impressora           [DocPrt]=PAG_W,PRV
Linhas por pagina          [DocLpg]=12
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0

'funcoes de listagem
Listar cabecalho            [FxCAB]=Cab
'Listar linhas               [FxLIN]=Lin; Ajt; Doc
Listar linhas               [FxLIN]=Lin
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     = Cta_Mst_Nome$
Morada   = Cta_Ang_Morada$
Local    = Cta_Ang_Local$
Cpost    = Cta_Ang_Cpost$
Ctrb     = Cta_Mst_Ctrb$

'totais do documento
TotVal   = FrmVal$(abs(Emd_Tot_Val),21,13.2)
TotDesco = FrmVal$(abs(Emd_Tot_Desco),21,13.2)
TotIva   = FrmVal$(abs(Emd_Tot_Iva),21,13.2)
TotIrs   = FrmVal$(abs(Emd_Tot_Irs),21,13.2)
TotDoc   = FrmVal$(abs(Emd_Tot_Doc),21,13.2)
TotEur   = FrmVal$(MoeCnv("N",Emd_Tot_Doc,Emd_Ide_Moeda,2),21,18.2)

'informacoes sobre o documento
DocNome   = Emd_Ide_Nome$
DocNum    = FrmNdo$("",Emd_Ide_Tdoc$,Emd_Ide_Ndoc$)
DocVia    = Emd_Ide_Via$
DocDtl    = FrmVal$(Emd_Ide_Dtl,45,0)
DocMoeda  = Emd_Ide_Moeda

'linhas do documento
LinTdo  = Emd_Lin_Tdoc$
LinNdo  = FrmNdo$("",Emd_Lin_Tdoc$,Emd_Lin_Ndoc$)
LinCt   = Emd_Lin_Ct$
LinDt   = FrmVal$(Emd_Lin_Dt,44,0)
LinVl   = FrmVal$(Emd_Lin_Vl,21,13.2)
LinTv   = Emd_Lin_Tv$
LinInf  = Emd_Lin_Inf$

LinVDoc = FrmMoe$("",13,EmdValcon("RCB_VDOC"))
LinVPen = FrmMoe$("",13,EmdValcon("RCB_VPEN"))
LinVpag = FrmMoe$("",13,Emd_Lin_Vl)
##


#PGM
'-----------------------------------------------------------------------------
' Funcoes para impressao do documento
'-----------------------------------------------------------------------------
'-----------------------------------------------------------------------------
' 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],OliLogo.bmp","R")     'imagem (logotipo)
PrWIN ET,  2                               'espessura de traco 
PrWIN GR_ME, 0                             'modo de enchimento
end sub


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

'-----------------------------------------------------------------------------
' Cabecalho do documento
'-----------------------------------------------------------------------------
SUB Cab 'cabecalho
PrWIN AJT_B, 8.0, 10.0                        'posicao base
PrWIN COR_F, 15                              'cor de fundo 
PrWIN GR_CX,   2,   2, 190, 110, 2           'caixa de moldura

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

PrWIN FON, 10, 1                                              'activar fonte
PrWIN TX_N, 10, 30,@EmpNome
PrWIN TX_N, 10, 35,@EmpMorada
PrWIN TX_N, 10, 40,@EmpLocal
PrWIN TX_N, 10, 45,@EmpCpost
PrWIN TX_N, 10, 50,"Telefone:"
PrWIN TX_N, 31, 50,@EmpTel
PrWIN TX_N, 10, 55,"Telefax:"
PrWIN TX_N, 31, 55,@EmpFax
PrWIN TX_N, 10, 60,"Contribuinte:"
PrWIN TX_N, 31, 60,@EmpCtrb
PrWIN TX_N, 10, 65,@EmpTps
PrWIN TX_N, 10, 70,@EmpReg

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, 8.0, 90                            'posicao base
PrWIN FON, 20, 1                             	'activar fonte
PrWIN TX_N, 100,   0,@DocNome
PrWIN FON, 10, 1                             	'activar fonte

PrWIN TX_N, 100,  10,"NUMERO :"
PrWIN TX_N, 130,  10,@DocNum

PrWIN TX_N, 100,  15,"VIA :"
PrWIN TX_N, 130,  15,@DocVia

PrWIN TX_N, 10,  10,"Data :"
PrWIN TX_N, 30,  10,@DocDtl

PrWIN TX_N, 10,  15,"Conta :"
PrWIN TX_N, 30,  15,@Ct

PrWIN TX_N, 10,  20,"V/ Ctrb. :"
PrWIN TX_N, 30,  20,@Ctrb


'-corpo do documento----------------------------------------------------------
PrWIN AJT_B, 8.0, 130                           'posicao base
PrWIN COR_E, 200, 200, 200                      'Cor de enchimento RGB

PrWIN GR_CE,  2,  0, 190,  10, 2           	'caixa do cabecalho
PrWIN GR_CX,  2, 10, 190,  80, 2           	'caixa de corpo

'PrWIN GR_CX,100,  0, 130,  80, 2           	'separadores verticais

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

EspValor=30
Col1=10
Col2=Col1+85
Col3=Col2+Espvalor
Col4=Col3+EspValor
Col5=Col4+EspValor

PrWIN TX_CTR,  Col1,  0, Col2,  10,"Documento"      'texto centrado
PrWIN TX_CTR,Col2,  0, Col3,  10,"Valor"     'texto centrado
PrWIN TX_CTR,Col3,  0, Col4,  10,"Valor pago"        'texto centrado
PrWIN TX_CTR,Col4,  0, Col5,  10,"Valor pendente"        'texto centrado

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

'zona de impressao
'PrWIN AJT_B, 0.0, 0.0                        'posicao base
'PrWIN GR_CX,   5,   5, 201, 290, 1           'caixa de moldura limite
end sub


'-----------------------------------------------------------------------------
' Linhas do Documento
'-----------------------------------------------------------------------------
SUB LinAjt 'ajuste de linhas
'?
end sub


SUB Lin 'linha normal
PrWIN AJT_B,       8,130+Doc_CntLin*5                'posicao base
PrWIN  TX_N,Col1    ,10    ,@LinInf
PrWIN  TX_N,Col1+25 ,10    ,@LinDt
PrWIN TX_NP,Col2    ,10,"N",@LinVDoc
PrWIN TX_NP,Col3    ,10,"N",@LinVpag
PrWIN TX_NP,Col4    ,10,"N",@LinVpen
end sub


'-----------------------------------------------------------------------------
' Final do Documento
'-----------------------------------------------------------------------------
SUB FimAJt 'ajuste de total do documento
PrWIN AJT_B,  8, 210                            'posicao base
PrWIN TX_N,  10, 5  ,"Continua ..."
PrWIN FP                                                  'fim de pagina
end sub


SUB Fim 'total do documento
max=TxtSepLin(Emd_Ide_Descr$,100," ")           'separar descricao
'max=TxtSepMul(Emd_Ide_Descr$, ",")                        'Separar pelo caracter '.'
For cnt=1 to max
PrWIN AJT_B,  8, 205+cnt*5                      'posicao base
PrWIN TX_N,  10,  5,ConTx$(cnt)
Next

PrWIN AJT_B,   8, 240                           'posicao base
PrWIN GR_CX,   2,   0, 190,  30, 2         	'caixa de moldura
PrWIN GR_CX, 100,   0, 130,  30, 2         	'caixa

PrWIN GR_LI, 130,  21, 190,  21, 2           	'separador horizontal

'PrWin FON, "BOLD+"                        	'activar bold

PrWIN TX_N,  20,  5,"PROCESSADO POR COMPUTADOR"
PrWIN TX_N, 106,  5,"Iliquido"
PrWIN TX_N, 106, 10,"Desconto"
PrWIN TX_N, 106, 15,"Reg. do IVA"

PrWIN TX_NP, 150,  5,"N",@TotVal
PrWIN TX_NP, 150, 10,"N",@TotDesco
PrWIN TX_NP, 150, 15,"N",@TotIva

'PrWIN TX_N,  20,  1,"PROCESSADO POR COMPUTADOR"
'PrWIN TX_N, 106,  1,"Iliquido"
'PrWIN TX_N, 106, 06,"Desconto"
'PrWIN TX_N, 106, 11,"Reg. do IVA"
'PrWIN TX_N, 106, 16,"Ret. do IRS"

'PrWIN TX_NP, 150,  1,"N",@TotVal
'PrWIN TX_NP, 150, 06,"N",@TotDesco
'PrWIN TX_NP, 150, 11,"N",@TotIva
'PrWIN TX_NP, 150, 16,"N",@TotIrs

PrWIN TX_N,  10, 23,"Total em Euro:"
PrWIN TX_NP,  50, 23,"N",@TotEur

PrWIN TX_N, 106, 23,"Total"
PrWIN TX_NP, 150, 23,"N",@TotDoc

Tmp=NumExtPrp("80,80","=")                                'preparar extenso
PrWIN TX_N, 10, 35,"Sao: "
PrWIN TX_N, 20, 35,NumExt$(1,abs(Emd_Tot_Doc),EmpTabCon$("MOEDA", MemNum(31), "ABRV"),3) 'linha 1 de extenso
PrWIN TX_N, 10, 40,NumExt$(2)                             'linha 2 de extenso
PrWIN FP                                                  'fim de pagina
end sub
##

