'Nome       : ImoInv.etq
'Tipo       : LST
'Data       : 2003/02/16
'Versao     : 1.0
'Descricao  : Etiquetas para inventário

'------------------------------------------------------------------------------
'#VER - Historia de modificacoes
'------------------------------------------------------------------------------
'- Versao : 1.2   2003/??/?? --------------------------------------------------
'Versao base


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


'------------------------------------------------------------------------------
#ESP - Campos especificos
'------------------------------------------------------------------------------
Opcoes para impressora WIN   [PrWinOpc]=[ORI=P]
##


'------------------------------------------------------------------------------
#DOC - Etiqueta - Texto
'------------------------------------------------------------------------------
Tipo                       [DocTip]=ImoEtq
Nome                       [DocNom]=EtqTx,Etiqueta (Texto)
Vias                       [DocVia]=Original

'formato
Impressora                 [DocPrt]=
Etiquetas por pagina       [DocLpg]=16
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Especifico do documento    [DocEsp]=

'funcoes de listagem
Listar cabecalho            [FxCAB]=Etq_Cab
Listar linhas               [FxLIN]=Etq_Lin
Listar fim                  [FxFIM]=Etq_Fim
##


'------------------------------------------------------------------------------
#DOC - Etiqueta - Grafico
'------------------------------------------------------------------------------
Tipo                       [DocTip]=ImoEtq
Nome                       [DocNom]=EtqGra_G,Com Código de Barras
Vias                       [DocVia]=Original

'formato
Saida/Impressora           [DocPrt]=PAG_W

Etiquetas por pagina       [DocLpg]=10
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Especifico do documento    [DocEsp]=

'funcoes de listagem
Listar cabecalho            [FxCAB]=Etg_Cab
Listar linhas               [FxLIN]=Etg_Lin
Listar fim                  [FxFIM]=Etg_Fim
##


'------------------------------------------------------------------------------
#VAR - Variaveis
'------------------------------------------------------------------------------
'MemNum(11)    - contador geral
'MemNum(12)    - contador por bem

'identificadores
Pag      = Doc_CntPag
DtExt    = FrmDt$(Doc_DtHoje,45,0)
DtAmd    = FrmDt$(Doc_DtHoje,45,0)

'variaveis a listar
Cod      = Imo_Mst_Cod$                
Nom      = Imo_Mst_Nome$
##


'------------------------------------------------------------------------------
#PGM - Programa/Funcoes
'------------------------------------------------------------------------------
'---------------------------------------------------------->'Comentario (61)
'------------------------------------------------->'Comentario (52)
'------------------------------------->'Comentario (40)
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 
end sub


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


SUB Lst_AJT
end sub


'- Etiqueta ------------------------------------------------------------------
SUB Etq_CabIni 'inicializar
cntLin=0                               'limpar contador por linha
cntGer=0                               'limpar contador geral
LpgMax=8                               'linha da pagina - maximo
LpgCnt=1                               'linha da pagina - numero

etqLin=2                               'etiquetas por linha
end sub


SUB EtqVarLpz 'limpar variaveis
cmp11$=""
cmp12$=""
cmp13$=""
cmp14$=""
cmp15$=""
cmp16$=""
cmp17$=""
cmp18$=""

cmp21$=""
cmp22$=""
cmp23$=""
cmp24$=""
cmp25$=""
cmp26$=""
cmp27$=""
cmp28$=""

cmp31$=""
cmp32$=""
cmp33$=""
cmp34$=""
cmp35$=""
cmp36$=""
cmp37$=""
cmp38$=""

cmp41$=""
cmp42$=""
cmp43$=""
cmp44$=""
cmp45$=""
cmp46$=""
cmp47$=""
cmp48$=""
end sub


SUB EtqMem1 'guardar dados da etiqueta 1
cmp11$="<-------------------------------------->"
cmp12$=str$(cntGer)
cmp13$=Imo_Mst_Cod$
cmp14$=Imo_Mst_Nome$
cmp15$=""
cmp16$=""
cmp17$=""
cmp18$="<-------------------------------------->"
end sub


SUB EtqMem2 'guardar dados da etiqueta 2
cmp21$="<-------------------------------------->"
cmp22$=str$(cntGer)
cmp23$=Imo_Mst_Cod$
cmp24$=Imo_Mst_Nome$
cmp25$=""
cmp26$=""
cmp27$=""
cmp28$="<-------------------------------------->"
end sub


SUB EtqMem3 'guardar dados da etiqueta 3
cmp31$="<-------------------------------------->"
cmp32$=str$(cntGer)
cmp33$=Imo_Mst_Cod$
cmp34$=Imo_Mst_Nome$
cmp35$=""
cmp36$=""
cmp37$=""
cmp38$="<-------------------------------------->"
end sub


SUB EtqMem4 'guardar dados da etiqueta 4
cmp41$="<-------------------------------------->"
cmp42$=str$(cntGer)
cmp43$=Imo_Mst_Cod$
cmp44$=Imo_Mst_Nome$
cmp45$=""
cmp46$=""
cmp47$=""
cmp48$="<-------------------------------------->"
end sub


SUB Etq_Cab 'cabecalho
end sub


SUB Etq_Lin 'linha
cntGer=cntGer+1                        'contar geral
cntLin=cntLin+1                        'contar por linha
if cntLin>etqLin then                  'acima do limite ?
   call Etq_LinLst                     'listar linha
   cntLin=1                            'reinicializar
   call EtqVarLpz                      'limpar variaveis
end if

if cntLin=1 then
   call EtqMem1                        'guardar dados da etiqueta 1
end if

if cntLin=2 then
   call EtqMem2                        'guardar dados da etiqueta 2
end if

if cntLin=3 then
   call EtqMem3                        'guardar dados da etiqueta 3
end if

if cntLin=4 then
   call EtqMem4                        'guardar dados da etiqueta 4
end if
end sub


SUB Etq_LinLst 'listar linha
if etqLin=1 then
   print tab(1) cmp11$
   print tab(1) cmp12$
   print tab(1) cmp13$
   print tab(1) cmp14$
   print tab(1) cmp15$
   print tab(1) cmp16$
   print tab(1) cmp17$
   print tab(1) cmp18$
end if

if etqLin=2 then
   print tab(1) cmp11$ tab(41) cmp21$
   print tab(1) cmp12$ tab(41) cmp22$
   print tab(1) cmp13$ tab(41) cmp23$
   print tab(1) cmp14$ tab(41) cmp24$
   print tab(1) cmp15$ tab(41) cmp25$
   print tab(1) cmp16$ tab(41) cmp26$
   print tab(1) cmp17$ tab(41) cmp27$
   print tab(1) cmp18$ tab(41) cmp28$
end if

if etqLin=3 then
   print tab(1) cmp11$ tab(41) cmp21$ tab(81) cmp31$
   print tab(1) cmp12$ tab(41) cmp22$ tab(81) cmp32$
   print tab(1) cmp13$ tab(41) cmp23$ tab(81) cmp33$
   print tab(1) cmp14$ tab(41) cmp24$ tab(81) cmp34$
   print tab(1) cmp15$ tab(41) cmp25$ tab(81) cmp35$
   print tab(1) cmp16$ tab(41) cmp26$ tab(81) cmp36$
   print tab(1) cmp17$ tab(41) cmp27$ tab(81) cmp37$
   print tab(1) cmp18$ tab(41) cmp28$ tab(81) cmp38$
end if

if etqLin=4 then
   print tab(1) cmp11$ tab(41) cmp21$ tab(81) cmp31$ tab(121) cmp41$
   print tab(1) cmp12$ tab(41) cmp22$ tab(81) cmp32$ tab(121) cmp42$
   print tab(1) cmp13$ tab(41) cmp23$ tab(81) cmp33$ tab(121) cmp43$
   print tab(1) cmp14$ tab(41) cmp24$ tab(81) cmp34$ tab(121) cmp44$
   print tab(1) cmp15$ tab(41) cmp25$ tab(81) cmp35$ tab(121) cmp45$
   print tab(1) cmp16$ tab(41) cmp26$ tab(81) cmp36$ tab(121) cmp46$
   print tab(1) cmp17$ tab(41) cmp27$ tab(81) cmp37$ tab(121) cmp47$
   print tab(1) cmp18$ tab(41) cmp28$ tab(81) cmp38$ tab(121) cmp48$
end if

LpgCnt=LpgCnt+1                        'contar linha da pagina
if LpgCnt>LpgMax then                  'acima do limite
   LpgCnt=1                            'reinicializar
else
   print                               'separar
end if
end sub


SUB Etq_Fim 'fim de listagem
if cntGer>0 then                       'dados pendentes ?
    call Etq_LinLst                    'listar linha
end if
Print PrtCmd$("[SP]");
end sub


'- Etiqueta - grafico --------------------------------------------------------
SUB Etg_CabIni 'inicializar
cntLin=0                               'limpar contador por linha
cntGer=0                               'limpar contador geral
LpgMax=5                               'linha da pagina - maximo
LpgCnt=1                               'linha da pagina - numero

etqLin=2                               'etiquetas por linha
end sub


SUB Etg_CabFim 'terminar
end sub


SUB Etg_Cab 'cabecalho
PrWIN AJT_D,  -280.0,   -280.0         'deslocamento de ajuste 

PrWIN AJT_B, 0.0, 0.0                  'posicao base
PrWIN COR_F, 15                        'cor de fundo 
end sub


SUB Etg_Lin 'linha
cntGer=cntGer+1                        'contar geral
cntLin=cntLin+1                        'contar por linha
if cntLin>etqLin then                  'acima do limite ?
   cntLin=1                            'reinicializar
   LpgCnt=LpgCnt+1                     'contar linha da pagina
   if LpgCnt>LpgMax then               'acima do limite
      LpgCnt=1                         'reinicializar
   end if
end if

px=cntLin*100-95                       'posicao X

PrWIN AJT_B,   8, LpgCnt*50-45         'posicao base
'PrWIN AJT_B,   8, LpgCnt*35-45         'posicao base

PrWIN GR_ME, 0                         'modo de enchimento
PrWIN FON, 10, 1                       'activar fonte

txCnt$=FrmNum$(8,MemNum(11))+"/"+NumTxt$(MemNum(12),4)

PrWIN TX_NP,px     ,   5,"N","<-------------------------------------->"
PrWIN TX_NP,px     ,  10,"N",str$(cntGer)
PrWin FON, "BOLD+"                     'activar bold
PrWIN TX_NP,px+48.0,  10,"N",txCnt$
PrWin FON, "BOLD-"                     'desactivar bold

PrWIN TX_N, px     ,  15,Imo_Mst_Cod$
PrWIN TX_N, px     ,  20,Imo_Mst_Nome$

PrWIN CBAR, px     ,  35,"A39",8,0.2,Imo_Mst_Cod$

PrWIN TX_NP,px     ,  50,"N","<-------------------------------------->"
end sub


SUB Etg_Fim 'fim de listagem
PrWIN FP                               'fim de pagina
end sub

##
