'Nome       : EspMco.std
'Tipo       : LST
'Data       : 2005/10/21
'Versao     : 1.0a
'Descricao  : Especifico para Mapa de Comissoes

'==============================================================================
'#VER - Historia de modificacoes
'==============================================================================
'- Versao : 1.0   2000/07/07 --------------------------------------------------
'Versao base

'- Versao : 1.0a  2005/??/?? --------------------------------------------------
'Correcção ortográfica


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


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


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=DocTx
Nome                       [DocNom]=DocTxL,Mapa de Comissões
Vias                       [DocVia]=Original
Personalizacao             [DocPer]=

'formato
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=132
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0

'funcoes de listagem
Listar cabecalho            [FxCAB]=Tx_Cab
Listar linhas               [FxLIN]=Tx_Lin
Listar fim                  [FxFIM]=Tx_Fim
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=DocGr
Nome                       [DocNom]=DocGr,Mapa de Comissões
Vias                       [DocVia]=Original
Personalizacao             [DocPer]=

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

'funcoes de listagem
Listar cabecalho            [FxCAB]=Gr_Cab
Listar linhas               [FxLIN]=Gr_Lin
Listar fim                  [FxFIM]=Gr_Fim
##


'==============================================================================
#VAR - Variaveis
'==============================================================================
'MemTxt$(1)    - titulo

'MemTxt$(11)   - conta
'MemTxt$(12)   - nome

'MemNum(11)    - facturas
'MemNum(12)    - recibos

'MemNum(21)    - comissao
'MemNum(22)    - IVA
'MemNum(23)    - valor a pagar

Pag      = Doc_CntPag
Cnt      = FrmVal$(CntAux(1),21,4)
DataExt  = FrmVal$(Sig_DtHoje,45,0)
Titulo   = TxTit$("TT=16CPI, LD, PT=66C, TL=16CPI",MemTxt$(1))

Ct       = MemTxt$(11)
Nome     = left$(MemTxt$(12),28)

'valores
vFac     = FrmMoe$("",17,MemNum(11))
vRec     = FrmMoe$("",17,MemNum(12))

vCom     = FrmMoe$("",17,MemNum(21))
vIva     = FrmMoe$("",17,MemNum(22))
vPag     = FrmMoe$("",17,MemNum(23))


'totais
tFac     = FrmMoe$("",17,TOTAL(vFac))
tRec     = FrmMoe$("",17,TOTAL(vRec))

tCom     = FrmMoe$("",17,TOTAL(vCom))
tIva     = FrmMoe$("",17,TOTAL(vIva))
tPag     = FrmMoe$("",17,TOTAL(vPag))
##


'==============================================================================
#PGM - Programa/Funcoes
'==============================================================================
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 ET,  2                                       'espessura de traco

dimLinNor=4.4                                      'altura de uma linha normal
dimLinCab=6.6                                      'altura de uma linha de cabecalho

cnt=0                                              'limpar contador
end sub


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


SUB Lst_AJT
end sub


'- Modo texto -----------------------------------------------------------------
SUB Tx_Cab 'cabecalho
?
FxDiv LstIde,16CPI,0
?@Titulo                                                                                                                            #
?Data: @DataExt                                                                                                       Folha No: @Pag#
?==================================================================================================================================
?   Conta           Nome                     Facturas        Recibos           Comissao        IVA               Valor a Pagar    #
?==================================================================================================================================
end sub


SUB Tx_Lin 'linha
?@Ct          @Nome                     |@vFac            |@vRec            |@vCom            |@vIva            |@vPag            #
end sub



SUB Tx_Fim 'fim
?==================================================================================================================================
?  Totais                               |@tFac            |@tRec            |@tCom            |@tIva            |@tPag            #
?==================================================================================================================================
'Print PrtCmd$("[SP]");
FxDiv LstPer,SP
end sub



'==============================================================================
'#GRF - IMPRESSAO EM MODO GRAFICO
'==============================================================================
SUB Gr_Cab 'cabecalho
CabLin = 2                                         'linhas de cabecalho
call Cab132                                        'listar cabecalho
PrWIN AJT_B,  8.0, 0.0                             'posicao base

PrWin FON, "BOLD+"                                 'activar bold
call Gr_CabCol                                     'titulos das colunas
PrWin FON, "BOLD-"                                 'desactivar bold
end sub


Sub Cab132 'cabecalho para 132 colunas
PrWIN AJT_B, 10.0, 0.0                             'posicao base

cabX1=3                                            'limite X1
'cabX2=270                                          'limite X2
cabX2=278                                          'limite X2
cabY1=25                                           'limite Y1
cabY2=cabY1+CabLin*dimLinCab                       'limite Y2
cabYm=cabY2+35*dimLinNor                           'limite Y maximo

PrWIN COR_F, 15                                    'cor de fundo
PrWIN FON, 10, 1                                   'activar fonte

PrWIN TX_N, cabX2-100,  5,SigLstInf$("EMPIDE")     'identificacao da empresa

PrWIN FON, 18, 1                             	   'activar fonte
PrWin FON, "BOLD+"                                 'activar bold
PrWIN TX_CTR,  cabX1, 5, cabX2, cabY1,MemTxt$(1)   'titulo centrado
PrWin FON, "BOLD-"                                 'desactivar bold
PrWIN FON, 10, 1                             	   'activar fonte

py   =cabY1-dimLinNor-1                            'posicao Y
pxFol=CabX2-30                                     'posicao X para folha
pxPag=CabX2-10                                     'posicao X para pagina

PrWIN TX_N,   05, py,"Data :"                      'data
PrWIN TX_N,   16, py,@DataExt                      'listar data
PrWIN TX_N,pxFol, py,"Folha No :"                  'folha
PrWIN TX_N,pxPag, py,@Pag                          'numero da folha

PrWIN COR_E, 200, 200, 200                         'cor de enchimento RGB
PrWIN GR_ME, 0                                     'modo de enchimento

PrWIN GR_CE,  cabX1, cabY1, cabX2, cabY2, 2        'caixa do cabecalho
PrWIN GR_CX,  cabX1, cabY1, cabX2, cabYm, 2        'caixa envolvente

PrWIN FON, 8, 1                             	   'activar fonte
PrWIN TX_N, cabX1+5,cabYm+3,SigLstInf$("PERSON")   'personalizacao
PrWIN FON, 10, 1                             	   'activar fonte

'call Gr_Zto                                       'zona de totais
End Sub


SUB Gr_Lin 'linha
call Gr_LinPos                                     'posicionar linha

PrWIN TX_N,  6.0,0,@Ct
PrWIN TX_N, 33.3,0,@Nome
PrWIN TX_NP, 98.4,0,"N",@vFac
PrWIN TX_NP,134.1,0,"N",@vRec
PrWIN TX_NP,169.8,0,"N",@vCom
PrWIN TX_NP,205.5,0,"N",@vIva
PrWIN TX_NP,241.2,0,"N",@vPag
end sub


SUB Gr_Zto 'zona de totais
px1=  5                                            'X inicial
px2=280                                            'X final

yS1=CabYm-12                                       'Y para separador 1
yS2=yS1                                            'Y para separador 2
yTo=yS1+1.5 +2                                     'Y para totais

PrWIN AJT_B,  8, yS1                               'posicao base
PrWIN GR_LI,px1,0,px2,0, 2                         'linha para totais
end sub


SUB Gr_Fim 'fim de listagem
call Gr_Zto                                        'zona de totais

PrWIN AJT_B,  8, yTo                               'posicao base
PrWIN TX_N, 35.3,0,"Totais:"
PrWIN TX_NP, 98.4,0,"N",@tFac
PrWIN TX_NP,134.1,0,"N",@tRec
PrWIN TX_NP,169.8,0,"N",@tCom
PrWIN TX_NP,205.5,0,"N",@tIva
PrWIN TX_NP,241.2,0,"N",@tPag

PrWIN FP                                           'fim de pagina
end sub


'SUB Gr_FimAjt 'fim de pagina intermedia
'PrWIN FP                                           'fim de pagina
'end sub


SUB Gr_CabCol 'titulos de colunas
yZt=cabY1 '+dimLinCab
xZ1= 97.4
xZ2=133.1
xZ3=168.8
xZ4=204.5
xZ5=240.2

PrWIN TX_CTR,  5.0,cabY1, 32.3,cabY2,"Conta"
PrWIN TX_CTR, 32.3,cabY1, 97.4,cabY2,"Nome"
'PrWIN TX_CTR,xZ1,cabY1,xZ3,yZT  ,"Grupo 1"
PrWIN TX_CTR,xZ1,yZT  ,xZ2,cabY2,"Facturas"
PrWIN TX_CTR,xZ2,yZT  ,xZ3,cabY2,"Recibos"
'PrWIN TX_CTR,xZ3,cabY1,xZ5,yZT  ,"Grupo 1"
PrWIN TX_CTR,xZ3,yZT,xZ4  ,cabY2,"Comissão"
PrWIN TX_CTR,xZ4,yZT,xZ5  ,cabY2,"IVA"
PrWIN TX_CTR,240.2,cabY1,281.8,cabY2,"Total a Pagar"

PrWIN GR_LI, xZ1,yZT,xZ5,yZT,2
PrWIN GR_LI, 32.3,cabY1, 32.3,cabYm,2
PrWIN GR_LI, 97.4,cabY1, 97.4,cabYm,2
PrWIN GR_LI,133.1,yzT  ,133.1,cabYm,2
PrWIN GR_LI,168.8,cabY1,168.8,cabYm,2
PrWIN GR_LI,204.5,yZT  ,204.5,cabYm,2
PrWIN GR_LI,240.2,cabY1,240.2,cabYm,2
end sub


SUB Gr_LinPos 'posicao de linha
PrWIN AJT_B,  8, 37+Doc_CntLin*4.4                 'posicao base
'PrWIN TX_N,  -3,  0,Doc_CntLin                     'numero da linha - DEBUG
end sub
##


