'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;Duplicado;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]=22
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   = "N.I.F. "+Emp_Inf_Contrib$
EmpTps    = Emp_Inf_NatJur$
EmpReg    = Emp_Inf_NumReg$
EmpMail  = Emp_Inf_Email$
EmpMor   = Emp_Inf_Morada$+", "+Emp_Inf_Local$+", "+Emp_Inf_Cpost$
EmpNums  = Emp_Inf_Telef$+" - "+Emp_Inf_Fax$
EmpEther = Emp_Inf_Email$+" - "+Emp_Inf_Web$
EmDadosF = Emp_Inf_NatJur$+" - "+"Capital Social Variável:"+FrmVal$(Emp_Inf_CapSoc,21,10.2)+" € - "+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,44,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],LogoCoopBen.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 COR_F, 15                                    'cor de fundo 
PrWIN AJT_B,  45, 0.0                               'posicao base
'PrWIN IMG_V,1, 5, 5, 20, 20                        'imagem (logotipo)
PrWIN AJT_B, 8, 0.0                               'posicao base
PrWIN FON, 10.5, 1                                   'activar fonte
'PrWIN TX_CTR, 0, 28,105, 32,@EmpNome
PrWIN FON, 09, 1                                   'activar fonte
'PrWIN TX_CTR, 0, 33,105, 37,@EmpMor
'PrWIN TX_CTR, 0, 37,105, 41,@EmpNums
'PrWIN TX_CTR, 0, 41,105, 45,@EmpEther
'PrWIN TX_CTR, 0, 45,105, 49,@EmpCtrb
PrWIN FON, 10, 1                                   'activar fonte
PrWIN AJT_B,  10, 70                               'posicao base
PrWIN COR_E, 200, 200, 200                         'Cor de enchimento RGB
PrWIN GR_ME, 0                                     'modo de enchimento
PrWIN GR_CE,  0,  0, 70, 12, 2                     'caixa do cabecalho
PrWIN GR_CX,  0,  0, 70, 17, 2                     'caixa dos dados do documento
PrWIN GR_LI,  0,  7, 70,  7, 2                     'separador horizontal do documento
PrWIN GR_LI,  0, 12, 70, 12, 2                     'separador horizontal do documento
PrWIN GR_LI, 35,  7, 35, 17, 2                     'separador Vertical   do documento
PrWin FON, "BOLD+"                                 'activar bold
PrWIN   FON, 16,   1                               'activar fonte
PrWIN TX_CTR, 0,  0, 70,  7,@DocNome
PrWIN   FON,  9,   1                               'activar fonte
PrWIN TX_CTR, 0,  7, 35, 12,"Data"
PrWIN TX_CTR,35,  7, 70, 12,"Numero"
PrWin FON, "BOLD-"                                 'desactivar bold
PrWIN TX_CTR, 0, 12, 35, 17,@DocDtl
PrWIN TX_CTR,35, 12, 70, 17,@DocNum

PrWIN  TX_N, 12,  18,"Via Documento:"
PrWIN  TX_N, 35,  18,@DocVia

PrWIN FON, 10, 1                                   'activar fonte
'destinatario do documento

PrWIN AJT_B,  110, 37                              'posicao base
PrWIN TX_N, 0, 15,"Exmo(s). Snr(s).:"
PrWIN TX_N, 0, 20,@Nome
PrWIN TX_N, 0, 25,@Morada
PrWIN TX_N, 0, 30,@Local
PrWIN TX_N, 0, 35,@Cpost

PrWIN AJT_B, 10, 094                               'posicao base
PrWIN   FON,  9,   1                               'activar fonte
PrWIN GR_CX,  0,  0, 70, 10, 2                     'caixa dos dados do cliente
PrWIN COR_E,200,200,200                            'Cor de enchimento RGB
PrWIN GR_ME,  0                                    'modo de enchimento
PrWIN GR_CE,  0,  0, 70,  5, 2                     'caixa do cabecalho
PrWIN GR_LI,  0,  5, 70,  5, 1
PrWIN GR_LI, 35,  0, 35, 10, 1                     'separador Vertical   do documento
PrWIN TX_CTR, 0,  0, 35, 05,"V/ Codigo"
PrWIN TX_CTR,35,  0, 70, 05,"V/ Nº Contribuinte "
PrWIN TX_CTR, 0,  5, 35, 10,@Ct
PrWIN TX_CTR,35,  5, 70, 10,@Ctrb

PrWIN  TX_N, 12,  11,"Pagina:"
PrWIN  TX_N, 32,  11,@Pag


'-corpo do documento----------------------------------------------------------
PrWIN AJT_B, 8.0, 110                           '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, 125, 2           	'caixa de corpo

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

PrWIN FON, 08, 1                             	'activar fonte
PrWIN TX_Ro,  -2, 70, 90,"PROCESSADO POR COMPUTADOR"

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,109+Doc_CntLin*5                'posicao base
PrWIN  TX_N,Col1    ,10    ,@LinInf
PrWIN  TX_N,Col1+35 ,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, 230                            '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, 226+cnt*4                      'posicao base
PrWIN TX_N,  10,  5,ConTx$(cnt)
Next

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

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

'PrWin FON, "BOLD+"                        	'activar bold
PrWIN FON,10, 1                             	'activar fonte
PrWIN TX_N,    20,  3,"       Assinatura        "

PrWIN FON,09, 1                             	'activar fonte
'PrWIN TX_N, 106,  3,"Iliquido"
'PrWIN TX_N, 106,  8,"Desconto"
'PrWIN TX_N, 106, 13,"Reg. do IVA"

'PrWIN TX_NP, 150,  3,"N",@TotVal
'PrWIN TX_NP, 150,  8,"N",@TotDesco
'PrWIN TX_NP, 150, 13,"N",@TotIva

PrWIN TX_N, 106,  2,"Iliquido"
PrWIN TX_N, 106, 06,"Desconto"
PrWIN TX_N, 106, 10,"Reg. do IVA"
PrWIN TX_N, 106, 14,"Ret. do IRS"

PrWIN TX_NP, 150,  1,"N",@TotVal
PrWIN TX_NP, 150, 06,"N",@TotDesco
PrWIN TX_NP, 150, 10,"N",@TotIva
PrWIN TX_NP, 150, 14,"N",@TotIrs


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

Tmp=NumExtPrp("80,80","=")                                'preparar extenso
PrWIN TX_N, 10, 25,"Sao: "
PrWIN TX_N, 20, 25,NumExt$(1,abs(Emd_Tot_Doc),EmpTabCon$("MOEDA", MemNum(31), "ABRV"),3) 'linha 1 de extenso
PrWIN TX_N, 10, 30,NumExt$(2)                             'linha 2 de extenso
PrWIN FON, 7, 1                                           'activar fonte
PrWin FON, 8, 1
'PrWIN TX_CTR,0, 32,190, 32,@EmDadosF
PrWIN FP                                                  'fim de pagina
end sub
##

