'Nome       : LstMov.STD
'Tipo       : LST
'Data       : 2005/10/21
'Versao     : 1.2b
'Descricao  : Listagem de movimentos - conferencias


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

'- Versao : 1.0a 2000/07/04 ---------------------------------------------------
'Mostrar o numero do processamento nas listagens de conferencia
'nao mostrava valores correctos na listagem de calculos

'- Versao : 1.0b 2000/06/27 ---------------------------------------------------
'Formatar valores consoante moeda da empresa

'- Versao : 1.0c 2000/12/04 ---------------------------------------------------
'Formatar valores consoante decimais indicados pelo programa

'- Versao : 1.0d 2001/12/04 ---------------------------------------------------
'Mostrar valor de taxa na conferencia de movimentos

'- Versao : 1.1  2002/09/25 ---------------------------------------------------
'Colocar totais na conferencia de recolhas

'- Versao : 1.2  2003/07/15 ---------------------------------------------------
'Permitir impressao grafica

'- Versao : 1.2a 2004/06/23 ---------------------------------------------------
'Apresentar tipo de irs e dependentes nas listagens de conferencia

'- Versao : 1.2b 2005/??/?? ---------------------------------------------------
'correcção ortográfica


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


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


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=CNF
Nome                       [DocNom]=FIC,Conferência de recolhas

'formato
Saida/Impressora           [DocSai]=1
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=1

'funcoes de listagem
Listar cabecalho            [FxCAB]=Fic_Cab
Listar linhas               [FxLIN]=Fic_Lin ;Trb,3 ; Cmv; Tot,2
Listar fim                  [FxFIM]=Fic_Fim
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=CNF
Nome                       [DocNom]=FIC_G,Conferência de recolhas

'formato
Saida/Impressora           [DocPrt]=PAG_W
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=1

'funcoes de listagem
Listar cabecalho            [FxCAB]=FicG_Cab
Listar linhas               [FxLIN]=FicG_Lin ;Trb ; Cmv; Tot
Listar fim                  [FxFIM]=FicG_Fim
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=CNF
Nome                       [DocNom]=VID,Conferência de movimentos

'formato
Saida/Impressora           [DocSai]=1
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0


'funcoes de listagem
Listar cabecalho            [FxCAB]=Cnf_Cab
Listar linhas               [FxLIN]=Cnf_Lin
Listar fim                  [FxFIM]=Cnf_Fim
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=CNF
Nome                       [DocNom]=VID_G,Conferência de movimentos

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


'funcoes de listagem
Listar cabecalho            [FxCAB]=CnfG_Cab
Listar linhas               [FxLIN]=CnfG_Lin
Listar fim                  [FxFIM]=CnfG_Fim
##



'==============================================================================
#VAR - Variaveis
'==============================================================================
Pag      = Doc_CntPag
DataDia  = FrmVal$(Sig_DtHoje,45,0)
Tit      = MemTxt$(1)

'trabalhador
Trb      = Gpe_Mst_Trb$
Nome     = Gpe_Mst_Nome$
Np       = Gpe_Mov_Proc+ " processamento"
irstp    = GpeFrmCodSit$("IRS_TIP",gpe_mst_irstp)+" - "+FrmVal$(Gpe_Mst_Depen,21,2.0)+" dependentes"

'linha para fixos
FCmv      = Gpe_Fix_Cmv$+" - "+left$(Gpe_Cmv_Descr$,20)
FSec      = GpeCodFrm$("SEC",Gpe_Fix_Sec$)
FQnt      = FrmVal$(Gpe_Fix_Qr,21,-3.2)
FVl       = GpeFrmMoe$("",8,Gpe_Fix_Vr)
FPer      = FrmVal$(Gpe_Fix_Pr,21,-3.2)

'linha para movimentos
MCmv      = Gpe_Mov_Cmv$+" - "+left$(Gpe_Cmv_Descr$,20)
MSec      = GpeCodFrm$("SEC",Gpe_Mov_Sec$)

'para listagem de recolha
RQnt      = FrmVal$(Gpe_Mov_Qr,21,-3.2)
RVl       = GpeFrmMoe$("",8,Gpe_Mov_Vr)
RPer      = FrmVal$(Gpe_Mov_Pr,21,-3.2)

'para listagem de calculos
CQnt      = FrmVal$(Gpe_Mov_Qcalc,21,-3.2)
CVl       = GpeFrmMoe$("",8,Gpe_Mov_Vcalc)
CPer      = FrmVal$(Gpe_Mov_Pcalc,21,-3.2)

'Movimentos para conferencia (video)
Dt        = MemTxt$(10)
Pr        = MemTxt$(11)
Tp        = MemTxt$(12)
Sec       = MemTxt$(13)
Cmv       = Left$(MemTxt$(14),22)
Taxa      = FrmVal$(Gpe_Mov_Tax,20.2.2)
Qnt       = MemTxt$(15)
Vu        = GpeFrmMoe$("Z=E",8,MemNum(16))
Vl        = GpeFrmMoe$("",8,MemNum(17))

'totais
Abo       = MemTxt$(20)
Desc      = MemTxt$(21)
Rec       = MemTxt$(22)

TlQnt     = GpeFrmMoe$("Z=E",8,MemNum(31))
TlVl      = GpeFrmMoe$("",8,MemNum(32))

TgQnt     = GpeFrmMoe$("Z=E",8,MemNum(41))
TgVl      = GpeFrmMoe$("",8,MemNum(42))

'conferencias de recolha/calculos
##


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


'==============================================================================
#PGM - Formato do documento
'==============================================================================
Sub Fic_Cab           
Print PrtCmd$("[10CPILN]");
FxDiv LstIde,10CPI,1
?
Print PrtCmd$("[16CPILD]");
?                                 @Tit                                         #
Print PrtCmd$("[10CPILN]");
if MemTxt$(2)<>"F" then
?@Np                                           #
end if
?Data : @DataDia                                                 Folha No : @Pag
?================================================================================
?Codigo           Descricao              Seccao      Quant.       Valor     Perc.
?================================================================================
End Sub


Sub Fic_LinTrb
?
?@Trb  @Nome                                                                    #
?--------------------------------------------------------------------------------
End Sub


Sub Fic_LinCmv
If MemTxt$(2)="F" then
? @FCmv                                  @FSec      @FQnt        @FVl      @FPer#  
end if
If MemTxt$(2)="MC" then           'calculos
? @MCmv                                  @MSec      @CQnt        @CVl      @CPer#  
End If
If MemTxt$(2)="MR" then           'calculos
? @MCmv                                  @MSec      @RQnt        @RVl      @RPer#  
end if
End Sub


Sub Fic_LinTot  'totais
?--------------------------------------------------------------------------------
?                                                 @TlQnt         @TlVl       #  
End Sub


Sub Fic_Fim
If MemTxt$(2)="MC" then           'calculos
?===============================================================================
?  Total geral                                    @TgQnt         @TgVl         #  
end if
?================================================================================
FxDiv LstPer,SP
End Sub



'-----------------------------------------------------------------------------
' Conferencia de video
'-----------------------------------------------------------------------------
Sub Cnf_Cab
Print PrtCmd$("[10CPILN]");
FxDiv LstIde,10CPI,1
?
Print PrtCmd$("[16CPILD]");
?                              Conferencia @Tit                                 #
Print PrtCmd$("[10CPILN]");
?
?Funcionario: @Trb  @Nome                                                      #
?Tipo de irs: @IrsTp                                                        #
?
?Data : @DataDia                                                 Folha No : @Pag
?================================================================================
?Data  Pr Tip Seccao     Codigo             Taxa Quant     V.Unit       Valor
?================================================================================
End Sub


Sub Cnf_Lin
?@Dt    @Pr@Tp@Sec    @Cmv                   @Taxa@Qnt      @Vu        @Vl      #
End Sub


Sub Cnf_Fim
?================================================================================
? Abonos @Abo             Descontos @Desc             Receber  @Rec              #
?================================================================================
FxDiv LstPer,SP
End Sub


'===============================================================================
'  Impressao formato Grafico
'===============================================================================
SUB FxIni 'funcao de inicializacao
Call SigLstIni
End sub

'-------------------------------------------------------------------------------
' Conferencia de ficheiros
'-------------------------------------------------------------------------------
Sub FicG_Cab           
Col1=0
Col2=20
Col3=100
Col4=125
Col5=150
Col6=175
Col7=190


Call SigLstCab
PrWIN AJT_B,  Margem, 30                    	'posicao base
PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN GR_LI, 0, 0, Col7, 0               	'linha
PrWIN GR_LI, 0, 5, Col7, 5               	'linha


if MemTxt$(2)<>"F" then
PrWIN TX_N,  Col1,-5,@Np
PrWIN TX_N,  Col1+5,-5,"Processamento"

end if

PrWIN COR_T,  CorTitLst                         'cor de titulo
PrWIN FON  ,  10,   1                        	'activar fonte
PrWIN TX_N,  Col1,0,"Código"
PrWIN TX_N,  Col2,0,"Descrição"
PrWIN TX_N,  Col3,0,"Secção"
PrWIN TX_N,  Col4,0,"Quant."
PrWIN TX_N,  Col5,0,"Valor"
PrWIN TX_N,  Col6,0,"Perc."
PrWIN COR_T,  Corlin                            'cor de linha
InicioEscrita=32
End Sub


Sub FicG_LinTrb
PrWIN AJT_B,  Margem, InicioEscrita+Doc_CntLin*4        'posicao base
PrWIN TX_N,    Col1,0,@Trb
PrWIN TX_N,    Col2,0,@Nome
PrWIN GR_LI, 0, 4, Col7, 4               'linha
End Sub


Sub FicG_LinCmv
PrWIN AJT_B,  Margem, InicioEscrita+Doc_CntLin*4        'posicao base

If MemTxt$(2)="F" then
  PrWIN TX_N,     Col1,0,@Fcmv
  PrWIN TX_NP,    Col3,0,"N",@Fsec
  PrWIN TX_NP,    Col4,0,"N",@FQnt
  PrWIN TX_NP,    Col5,0,"N",@FVl
  PrWIN TX_NP,    Col6,0,"N",@Fper
end if
If MemTxt$(2)="MC" then           'conferecia de calculos
  PrWIN TX_N,     Col1,0,@Mcmv
  PrWIN TX_NP,    Col3,0,"N",@Msec
  PrWIN TX_NP,    Col4,0,"N",@CQnt
  PrWIN TX_NP,    Col5,0,"N",@Cvl
  PrWIN TX_NP,    Col6,0,"N",@Cper
End If
If MemTxt$(2)="MR" then           'conferencia de recolha
  PrWIN TX_N,     Col1,0,@Mcmv
  PrWIN TX_NP,    Col3,0,"N",@Msec
  PrWIN TX_NP,    Col4,0,"N",@RQnt
  PrWIN TX_NP,    Col5,0,"N",@Rvl
  PrWIN TX_NP,    Col6,0,"N",@Rper
end if
End Sub


Sub FicG_LinTot  'totais
PrWin Cor_T, CorTotGer                   'cor de totais
PrWIN AJT_B,  Margem, InicioEscrita+Doc_CntLin*4        'posicao base
PrWIN GR_LI, 0, 0, Col7, 0               'linha
PrWIN TX_NP,    Col4-4,0,"N",@TlQnt        'totais
PrWIN TX_NP,    Col5,0,"N",@TlVl         'totais
PrWin Cor_T, CorLin                      'cor de linhas
End Sub


Sub FicG_Fim
PrWin Cor_T, CorTotGer                   'cor de totais
PrWIN AJT_B,  Margem, 265                'posicao base
PrWIN GR_LI, 0, 0, Col7, 0            'linha

If MemTxt$(2)="MC" then           'calculos
  PrWIN TX_N,     Col2,0    ,"Total Geral"
  PrWIN TX_NP,    Col4,0,"N",@TgQnt        'totais
  PrWIN TX_NP,    Col5,0,"N",@TgVl         'totais
  PrWIN GR_LI, 0, 4, Col7, 4            'linha
end if
call SigLsRod
PrWin FP
End Sub


'-------------------------------------------------------------------------------
' Conferencia de video
'-------------------------------------------------------------------------------
Sub CnfG_Cab
Col1=0
Col2=20
Col3=27
Col4=35                   'seccao
Col5=50                   'codigo
Col6=105                  'taxa
Col7=117                  'quantidade
Col8=135                  'vl unit
Col9=155                  'total
Col10=187                 'margem


SigCabNorOpcTit=0
titulo$="Conferencia "+memtxt$(1)
Call SigLstCab


PrWIN AJT_B,  Margem, 26                      	'posicao base
PrWIN COR_T,  CorTitLst                         'cor de titulo
PrWIN TX_N,  Col1,0,"Funcionário :"
PrWIN TX_N,  Col1,4,"Tipo de IRS :"

PrWIN COR_T,  Corlin                            'cor de linha
PrWIN TX_N,  Col2,0,@Trb
PrWIN TX_N,  Col2+10,0,@Nome
PrWIN TX_N,  Col2,4,@IrsTp

PrWIN AJT_B,  Margem, 35                    	'posicao base
PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN GR_LI, 0, 0, Col10, 0               	'linha
PrWIN GR_LI, 0, 5, Col10, 5               	'linha

PrWIN COR_T,  CorTitLst                         'cor de titulo
PrWIN FON  ,  10,   1                        	'activar fonte
PrWIN TX_N,  Col1,0,"Data"
PrWIN TX_N,  Col2,0,"Pr"
PrWIN TX_N,  Col3,0,"Tip"
PrWIN TX_N,  Col4,0,"Secção"
PrWIN TX_N,  Col5,0,"Código"
PrWIN TX_N,  Col6,0,"Taxa"
PrWIN TX_N,  Col7,0,"Quant"
PrWIN TX_N,  Col8,0,"V.Unit
PrWIN TX_N,  Col9,0,"Valor"

PrWIN COR_T,  Corlin                            'cor de linha
InicioEscrita=36
End Sub


Sub CnfG_Lin
PrWIN AJT_B,  Margem, InicioEscrita+Doc_CntLin*4        'posicao base
PrWIN TX_NP,    Col1,0,"N",@Dt
PrWIN TX_NP,    Col2,0,"N",@Pr
PrWIN TX_NP,    Col3,0,"N",@Tp
PrWIN TX_NP,    Col4,0,"N",@Sec
PrWIN TX_N,     Col5,0,@Cmv
PrWIN TX_N,    Col6,0,@Taxa
PrWIN TX_NP,    Col7,0,"N",@Qnt
PrWIN TX_NP,    Col8,0,"N",@Vu
PrWIN TX_NP,    Col9,0,"N",@vl
End Sub


Sub CnfG_Fim
PrWin Cor_T, CorTotGer                   'cor de totais
PrWIN AJT_B,  Margem, InicioEscrita+(Doc_CntLin+1)*4        'posicao base
PrWIN GR_LI, 0, 0, Col10, 0            'linha
PrWIN TX_N,    Col1   ,0,"Abonos"
PrWIN TX_N,    Col1+15,0,@Abo
PrWIN TX_N,    Col5   ,0,"Descontos"
PrWIN TX_N,    Col5+15,0,@Desc
PrWIN TX_N,    Col6   ,0,"Receber"
PrWIN TX_N,    Col6+15,0,@Rec
PrWin FP
End Sub
##


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

