'Nome       : Invent.std
'Tipo       : LST
'Data       : 2006/09/18
'Versao     : 3.0
'Descricao  : inventarios

'==============================================================================
'#VER - Historia de modificacoes
'==============================================================================
'- Versao : 3.0  2006/09/18 ---------------------------------------------------
'modo grafico

'- Versao : 2.0  2001/07/11 ---------------------------------------------------
'passa a usar decimais da moeda (FrmMoe)

'- Versao : 1.0  1999/11/05 ---------------------------------------------------
'versao base


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


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


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=INVENT
Nome                       [DocNom]=INV,Existências Iniciais

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

'funcoes de listagem
Listar cabecalho            [FxCAB]=INV_CAB
Listar linhas               [FxLIN]=INV_LIN
Listar fim                  [FxFIM]=INV_FIM
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=INVENT
Nome                       [DocNom]=INV,Existências Finais

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


'funcoes de listagem
Listar cabecalho            [FxCAB]=INV_CAB
Listar linhas               [FxLIN]=INV_LIN
Listar fim                  [FxFIM]=INV_FIM
##


'==============================================================================
'= GRF = Listagem grafica =====================================================
'==============================================================================
'==============================================================================
#DOC - Configuracao do documento 
'==============================================================================
Tipo                       [DocTip]=INVENT
Nome                       [DocNom]=INV_G,Existências Iniciais

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

'parametros especificos
Tipo de existencias        [DocEsp]=TipExi=I

'funcoes de listagem
Listar cabecalho            [FxCAB]=INVG_CAB
Listar linhas               [FxLIN]=INVG_LIN
Listar fim                  [FxFIM]=INVG_FIM
##


'==============================================================================
#DOC - Configuracao do documento 
'==============================================================================
Tipo                       [DocTip]=INVENT
Nome                       [DocNom]=INV_G,Existências Finais

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

'parametros especificos
Tipo de existencias        [DocEsp]=TipExi=F

'funcoes de listagem
Listar cabecalho            [FxCAB]=INVG_CAB
Listar linhas               [FxLIN]=INVG_LIN
Listar fim                  [FxFIM]=INVG_FIM
##


'==============================================================================
#VAR - Variaveis
'==============================================================================
Tit       = PrtCmd$("[16CPILD]")+"Inventário"+PrtCmd$("[16CPILN]")
Pag       = Doc_CntPag
Ano       = Left$(FrmVal$(Sig_Dthoje,43,0),4)
MoeAbrv   = trim$(EmpTabCon$("MOEDA", Emp_Inf_Moeda, "ABRV"))

Descr     = Ctb_Art_Txt$
Uni       = Ctb_Art_Uni$

Qnt       = FrmMoe$("",11,Ctb_Art_Qu)
Prc       = FrmMoe$("",15,Ctb_Art_Prc)
TotLin    = FrmMoe$("",15,Ctb_Art_Qu*Ctb_Art_Prc)
TotGer    = FrmMoe$("",15,Total(TotLin))
TotGerEur = FrmNum$(12.2,MoeCnv("N",Total(TotLin),Emp_Inf_Moeda,2))

MoeEmp    = EmpTabCon$("MOEDA",Emp_Inf_Moeda,"NOME")
##


'==============================================================================
#INC - Inclusao de ficheiros
'==============================================================================
Funcoes comuns                    =[SIG_Dir.Div],LsComVar.std
##


'==============================================================================
#PGM - Programa/Funcoes
'==============================================================================
SUB Lst_AJT
end sub


Sub Inv_Cab
FxDiv LstIde,16CPI,1
?                                                      @Tit                         
?                                                                                                              Modelo 7
If MemTxt$(10)="I" then
   Print tab(5) CtbTPDesc$(Ctb_Art_Tip$) " na data de 1 de Janeiro " @Ano;
else
   Print tab(5) CtbTPDesc$(Ctb_Art_Tip$) " na data de 31 de Dezembro " @Ano;
End If
Print Tab(110) "Pagina No."  @Pag 
?     ==================================================================================================================================
?     |                         Especie                                    |  UNI |  QUANTIDADE  |  PRECO UNIDADE  |     IMPORTANCIA   |
?     ==================================================================================================================================
End Sub


SUB Inv_Lin
?     | @Descr                                                             | @Uni | @Qnt         | @Prc            | @TotLin           |
End Sub


Sub Inv_Fim
?     ==================================================================================================================================
?     |                                                                                    Total em @MoeEmp          @TotGer           |
if @MoeAbrv<>"EUR" then
?     |                                                                                    Total em Euro             @TotGerEur        |
end if
?     ==================================================================================================================================
x=TotLpz(0)
FxDiv LstPer,SP
end sub


'==============================================================================
'= GRF = Listagem grafica =====================================================
'==============================================================================
SUB FxIni 'funcao de inicializacao
Call SigLstIni
FimDoc=263
End sub


'------------------------------------------------------------------------------------------------------------
'- Modelos (INVENTARIO) - Modo gráfico
'------------------------------------------------------------------------------------------------------------
SUB InvG_Cab 'Modelos (inventario) - cabecalho (modo grafico)

call CabInv 'listar cabecalho
Lin1=1                         		'linha 1
Lin2=4                                  'linha 2
Lin3=6.5                                'linha 3
esp=30 

TCol1 =  0
TCol2 = 80
TCol3 =105
TCol4 =130
TCol5 =155
TCol6 =190
Cmax=TCol6

PrWIN COR_T,  CorTitLst                         'cor de titulo
PrWIN FON  ,   8,   1                        	'activar fonte
PrWIN AJT_B,  Margem, 27                    	'posicao base

PrWIN GR_CX,  0, 0, Cmax,5                      'caixa geral
PrWIN GR_CX, Tcol1 , 0, Tcol2 , 5               'caixa especie
PrWIN GR_CX, Tcol2 , 0, Tcol3 , 5               'caixa unidade
PrWIN GR_CX, Tcol3 , 0, Tcol4 , 5               'caixa quantidade
PrWIN GR_CX, Tcol4 , 0, Tcol5 , 5               'caixa preço unidade
PrWIN GR_CX, Tcol5 , 0, Tcol6 , 5               'caixa importancia

PrWIN FON  , "BOLD+"                            'activar bold
PrWIN FON  ,   8,   1                           'activar fonte
PrWIN TX_CTR,  TCol1 ,Lin1,TCol2 ,Lin1,"Espécie"
PrWIN TX_CTR,  TCol2 ,Lin1,TCol3 ,Lin1,"Unidade"
PrWIN TX_CTR,  TCol3 ,Lin1,TCol4 ,Lin1,"Quantidade"
PrWIN TX_CTR,  TCol4 ,Lin1,TCol5 ,Lin1,"Preço Unidade"
PrWIN TX_CTR,  TCol5 ,Lin1,TCol6 ,Lin1,"Importância"

PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN COR_T,CorLin                              'cor de linhas
PrWIN FON  , "BOLD-"                            'desactivar bold

InicioLinhas=30
end sub


SUB InvG_Lin 'modelos (inventario) - linha (modo grafico)
LCol1 =  2
LCol2 = 91
LCol3 =111
LCol4 =130
LCol5 =165
LCol6 =185
Cmax=lCol6

PrWIN AJT_B,  Margem, InicioLinhas+Doc_CntLin*4          	'posicao base
PrWIN COR_T,    CorLin
PrWIN TX_N,     LCol1 ,0          ,@Descr
PrWIN TX_N,     LCol2 ,0          ,@Uni
PrWIN TX_NP,    LCol3 ,0      ,"N",@Qnt
PrWIN TX_NP,    LCol4 ,0      ,"N",@Prc
PrWIN TX_NP,    LCol5 ,0      ,"N",@TotLin
end sub


SUB InvG_Fim 'modelos (inventario)- final (modo grafico)
TCol1 =  0
TCol2 =155
TCol3 =190
Cmax=TCol3

PrWIN AJT_B,Margem,FimDoc                       'posicao base
PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN GR_LI, 0, 0, Cmax, 0                      'linha

'caixa geral
PrWIN GR_CX, Tcol1 ,   0, Tcol3 ,  5            'caixa geral
PrWIN GR_CX, Tcol1 ,   0, Tcol2 ,  5            'caixa para texto
PrWIN GR_CX, Tcol2 ,   0, Tcol3 ,  5            'caixa para valor

TeCol1=  6
TeCol2=165 
Cmax=TeCol2

PrWIN FON  , "BOLD+"                            'activar bold

moeda$ = EmpTabCon$("MOEDA",Emp_Inf_Moeda,"NOME")

'total geral   
txt1$="Total em "+moeda$
PrWIN TX_CTR,   TeCol1, 0,TeCol2, 5,txt1$
PrWIN TX_NP,    TeCol2 ,  1      ,"N",@TotGer

if @MoeAbrv<>"EUR" then
   PrWIN TX_CTR,   TeCol1, 0,TeCol2, 5,"Total em Euro"
   PrWIN TX_NP,    TeCol2 ,  1      ,"N",@TotGerEur
end if


Call SigLstRod
if @ST = "ST" then
   tmp=CntLin("INC",1)              'contar linhas
else
   PrWin FP
end if

PrWIN FON  , "BOLD-"                            'desactivar bold
end sub


'==========================================================================
' funcoes auxiliares
'==========================================================================
Sub CabInv 'listar cabecalho

call SigLstIni                                     'inicializar parametros

Titulo$="Inventário"                               'titulo

PrWIN COR_F, 15                                    'cor de fundo
PrWIN AJT_B ,  Margem, 11                          'posicao base
PrWin COR_T ,  CorTit
PrWIN FON   ,       9,  1                          'activar fonte
PrWIN TX_N  ,       0,  0,SigLstInf$("EMPIDE")     'nome da empresa
PrWIN FON   ,      12,  1                          'activar fonte
PrWin FON, "BOLD+"                                 'desactivar bold

PrWIN TX_CTR,       0,  5, MargemD, 5,Titulo$      'titulo centrado
PrWin FON, "BOLD-"                                 'desactivar bold

tip$  = CtbTPDesc$(Ctb_Art_Tip$)                   'tipo de documento
dat1$ = " na data de 1 de Janeiro de "             'data 1
dat2$ = " na data de 31 de Dezembro de"            'data 2
ano$  = FrmDt$("A4", Sig_Dthoje)                   'ano

descr1$=tip$+dat1$+ano$
descr2$=tip$+dat2$+ano$

PrWIN FON  ,    9                                  'activar fonte
PrWIN TX_N ,  170, 10,"Folha No :"                 'folha
PrWin COR_T ,  CorTit

If MemTxt$(10)="I" then
   PrWIN TX_N ,   1, 10,descr1$                    'descricao
else
   PrWIN TX_N ,   1, 10,descr2$                    'descricao
End If

PrWIN TX_N,  185, 10,@Pag                          'numero da folha
End Sub
##


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








