'Nome       : IvaComb.std
'Tipo       : LST
'Data       : 2005/11/07
'Versao     : 2.0
'Descricao  : Apuramento de IVA de Combustiveis

'==============================================================================
'#VER - Historia de modificacoes
'==============================================================================
'- Versao : 1.0   2004/01/20 --------------------------------------------------
'Versao base

'- Versao : 2.0   2005/??/?? --------------------------------------------------
'Adaptacao para SIG 4


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


'==============================================================================
#ESP - Campos especificos
'==============================================================================
Tipo de armazens                    [TARZ]=?
Numero de armazens                  [NARZ]=?
##


'==============================================================================
#DOC - Aupramento - Discriminado
'==============================================================================
Tipo                       [DocTip]=APU_D
Nome                       [DocNom]=APU_D
'formato
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=132
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Especifico do documento    [DocEsp]=

'funcoes de listagem
Listar cabecalho            [FxCAB]=ApuD_Cab
Listar linhas               [FxLIN]=ApuD_Lin; Art,3; Arz; Lot; TotArz,3; TotArt,3
Listar fim                  [FxFIM]=Apu_Fim
##


'==============================================================================
#DOC - Aupramento - Resumido
'==============================================================================
Tipo                       [DocTip]=APU_R - Resumido
Nome                       [DocNom]=APU_R
'formato
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=132
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Especifico do documento    [DocEsp]=

'funcoes de listagem
Listar cabecalho            [FxCAB]=Apu_Cab
Listar linhas               [FxLIN]=ApuR_Lin; Art,3; Arz; Lot; TotArz,2; TotArt,2
Listar fim                  [FxFIM]=ApuR_Fim
##


'==============================================================================
#VAR - Variaveis
'==============================================================================
'- Valores em texto -----------------------------------------------------------
'- Artigo
'MemTxt$(21)   - artigo
'MemTxt$(22)   - nome

'- Armazem
'MemTxt$(31)   - armazem
'MemTxt$(32)   - identificacao do armazem

'- Lotes/Consumo
'MemTxt$(41)   - tipo de documento
'MemTxt$(42)   - numero de documento


'- Valores numericos ----------------------------------------------------------
'- Artigo/armazem
'MemNum(21)    - quantidade mensal
'MemNum(22)    - valor de venda
'MemNum(23)    - valor de custo
'MemNum(24)    - valor de margem

'- IVA
'MemNum(31)    - codigo de IVA
'MemNum(32)    - tipo de IVA (incluido/calculado)
'MemNum(33)    - taxa
'MemNum(34)    - valor

'- Lotes
'MemNum(41)    - quantidade do lote
'MemNum(42)    - valor unitario
'MemNum(43)    - valor total
'MemNum(44)    - quantidade residual

'- Consumo
'MemNum(51)    - quantidade
'MemNum(52)    - valor


'------------------------------------------------------------------------------
'- Cabecalho ------------------------------------------------------------------
'------------------------------------------------------------------------------
Pag       = Doc_CntPag
DataExt   = FrmVal$(Sig_DtHoje,45,0)

'artigo
ArtCod    = MemTxt$(21)
ArtCov    = StcCodFrm$(MemTxt$(21))
ArtNom    = MemTxt$(22)
ArtQu     = FrmNum$(14.2,MemNum(21))
ArtVv     = FrmNum$(14.2,MemNum(22))
ArtVc     = FrmNum$(14.2,MemNum(23))
ArtVm     = FrmNum$(14.2,MemNum(24))

vArtQu    = FrmNum$(14.2,acmArtQu)
vArtVt    = FrmNum$(14.2,acmArtVt)

tArtQu    = FrmNum$(14.2,total(vArtQu,0))
tArtVt    = FrmNum$(14.2,total(vArtVt,0))

aArtQu    = FrmNum$(14.2,total(vArtQu,2))
aArtVt    = FrmNum$(14.2,total(vArtVt,2))


'armazem
ArzNum    = MemTxt$(31)
ArzIde    = MemTxt$(32)
ArzNot    = MemTxt$(33)

'IVA
IvaTip    = FrmNum$(2.0,MemNum(31))
IvaTax    = FrmNum$(2.0,MemNum(32))
IvaVal    = FrmNum$(14.2,MemNum(33))

'- Lotes
LotTdo    = MemTxt$(41)
LotNdo    = MemTxt$(42)
LotDoc    = FrmNdo$("46",MemTxt$(41),MemTxt$(42))
LotDocIde = MemTxt$(41)+" "+FrmNdo$("46",MemTxt$(41),MemTxt$(42))
'LotDtr    = FrmDt$("",MemNum(?))
LotQu     = FrmNum$(14.2,MemNum(41))
LotVu     = FrmNum$(14.2,MemNum(42))
LotVt     = FrmNum$(14.2,MemNum(43))
LotQr     = FrmNum$(14.2,MemNum(44))

'- Consumo
vConQu     = FrmNum$(14.2,MemNum(51))
vConVt     = FrmNum$(14.2,MemNum(52))

tConQu     = FrmNum$(14.2,total(vConQu,0))
tConVt     = FrmNum$(14.2,total(vConVt,0))

sConQu     = FrmNum$(14.2,total(vConQu,1))
aConQu     = FrmNum$(14.2,total(vConQu,2))

tConVt     = FrmNum$(14.2,total(vConVt,0))
sConVt     = FrmNum$(14.2,total(vConVt,1))
aConVt     = FrmNum$(14.2,total(vConVt,2))

'- Diversos
vArtMrg    = FrmNum$(14.2,MemNum(24))
vArtIva    = FrmNum$(14.2,MemNum(34))

tArtMrg    = FrmNum$(14.2,total(vArtMrg,0))
sArtMrg    = FrmNum$(14.2,total(vArtMrg,1))
aArtMrg    = FrmNum$(14.2,total(vArtMrg,2))

tArtIva    = FrmNum$(14.2,total(vArtIva,0))
sArtIva    = FrmNum$(14.2,total(vArtIva,1))
aArtIva    = FrmNum$(14.2,total(vArtIva,2))
##


'==============================================================================
#PGM - Programa/Funcoes
'==============================================================================
'---------------------------------------------------------->'Comentario (61)
'------------------------------------------------->'Comentario (52)
'------------------------------------->'Comentario (40)

Sub Lst_AJT
end sub


Sub Lst_Fim 
?====================================================================================================================================
FxDiv LstPer,SP
end sub


'------------------------------------------------------------------------------
'- APU - Apuramento de IVA
'------------------------------------------------------------------------------
Sub Apu_Cab 'cabecalho
FxDiv LstIde,16CPI,0

tit$ = "Combust�veis - Apuramento de IVA" + titAdi$

print TxTit$("TT=16CPI, LD, PT=66C, TL=10CPI",tit$)
Print PrtCmd$("[16CPI]");

?Data : @DataExt                                                                                                     Folha No : @Pag#
?====================================================================================================================================
?   Lote                                                               Comsumo
?   Documento                  Quant.              Valor               Quant.              Valor     Notas
'                    123,456,789,012.12  123,456,789,012.12  123,456,789,012.12  123,456,789,012.12  123,456,789,012.12
?====================================================================================================================================
end sub


Sub Apu_Fim 'totais
?====================================================================================================================================
'?                          Total de IVA: @tArtIva                                                                                   #
?    Margem: @tArtMrg               IVA: @tArtIva                                @tConVt                                            #
?====================================================================================================================================
FxDiv LstPer,SP
end sub


'------------------------------------------------------------------------------
'- APU - Apuramento de IVA - Discriminado
'------------------------------------------------------------------------------
Sub ApuD_Cab 'cabecalho
titAdi$ = ""
call Apu_Cab
end sub


Sub ApuD_LinArt 'identificar artigo
print string$(132,"-")
?  @ArtCov          @ArtNom                                                     #
print string$(132,"-")
end sub


Sub ApuD_LinArz 'identificar armazem
?    @ArzIde         @ArtQu              @ArtVv                                 #
end sub


Sub ApuD_LinLot 'listar lotes
'                    123,456,789,012.12  123,456,789,012.12  123,456,789,012.12  123,456,789,012.12  123,456,789,012.12
?    @LotDocIde      @LotQu              @LotVt              @vConQu             @vConVt                                            #
end sub


Sub ApuD_LinTotArz 'total por armazem
print
?(P) Margem: @vArtMrg               IVA: @vArtIva            @sConQu             @sConVt             @ArzNot                        #
print
x=TotLpz(1)                                      'limpar totais
end sub


Sub ApuD_LinTotArt 'total por artigo
?(A) Margem: @aArtMrg               IVA: @aArtIva            @aConQu             @aConVt                                            #
print
print
x=TotLpz(2)                                      'limpar totais
end sub


'------------------------------------------------------------------------------
'- APU - Apuramento de IVA - Resumido
'------------------------------------------------------------------------------
Sub ApuR_Cab 'cabecalho
titAdi$ = " (Resumo)"
call Apu_Fim
end sub


Sub ApuR_LinArt
print string$(132,"-")
?  @ArtCov          @ArtNom                                                     #
print string$(132,"-")

acmArtQu = 0
acmArtVt = 0
end sub


Sub ApuR_LinArz 'armazem
?    @ArzIde         @ArtQu              @ArtVv                                 #
end sub


Sub ApuR_LinLot 'lotes de consumo
'nao lista
acmArtQu = acmArtQu + MemNum(51)
acmArtVt = acmArtVt + MemNum(52)
end sub


Sub ApuR_LinTotArz 'total por armazem
?(P) Margem: @vArtMrg               IVA: @vArtIva            @vArtQu             @vArtVt             @ArzNot                        #
print
x=TotLpz(1)                                      'limpar totais
acmArtQu = 0
acmArtVt = 0
end sub


Sub ApuR_LinTotArt 'total por artigo
?(A) Margem: @aArtMrg               IVA: @aArtIva            @aArtQu             @aArtVt                                             #
print
x=TotLpz(2)                                      'limpar totais
end sub


Sub ApuR_Fim 'totais
?====================================================================================================================================
?    Margem: @tArtMrg               IVA: @tArtIva                                @tArtVt                                            #
?====================================================================================================================================
FxDiv LstPer,SP
end sub

##
