'Nome       : Brother_PTouch.etq
'Tipo       : LST
'Data       : 2009/01/20
'Versao     : 1.0
'Descricao  : Listagem de etiquetas BROTHER/PTouch

'==============================================================================
'#VER - Historia de modificacoes
'==============================================================================
'- Versao : 1.0   2009/??/?? --------------------------------------------------
'Versao base


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


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


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=StcEtq
Nome                       [DocNom]=EtqEan13,Codigo Barras
Vias                       [DocVia]=Original

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

'funcoes de listagem
Listar cabecalho            [FxCAB]=Ean13_Cab
Listar linhas               [FxLIN]=Ean13_Lin
Listar fim                  [FxFIM]=Ean13_Fim
##


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

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

'funcoes de listagem
Listar cabecalho            [FxCAB]=EtqTx_Cab
Listar linhas               [FxLIN]=EtqTx_Lin
Listar fim                  [FxFIM]=EtqTx_Fim
##


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

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

'variaveis a listar
Art      = StcCodFrm$(Stc_Mst_Art$)                
Nom1     = Stc_Mst_Nome1$
Unid     = Stc_Mst_Unid$
##


'==============================================================================
#PGM - Programa/Funcoes
'==============================================================================
Sub FxIni 'funcao de inicializacao
'etqDir$ = "C:\Program Files\Brother bPAC SDK\Templates\"    'directorio de etiquetas

'dba$ = EmpFic$("EMP","Xxx,Zzz")                            'endereco da empresa
'dba$ = SigFic$("L", sdi$, nfi$)                            'endereco local do SIG
etqDir$ = SigFic$("S", "Cfg\Marcas", "Brother\PTouch")      'endereco das etiquetas (servidor do SIG)

res$ = VBS_RegEtqDba$(etqDir$)                              'registar directorio de etiquetas

'msgbox "","FxIni",res$
end sub


Sub FxFim 'funcao de finalizacao
'nada a executar
end sub


Sub Lst_AJT
'nada a executar
end sub


'- Etiqueta EAN 13 -----------------------------------------------------------
Sub Ean13_CabIni 'inicializar
'nada a executar
end sub


Sub Ean13_Cab 'cabecalho
'nada a executar
end sub


Sub Ean13_Lin 'linha
'msgbox "","ETQ - INI"

txCod$ = StcCodFrm$(Stc_Mst_Art$)                           'valor para codigo
txNom$ = Stc_Mst_Nome1$                                     'valor para nome
txPrc$ = FrmNum$(8.2,Stc_Mst_Pv1)                           'valor para preco
txCba$ = Stc_Mst_CodBar$                                    'valor para codigo de barras

res = VBS_EtqExeCba(txCod$, txNom$, txPrc$, txCba$)         'listar

'msgbox "","ETQ - FIM"
end sub


Sub Ean13_Fim 'fim de listagem
'nada a executar
end sub


'- Etiqueta (texto) ----------------------------------------------------------
Sub EtqTx_CabIni 'inicializar
'nada a executar
end sub


Sub EtqTx_Cab 'cabecalho
'nada a executar
end sub


Sub EtqTx_Lin 'linha
txCod$ = StcCodFrm$(Stc_Mst_Art$)                           'valor para codigo
txNom$ = Stc_Mst_Nome1$                                     'valor para nome
txPrc$ = FrmNum$(8.2,Stc_Mst_Pv1)                           'valor para preco

res = VBS_EtqExeTxt(txCod$, txNom$, txPrc$)                 'listar
end sub


Sub EtqTx_Fim 'fim de listagem
'nada a executar
end sub

##


'==============================================================================
#VBS - VB Script
'==============================================================================
'- +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
'- (13) --->'Comentario
'- (25) --------------->'Comentario
'- (28) ------------------>'Comentario
'- (40) ------------------------------>'Comentario
'- (43) --------------------------------->'Comentario
'- (46) ------------------------------------>'Comentario
'- (49) --------------------------------------->'Comentario
'- (52) ------------------------------------------>'Comentario
'- (55) --------------------------------------------->'Comentario
'- (58) ------------------------------------------------>'Comentario
'- (61) --------------------------------------------------->'Comentario


'- variaveis globais ----------------------------------------------------------
dim obDoc                              'objecto para acesso a listagens
dim etqDir                             'directorio de etiquetas


'------------------------------------------------------------------------------
'Funcoes de listagem
'------------------------------------------------------------------------------
Function RegEtqDba(dba) 'registar directorio base
'dba        - directorio

etqDir = dba                           'guardar directorio

'terminar
RegEtqDba = dba                        'devolver resultado
end function


Function EtqExeCba(cod, nom, prc, cba) 'executar etiqueta com codigo de barras
'cod        - codigo
'prc        - nome
'prc        - preco
'cba        - codigo de barras

'msgbox "ETQ CBA"

etqNom = "SigArt_Ean13_62.lbl"                     'ficheiro da etiqueta
etqUsa = etqDir +"\" + etqNom                      'endreco do ficheiro

'msgbox etqUsa

Set obDoc = CreateObject("BrssCom.Document")       'preparar acesso a listagem
res = obDoc.Open(etqUsa)

if res <> False Then                               'acesso valido ?
   call EtqRegCmp("Cmp_Nom", nom)                  'registar nome
   call EtqRegCmp("Cmp_Cod", cod)                  'registar codigo
   call EtqRegCmp("Cmp_Prc", prc)                  'registar preco

   with obDoc
   .SetBarcodeData 0, cba                          'registar codigo de barras

   .DoPrint 0, "0"                                 'listar
   end with
End If

'terminar
Set obDoc = Nothing                                'destruir acesso a listagem

EtqExeCba = 1                                      'devolver resultado
end function


Function EtqExeTxt(cod, nom, prc) 'executar etiqueta de texto
'cod        - codigo
'prc        - nome
'prc        - preco

etqNom = "SigArt_Txt_62.lbl"                       'ficheiro da etiqueta
etqUsa = etqDir +"\" + etqNom                      'endreco do ficheiro

Set obDoc = CreateObject("BrssCom.Document")       'preparar acesso a listagem
res = obDoc.Open(etqUsa)

if res <> False Then                               'acesso valido ?
   call EtqRegCmp("Cmp_Nom", nom)                  'registar nome
   call EtqRegCmp("Cmp_Cod", cod)                  'registar codigo
   call EtqRegCmp("Cmp_Prc", prc)                  'registar preco

   with obDoc
   .DoPrint 0, "0"                                 'listar
   end with
End If

'terminar
Set obDoc = Nothing                                'destruir acesso a listagem

EtqExeTxt = 1                                      'devolver resultado
end function


'------------------------------------------------------------------------------
'Funcoes de suporte
'------------------------------------------------------------------------------
Sub EtqRegCmp(cmp, vlc) 'registar campo da etiqueta
'cod        - campo
'vlc        - valor do campo

with obDoc
idxCmp = .GetTextIndex(cmp)            'indice para campo
.SetText idxCmp, vlc                   'registar valor
end with
end sub

##

