'Nome       : Cheque.Std
'Tipo       : STD
'Data       : 2005/10/21
'Versao     : 1.1a
'Descricao  : Formato de Cheque


'==============================================================================
'#VER - Historia de modificacoes
'==============================================================================
'- Versao : 1.0  2001/09/25 ---------------------------------------------------
'Versao base

'- Versao : 1.1  2002/02/20 ---------------------------------------------------
'Alteracao nos ficheiros a usar nas inclusoes

'- Versao : 1.1a 2005/??/?? ---------------------------------------------------
'Correccao ortografica


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


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


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=CHEQUE
Nome                       [DocNom]=CHQ,Emissão cheques
Dados especificos          [DocEsp]=ESP1

'formato
Impressora                 [DocPrt]=
Linhas por pagina          [DocLpg]=20
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Cheques por folha          [DocEsp]=ChqPag=3

'funcoes de listagem
Listar cabecalho            [FxCAB]=Chq_Cab
Listar linhas               [FxLIN]=Chq_Lin ;Cab; Ajt 
Listar fim                  [FxFIM]=Chq_Fim
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=CHEQUE
Nome                       [DocNom]=CHQ_G,Emissão de Cheques
Dados especificos          [DocEsp]=ESP1

'formato
Saida/Impressora           [DocPrt]=PAG_W
Linhas por pagina          [DocLpg]=20
Formato do papel           [DocPap]=66L
Ajustar pagina             [DocApg]=0
Cheques por folha          [DocEsp]=ChqPag=3

'funcoes de listagem
Listar cabecalho            [FxCAB]=ChqG_Cab
Listar linhas               [FxLIN]=ChqG_Lin ;Cab; Ajt 
Listar fim                  [FxFIM]=ChqG_Fim
##


'==============================================================================
#VAR - Variaveis
'==============================================================================
'Memorias de valor
'MemNum(10) = valor total
'MemNum(11) = parte inteira
'MemNum(12) = parte decimal
'MemNum(13) = parte decimal * 100

Pag      = Doc_CntPag
DataExt  = FrmVal$(Sig_DtHoje,45,0)
Ordem    = Gpe_Mst_Nome$
EmpLocal = Emp_Inf_Local$


'==== Impressao Texto ====
Ano      = TxInsSepCar$(mid$(FrmVal$(Sig_DtHoje,44,0),1,4)," ")
Mes      = TxInsSepCar$(mid$(FrmVal$(Sig_DtHoje,44,0),6,2)," ")
Dia      = TxInsSepCar$(mid$(FrmVal$(Sig_DtHoje,44,0),9,2)," ")

'Formatacao para escudos
V0       = TxInsSepCar$(FrmVal$(abs(MemNum(10)),21,-16.0)," ")
V1       = left$(TxInsSepCar$(FrmVal$(abs(MemNum(10)),21,-16.0)," "),25)
V2       = mid$(TxInsSepCar$(FrmVal$(abs(MemNum(10)),21,-16.0)," "),27,5)

'Formatacao para Euro
EurI     =  TxInsSepCar$(FrmVal$(abs(int(MemNum(10))),21,-14.0)," ")
EurD     =  Right$(TxInsSepCar$(FrmVal$(abs(MemNum(10)),21,-1.2)," "),3)


'==== Impressao Grafica ====
GAno      = TxInsSepCar$(mid$(FrmVal$(Sig_DtHoje,44,0),1,4),"  ")
GMes      = TxInsSepCar$(mid$(FrmVal$(Sig_DtHoje,44,0),6,2),"  ")
GDia      = TxInsSepCar$(mid$(FrmVal$(Sig_DtHoje,44,0),9,2),"  ")

' - Formatacao de valores
GEsc      = TxInsSepCar$(FrmVal$(abs(MemNum(10)),21,-16.0),"  ")
GEurI     = TxInsSepCar$(FrmVal$(abs(int(MemNum(10))),21,-14),"  ")
GEurD     = Right$(TxInsSepCar$(FrmVal$(abs(MemNum(10)),21,-1.2),"  "),4)
##


'==============================================================================
#INC - Variaveis comuns
'==============================================================================
Variaveis  comuns                 =[SIG_Dir.Div],LsComVar.std
##


'==============================================================================
#PGM - Funcoes para impressao do documento
'==============================================================================
SUB Chq_Cab cabecalho do cheque
End Sub

Sub Chq_Lin
print PrtCmd$("[10CPILN]")
?
?
tmp$=Trim$(EmpTabCon$("MOEDA",Emp_Inf_Moeda,"ABRV"))
If tmp$="PTE" then
?                           @V1                        @V2     #
else                                 'euro
?                           @EurI                       @EurD #
end if

ExtNl=NumExtPrp("60,60","=")                                'preparar extenso
Call ChqExtPrp                                'gerar extenso

?
?                                           @EmpLocal          #
?
?                                           @Ano     @Mes @Dia #
?
?          @Ordem                                              #
print tab(11) Ext1$                                                 'linha 1 de extenso
print tab(11) Ext2$                                                 'linha 2 de extenso
End Sub


SUB Chq_LinAjt 'ajustar entre cheques
'?Ajuste 
?
?
?
?
?
?
?
?
end sub


SUB Chq_Fim 'fim de pagina
'? Fim de pagina
?
?
?
?
?
?
?
?
?
?
?
?
?
?
End sub


'- Emissao Cheques --(Grafico)-----------------------------------------------
SUB FxIni 'funcao de inicializacao
Call SigLstIni
tmp$=Trim$(EmpTabCon$("MOEDA",Emp_Inf_Moeda,"ABRV"))    'abreviaura moeda empresa
Prwin PrtCmd$("[66L]")
End sub

SUB ChqG_Cab 'listar no inicio da folha
Linha=27                                      'posicao de escrita de primeiro cheque
end Sub


Sub ChqG_Lin 'listar cheque
LinVl   = 0
LinLoc  = LinVl+10 
LinDt   = LinLoc+9
LinOrd  = LinDt+8
LinExt1 = LinOrd+6
LinExt2 = LinExt1+4

PrWIN AJT_B,   Margem+8,  Linha                    'posicao base
PrWIN FON  ,   13                       'activar fonte

If tmp$="PTE" then                                      'escudos
  PrWin Tx_N, 68,LinVl,@GEsc                               
else                                             'euro
  PrWin Tx_N,  64,LinVl,@GEurI                      'parte inteira
  PrWin Tx_N, 125,LinVl,@GEurD                      'parte decimal
end if

ExtNl=NumExtPrp("60,60","=")                                'preparar extenso
Call ChqExtPrp                                'gerar extenso

Base=90

PrWin Tx_N,   Base,LinLoc,@EmpLocal

PrWin Tx_N,    Base,LinDt,@GAno
PrWin Tx_N, Base+23,LinDt,@GMes
PrWin Tx_N, Base+35,LinDt,@GDia

PrWIN FON  ,   12                       'activar fonte
Cl=5
PrWin Tx_N,  Cl,LinOrd,@Ordem
PrWin Tx_N,  Cl,LinExt1,Ext1$                      'extenso linha 1
PrWin Tx_N,  Cl,LinExt2,Ext2$                      'extenso linha 2
End Sub


Sub ChqExtPrp 'gerar extenso
tmp$=Trim$(EmpTabCon$("MOEDA",Emp_Inf_Moeda,"ABRV"))
If tmp$="PTE" then
  Ext1$ = NumExt$(1 ,FrmVal$(MemNum(10),21,-16.0),"PTE",3)   'linha 1 de extenso
  Ext2$ = NumExt$(2)                                         'linha 2 de extenso
else                                 'euro
  Ext1$ = NumExt$(1 ,FrmVal$(MemNum(10),21,-14.2),"EUR",3)   'linha 1 de extenso
  Ext2$ = NumExt$(2)                                         'linha 2 de extenso
end if
end sub


Sub ChqG_LinAjt 'linha de ajuste entre cheques
Linha=Linha+85
End Sub


Sub ChqG_Fim 'listar fim da folha
'PrWin FP
End Sub
##

'==============================================================================
#INC - Funcoes comuns
'==============================================================================
Funcoes comuns                    =[SIG_Dir.Div],LsComPgm.std
##
