;** RE_0010 ********************************************************************
;*  Emissao de Etiquetas Produtos - Modelo II                                  *
;*******************************************************************************
;Autor: Visao/Vise
;Desenvolvido    : 09/10/2001 por Anivel Augusto Rodrigues
;Ultima Alteracao: 02/03/2007 por Nikolas M. Mateus
;Motivo Alteracao: Inclusao da etiqueta 46 e 47 Zebra
;Ultima Alteracao: 14/03/2007 por Anivel Augusto Rodrigues
;Motivo Alteracao: Inclusao da etiqueta 48 Intermec code128
;Ultima Alteracao: 29/03/2007 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Ordem Impressao
;Ultima Alteracao: 10/04/2007 por Anivel Augusto Rodrigues
;Motivo Alteracao: Inclusao da etiqueta 49 Intermec ean13
;Ultima Alteracao: 14/08/2007 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Deleta_Arquivo
;Ultima Alteracao: 30/01/2008 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes TN 0185 ET_Z002B
;Ultima Alteracao: 04/03/2008 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes TN Selecao requisicao
;Ultima Alteracao: 11/03/2008 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes TN Selecao requisicao item tipo P
;Ultima Alteracao: 23/05/2008 por Anivel Augusto Rodrigues
;Motivo Alteracao: Inclusao Controla_Edicao
;Ultima Alteracao: 26/06/2008 por Nikolas
;Motivo Alteracao: Inclusao Nova etiqueta numero 50 modamil
;Ultima Alteracao: 10/07/2008 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes GDA Selecao Pedido
;Ultima Alteracao: 31/07/2008 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Clientes 0003,0200
;Ultima Alteracao: 19/08/2008 por Anivel Augusto Rodrigues
;Motivo Alteracao: Inclusao Modelo Carol Distribuidora
;Ultima Alteracao: 03/10/2008 por Anivel Augusto Rodrigues
;Motivo Alteracao: Inclusao Modelo Uzze Buzze
;Ultima Alteracao: 18/01/2009 por Nikolas
;Motivo Alteracao: Inclusao Modelo Diobra 55
;Ultima Alteracao: 12/02/2009 por Nikolas
;Motivo Alteracao: Inclusao Modelo Lupus 56
;Ultima Alteracao: 17/02/2009 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Relacao Inclusao Modelo Kaney 58
;Ultima Alteracao: 25/03/2009 por Anivel Augusto Rodrigues
;Motivo Alteracao: Inclusao Modelo Auditoria 59
;Ultima Alteracao: 27/03/2009 por Anivel Augusto Rodrigues
;Motivo Alteracao: Inclusao Modelo Bali 60
;Ultima Alteracao: 08/04/2009 por Anivel Augusto Rodrigues
;Motivo Alteracao: Inclusao Modelo SIRI 61,62
;Ultima Alteracao: 17/07/2009 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes QTD Pedido
;Ultima Alteracao: 24/08/2009 por Cleber Alves
;Motivo Alteracao: Inclusao do Modelo 63
;Ultima Alteracao: 09/09/2009 por Nikoas
;Motivo Alteracao: Inclusao do Modelo 64 (Bali II)
;Ultima Alteracao: 15/09/2009 por Nikoas
;Motivo Alteracao: Inclusao do Modelo 65 (Concretos Vico)
;Ultima Alteracao: 10/05/2010 por Bruno Carvalho
;Motivo Alteracao: Inclusao do Modelo 66 (Ecologica)
;Ultima Alteracao: 21/06/2010 por Bruno Carvalho
;Motivo Alteracao: Inclusao do Modelo 67 (Concretos Vico)
;Ultima Alteracao: 02/07/2010 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes pegar pre‡o na tabela, inclusao modelo 36A
;Ultima Alteracao: 18/08/2010 por Bruno Carvalho
;Motivo Alteracao: Altera‡Æo Estrutura (Campo Concentrador), InclusÆo Modelo 36B
;Ultima Alteracao: 02/09/2010 por Bruno Carvalho
;Motivo Alteracao: InclusÆo Modelo 36C
;Ultima Alteracao: 15/09/2010 por Karina Andrade
;Motivo Alteracao: Ajustes codigo cliente confec‡Æo
;Ultima Alteracao: 22/10/2010 por Anivel Augusto Rodrigues
;Motivo Alteracao: Inclusao do Modelo 36R (Rolamentos Total)
;Ultima Alteracao: 22/11/2010 por Bruno Carvalho
;Motivo Alteracao: Inclusao do Modelo 68 (Agel)
;Ultima Alteracao: 03/01/2011 por Bruno Carvalho
;Motivo Alteracao: Ajustes Novo Layout de Teclas
;Ultima Alteracao: 21/01/2011 por Bruno Carvalho
;Motivo Alteracao: Inclusao do Modelo 69 (Queops)
;Ultima Alteracao: 21/01/2011 por Bruno Carvalho
;Motivo Alteracao: Inclusao do Modelo 70 (XT5)
;Ultima Alteracao: 21/01/2011 por Bruno Carvalho
;Motivo Alteracao: Inclusao do Modelo 71 (Zuggy-Zi)
;Ultima Alteracao: 18/02/2011 por Bruno Carvalho
;Motivo Alteracao: Novo Layout para Visualiza‡Æo de Etiquetas
;Ultima Alteracao: 18/02/2011 por Bruno Carvalho
;Motivo Alteracao: Inclusao do Modelo 72 (Ozanam)
;Ultima Alteracao: 11/04/2011 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes imprimir na ordem digitada
;Ultima Alteracao: 30/04/2011 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Isabela Garcia Nova Codifica‡Æo
;Ultima Alteracao: 06/05/2011 por Anivel Augusto Rodrigues
;Motivo Alteracao: Inclusao do Modelo 73 (PintaCor)
;Ultima Alteracao: 12/05/2011 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes novas fun‡äes para confec‡äes
;Ultima Alteracao: 26/05/2011 por Bruno Carvalho
;Motivo Alteracao: Modelo 74: Filtra CondPgto da Tabela de Pre‡o . Cliente 0293 (C¢pia Mod55)
;Ultima Alteracao: 13/06/2011 por Bruno Carvalho
;Motivo Alteracao: Ajustes no Modelo 63, para antigo modelo 36R (Substituido)
;Ultima Alteracao: 21/06/2011 por Karina Andrade
;Motivo Alteracao: Add Modelo 75, ajustes digita‡Æo Codigo do item
;Ultima Alteracao: 22/07/2011 por Karina Andrade
;Motivo Alteracao: Add Modelo 76 e 77, copia 75 - ajustes de tamanho e colunas
;Ultima Alteracao: 15/09/2011 por Bruno Carvalho
;Motivo Alteracao: Adicionado Modelo 78 (ModaMil)
;Ultima Alteracao: 16/01/2012 por Karina Andrade
;Motivo Alteracao: Ajustes Modelo 56
;Ultima Alteracao: 19/01/2012 por Karina Andrade
;Motivo Alteracao: Ajustes Modelo 56 e inclusao 79, etiqueta 79=56 com pre‡o
;Ultima Alteracao: 07/02/2012 por Bruno Carvalho
;Motivo Alteracao: Add Modelo 80
;Ultima Alteracao: 10/05/2012 por Karina Andrade
;Motivo Alteracao: Modelo 81(C¢pia Modelo 74)
;Ultima Alteracao: 15/05/2012 por Karina Andrade
;Motivo Alteracao: Alterado Modelo 81 reajustado, impressÆo por Script
;Ultima Alteracao: 18/05/2012 por Karina Andrade
;Motivo Alteracao: Add Modelo 82 "0222"
;Ultima Alteracao: 18/06/2012 por Karina Andrade
;Motivo Alteracao: Ajustes Selecao() - add TG_MESANO para ET_Z001C
;Ultima Alteracao: 1/08/2012 por Kamila Gomes
;Motivo Alteracao: InclusÆo Sys_codigo_cliente para ET_z002B OAZ's
;Ultima Alteracao: 18/05/2012 por Bruno Carvalho
;Motivo Alteracao: Add Modelo 83 "0243"
;Ultima Alteracao: 10/08/2012 por Bruno Carvalho
;Motivo Alteracao: Add Modelo 84 "GDA"
;Ultima Alteracao: 15/08/2012 por Bruno Carvalho
;Motivo Alteracao: Ajustes CODIGO_CLIENTE "0243"
;Ultima Alteracao: 16/08/2012 por Bruno Carvalho
;Motivo Alteracao: Ajustes ConfOpcoes("Gravar")
;Ultima Alteracao: 22/08/2012 por Bruno Carvalho
;Motivo Alteracao: Ajustes para Modelo 02 quando for empresa "0112"
;Ultima Alteracao: 21/09/2012 por Bruno Carvalho
;Motivo Alteracao: Add Modelo 85 "Moreira & Silva"
;Ultima Alteracao: 25/09/2012 por Bruno Carvalho
;Motivo Alteracao: Ajustes ConfOpcoes("Gravar")
;Ultima Alteracao: 02/10/2012 por Bruno Carvalho
;Motivo Alteracao: Ajustes ConfOpcoes("Gravar") e ao Carregar as Variaveis da Escolha da Op‡Æo da Etiqueta
;Ultima Alteracao: 05/10/2012 por Bruno Carvalho
;Motivo Alteracao: Adicionado op‡Æo p/ selecionar modelos preferenciais
;Ultima Alteracao: 08/10/2012 por Bruno Carvalho
;Motivo Alteracao: Adicionado Rotina p/ Leitura e Grava‡Æo do Arquivo me INI
;Ultima Alteracao: 09/10/2012 por Bruno Carvalho
;Motivo Alteracao: Alterado ET_Z014 p/ ET_Z014p onde o novo script ir  imprimir sem logomarca
;Ultima Alteracao: 28/12/2012 por Bruno Carvalho
;Motivo Alteracao: Adicionado Modelo 44A #0294#
;Ultima Alteracao: 10/01/2013 por Bruno Carvalho
;Motivo Alteracao: Informado para o modelo 85 o codigo do usuario que o utiliza
;Ultima Alteracao: 04/02/2013 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes LimpaRodape()
;Ultima Alteracao: 18/02/2013 por Kamila Gomes
;Motivo Alteracao: Ajustes SetaCorRegistro()
;Ultima Alteracao: 19/02/2013 por Bruno Carvalho
;Motivo Alteracao: Modelo "81" onde o houve altera‡äes/ajustes nessa rotina
;Ultima Alteracao: 27/02/2013 por Bruno Carvalho
;Motivo Alteracao: Ajustes p/ utiliza‡Æo da Tabela de Pre‡o quando necess rio
;Ultima Alteracao: 05/03/2013 por Kamila Gomes
;Motivo Alteracao: Ajustes p/ utiliza‡Æo da Tabela de Pre‡o quando necess rio,
;                  inclusÆo Modelo 86 "Moreira & Silva"
;Ultima Alteracao: 25/03/2013 por Bruno Carvalho
;Motivo Alteracao: InclusÆo Modelo 59A [0217]
;Ultima Alteracao: 12/06/2013 por Bruno Carvalho
;Motivo Alteracao: InclusÆo Modelo 87  [0286]
;Ultima Alteracao: 24/06/2013 por Bruno Carvalho
;Motivo Alteracao: Ajustes Modelo "59"
;Ultima Alteracao: 06/08/2013 por Karina Andrade
;Motivo Alteracao: Ajustes para impressÆo de requisi‡Æo,pedidos e documento Notai
;Ultima Alteracao: 13/08/2013 por Bruno Carvalho
;Motivo Alteracao: Add Modelo 36D #0311# "C¢pia do Modelo 36A, alterado tamanho pre‡o e removido referˆncia"
;Ultima Alteracao: 28/08/2013 por Bruno Carvalho
;Motivo Alteracao: Ajustes quando utilizar a etiqueta "36C"
;Ultima Alteracao: 17/09/2013 por Karina Andrade
;Motivo Alteracao: Novo tamanho etiqueta="78" com 1 coluna para
;Ultima Alteracao: 31/10/2013 por Andrey Fillipe
;Motivo Alteracao: Add Modelo 88 #0226#
;Ultima Alteracao: 01/11/2013 por Bruno Carvalho
;Motivo Alteracao: Adicionado novo filtro "Notas de Entrada" e ajustado layout de sele‡Æo
;Ultima Alteracao: 06/11/2013 por Bruno Carvalho
;Motivo Alteracao: Ajsutes Modelo 88 p/ imprimir COD128 e EAN13 #0266#
;Ultima Alteracao: 06/11/2013 por Bruno Carvalho
;Motivo Alteracao: Ajustes e adiconado Modelo 88A #0266#
;Ultima Alteracao: 06/11/2013 por Bruno Carvalho
;Motivo Alteracao: Adicionado "Localiza‡Æo do Item"
;Ultima Alteracao: 12/11/2013 por Bruno Carvalho
;Motivo Alteracao: Cancelado a Etiqueta 88A, devido ao tamanho da etiqueta que o sensor nÆo est  identificando corretamente
;Ultima Alteracao: 12/11/2013 por Bruno Carvalho
;Motivo Alteracao: Add fun‡Æo F10 para calcular o numero de etiquetas a ser impressa
;Ultima Alteracao: 12/11/2013 por Bruno Carvalho
;Motivo Alteracao: Adicionado Modelo 90 #0066#
;Ultima Alteracao: 13/11/2013 por Bruno Carvalho
;Motivo Alteracao: Modelo 88A adicionado e corrigido conforme os formatos da etiqueta
;Ultima Alteracao: 22/11/2013 por Bruno Carvalho
;Motivo Alteracao: Comentado a op‡Æo F10 para calcular o numero de etiquetas a ser impressa
;Ultima Alteracao: 02/12/2013 por Bruno Carvalho
;Motivo Alteracao: Ajustado a op‡Æo F10 para calcular o numero de etiquetas a ser impressa
;Ultima Alteracao: 20/12/2013 por Andrey Fillipe
;Motivo Alteracao: Alterado no F7(Selecao) de quantidade para QtdConvertida
;Ultima Alteracao: 23/12/2013 por Andrey Fillipe
;Motivo Alteracao: Ajustes (tirei F10 e coloquei p/ mostrar quantidade de etiqueta no rodap‚)
;Ultima Alteracao: 30/01/2014 por Bruno Carvalho
;Motivo Alteracao: Adicionado Modelo 66A #0252#
;Ultima Alteracao: 28/02/2014 por Bruno Carvalho
;Motivo Alteracao: Ajustes Seleciona_Etiquetas()
;Ultima Alteracao: 05/05/2014 por Bruno Carvalho
;Motivo Alteracao: Adicionado Modelo 57 #0159#
;Ultima Alteracao: 10/06/2014 por Luis Gustavo
;Motivo Alteracao: Ajustes na forma de Localizar o item
;Ultima Alteracao: 14/07/2014 por Luis Gustavo
;Motivo Alteracao: Ajustes na forma de Localizar o item
;Ultima Alteracao: 25/03/2013 por Bruno Carvalho
;Motivo Alteracao: InclusÆo Modelo 59B #0304#
;Ultima Alteracao: 27/08/2014 por Bruno Carvalho
;Motivo Alteracao: Adicionado rotina Recarrega() p/ recarregar itens conforme cadastro atual
;Ultima Alteracao: 30/09/2014 por Andrey Fillipe
;Motivo Alteracao: Adicionado Modelo 21 #0357# "ET_0357"
;Ultima Alteracao: 06/10/2014 por Andrey Fillipe
;Motivo Alteracao: Ajustes Quando consultar item voltar para o FORM que estava
;Ultima Alteracao: 14/10/2014 por Andrey Fillipe
;Motivo Alteracao: Ajustes quando for LOCALIZA_CODIGO="LOC_CODITE" Mover para [Codigo do Item]
;Ultima Alteracao: 20/03/2015 por Bruno Carvalho
;Motivo Alteracao: Ajustes MSG da proc Recarrega()
;Ultima Alteracao: 14/05/2015 por Bruno Carvalho
;Motivo Alteracao: Adicionado Modelo 57A #0159#
;Ultima Alteracao: 19/05/2015 por Bruno Carvalho
;Motivo Alteracao: Adicionado Modelo 57B #0159#
;Ultima Alteracao: 03/06/2015 por Bruno Carvalho
;Motivo Alteracao: Adicionado Modelo 91 #0369#
;Ultima Alteracao: 16/06/2015 por Andrey Fillipe
;Motivo Alteracao: Adicionado Modelo 92 #0227#
;Ultima Alteracao: 18/06/2015 por Bruno Carvalho
;Motivo Alteracao: Adicionado Modelo 93 #0167#
;Ultima Alteracao: 18/06/2015 por Bruno Carvalho
;Motivo Alteracao: Adicionado Modelo 94 e 94A #0268#
;Ultima Alteracao: 19/06/2015 por Andrey Fillipe
;Motivo Alteracao: Ajustes Modelo 92 #0227#
;Ultima Alteracao: 10/09/2015 por Andrey Fillipe
;Motivo Alteracao: Adicionado Modelo 95 #0322#
;Ultima Alteracao: 17/09/2015 por Andrey Fillipe
;Motivo Alteracao: Adicionado Modelo 22 #0359# "ET_0359"
;Ultima Alteracao: 14/10/2015 por Andrey Fillipe
;Motivo Alteracao: Adicionado Modelo 19 #0355# "ET_0355"
;Ultima Alteracao: 02/12/2015 por Andrey Fillipe
;Motivo Alteracao: Adicionado Segunda Tabela de Preco e Segundo Valor na etiqueta Modelo 36C #0302#
;Ultima Alteracao: 25/01/2016 por Bruno Carvalho
;Motivo Alteracao: Adicionado Modelo 19 #0299# "ET_0299"
;Ultima Alteracao: 23/03/2016 por Bruno Carvalho
;Motivo Alteracao: Ajustes no modelo "67", adicionado "PR:" no modelo da etiqueta no Report e removido os 0 a esquerda do codigo do item
;Ultima Alteracao: 28/03/2016 por Bruno Carvalho
;Motivo Alteracao: Adicionado Modelo 36E #0274# "ET_Z002F"
;Ultima Alteracao: 29/03/2016 por Bruno Carvalho
;Motivo Alteracao: Ajustado VSDGREFERENCIA p/ Aceitar letras e numeros "!*!" #0274#
;Ultima Alteracao: 11/05/2016 por Bruno Carvalho
;Motivo Alteracao: Inclusao ModoLocalizarItem()     
;Ultima Alteracao: 23/05/2016 por Kamila Gomes
;Motivo Alteracao: Ajuste campo Valor IPI por Unidade para Comissao Item
;Ultima Alteracao: 12/07/2016 por Bruno Carvalho
;Motivo Alteracao: Adicionado Modelo "67A" -> #0102#
;Ultima Alteracao: 25/07/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes nÆo inclui item inativado
;Ultima Alteracao: 06/08/2016 por Bruno Carvalho
;Motivo Alteracao: Adicionado processo padrÆo de modo de codigo de barras conforme as outras rotinas
;Ultima Alteracao: 27/08/2016 por Kamila Gomes
;Motivo Alteracao: Ajustes op‡Æo de sele‡Æo F7, quando usa numero de requisi‡Æo
;Ultima Alteracao: 19/09/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes showdialog                   
;Ultima Alteracao: 29/09/2016 por Bruno Carvalho
;Motivo Alteracao: Adiconado Modelo 88B #0226#
;Ultima Alteracao: 29/09/2016 por Bruno Carvalho
;Motivo Alteracao: Ajustes #0388# -> PegaCodigoRaiz()
;Ultima Alteracao: 18/10/2016 por Bruno Carvalho
;Motivo Alteracao: Adicionado Modelo 96 #0345# - T‚rmica/Bematech
;Ultima Alteracao: 01/11/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: InclusÆo Modelo 49A [0171]
;Ultima Alteracao: 03/11/2016 por Bruno Carvalho
;Motivo Alteracao: Ajustes
;Ultima Alteracao: 07/11/2016 por Bruno Carvalho
;Motivo Alteracao: Adicionado Modelo 78B #0051# 
;Ultima Alteracao: 07/11/2016 por Bruno Carvalho
;Motivo Alteracao: Ajustes p/ padroniza‡Æo do Array de Etiquetas -> ModeloRelatoriosAdd() 
;Ultima Alteracao: 03/12/2016 por Bruno Carvalho
;Motivo Alteracao: Ajustes #0390# -> PegaCodigoRaiz()
;Ultima Alteracao: 06/12/2016 por Bruno Carvalho
;Motivo Alteracao: Quando VSDGSIM_NAO="NAO", vari veis referente aos documentos estÆo sendo limpadas 
;Ultima Alteracao: 07/12/2016 por Bruno Carvalho
;Motivo Alteracao: Adicionado Modelo 96A #0345# - T‚rmica/Bematech
;Ultima Alteracao: 29/12/2016 por Rafael Matos
;Motivo Alteracao: Ajustes MensagemCheckBoxes()
;Ultima Alteracao: 04/01/2017 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes eliminar campo aliquotadeir
;Ultima Alteracao: 13/01/2017 por Rafael Matos
;Motivo Alteracao: Adicionado Modelo 97 #0383# - Zebra/Bematech
;Ultima Alteracao: 27/01/2017 por Anivel Augusto Rodrigues 
;Motivo Alteracao: Ajustes TG_REFERENCIA
;Ultima Alteracao: 31/01/2017 por Rafael Matos
;Motivo Alteracao: Adicionado Modelo 98 #0391# "ET_0391"
;Ultima Alteracao: 01/02/2017 por Rafael Matos
;Motivo Alteracao: Adicionado Modelo 99 #0392# "ET_0392"
;Ultima Alteracao: 22/02/2017 por Bruno Carvalho
;Motivo Alteracao: Adicionado Modelo 22A #0359# "ET_Z359A"
;Ultima Alteracao: 22/02/2017 por Bruno Carvalho
;Motivo Alteracao: Adicionado "F2" para carregamento das simbologias para a impressora conforme cliente espec¡fico
;Ultima Alteracao: 07/04/2017 por Bruno Carvalho
;Motivo Alteracao: Ajustes #0396# -> PegaCodigoRaiz()
;Ultima Alteracao: 17/04/2017 por Kamila Gomes
;Motivo Alteracao: Nova Etiqueta ET_0396 Real Tecidos Modelo 100
;Ultima Alteracao: 24/04/2017 por Bruno Carvalho
;Motivo Alteracao: Adicionado Modelo 101 #0388# "ET_Z388"
;Ultima Alteracao: 15/05/2017 por Bruno Carvalho  
;Motivo Alteracao: Adicionado Verifica_Data_Arquivo() -> Ser  carregado a simbologia diariamente quando impressora for BEMATECH 
;Ultima Alteracao: 15/05/2017 por Bruno Carvalho
;Motivo Alteracao: Ajustes p/ otimiza‡Æo do processo de impressÆo de simbologia ao realizar o carregamento.
;Ultima Alteracao: 08/09/2017 por Bruno Carvalho
;Motivo Alteracao: Ajustes no modelo "44" p/ imprimir mˆs e ano -> Sol. 31474                                                                               
;Ultima Alteracao: 25/10/2017 por Anivel Augusto Rodrigues 
;Motivo Alteracao: Ajustes informar quantidade para sele‡Æo de documento
;Ultima Alteracao: 11/01/2018 por Bruno Carvalho
;Motivo Alteracao: Add Modelo 102 #0226#
;Ultima Alteracao: 05/02/2018 por Bruno Carvalho
;Motivo Alteracao: Adicionado Modelo 93A #0167#
;Ultima Alteracao: 09/02/2018 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Modelo SIRI 61,62
;Ultima Alteracao: 02/03/2018 por Anivel Augusto Rodrigues 
;Motivo Alteracao: Adicionado modelo 22B "Et_0359B"
;Ultima Alteracao: 07/03/2018 por Bruno Carvalho
;Motivo Alteracao: Add Modelo 103 #0408# *Simbologia
;Ultima Alteracao: 11/04/2018 por Bruno Carvalho
;Motivo Alteracao: Adicionado modelo "22C"
;Ultima Alteracao: 13/04/2018 por Bruno Carvalho
;Motivo Alteracao: Adicionado Modelo 104
;Ultima Alteracao: 08/05/2018 por Bruno Carvalho
;Motivo Alteracao: Adicionado Modelo 105
;Ultima Alteracao: 14/05/2018 por Bruno Carvalho
;Motivo Alteracao: Adicionado processo modo GRADE
;Ultima Alteracao: 22/05/2018 por Bruno Carvalho
;Motivo Alteracao: Ajustes vari vel qtd -> ChaveCdBar()
;Ultima Alteracao: 29/05/2018 por Bruno Carvalho
;Motivo Alteracao: Ajustes Form_Localizar() -> FORMU4 quando for confec‡Æo para ativar modo grade
;Ultima Alteracao: 14/06/2018 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes modelo 106 manutex
;Ultima Alteracao: 05/07/2018 por Bruno Carvalho
;Motivo Alteracao: Adicionado Modelo 107 
;Ultima Alteracao: 23/07/2018 por Bruno Carvalho
;Motivo Alteracao: Adicionado Modelo 108 
;Ultima Alteracao: 14/08/2018 por Bruno Carvalho
;Motivo Alteracao: Adicionado Modelos "109" e "110" p/ 0359
;Ultima Alteracao: 20/08/2018 por Bruno Carvalho
;Motivo Alteracao: Add Modelo 111 #0408# *Simbologia *Copia do Modelo 103
;Ultima Alteracao: 04/09/2018 por Bruno Carvalho
;Motivo Alteracao: Adicionado modelo "112" p/ 0326 
;Ultima Alteracao: 04/09/2018 por Bruno Carvalho
;Motivo Alteracao: Adicionado modelo "113" e "114" p/ 0159
;Ultima Alteracao: 12/09/2018 por Bruno Carvalho
;Motivo Alteracao: Adicionado modelo "115"
;Ultima Alteracao: 19/09/2018 por Bruno Carvalho
;Motivo Alteracao: Adicionado modelo "116" paa #0412#
;Ultima Alteracao: 15/10/2018 por Bruno Carvalho
;Motivo Alteracao: Adicionado modelo "117" p/ #0425#
;Ultima Alteracao: 15/10/2018 por Bruno Carvalho
;Motivo Alteracao: Adicionado modelo "118" p/ #0425#
;Ultima Alteracao: 17/10/2018 por Bruno Carvalho
;Motivo Alteracao: Adicionado modelo "119" p/ #0422#
;Ultima Alteracao: 29/10/2018 por Bruno Carvalho
;Motivo Alteracao: Ajustes p/ modelo 112 -> Tabela de Pre‡o 
;Ultima Alteracao: 01/11/2018 por Anivel Augusto Rodrigues 
;Motivo Alteracao: Ajustes layout modelos etiquetas
;Ultima Alteracao: 01/11/2018 por Bruno Carvalho
;Motivo Alteracao: Ajustes p/ modelo 82 -> Tabela de Pre‡o
;Ultima Alteracao: 06/11/2018 por Bruno Carvalho
;Motivo Alteracao: Modelo "19" foi removido da rela‡Æo, pois ‚ parecido senÆo o mesmo modelo "18"
;Ultima Alteracao: 06/11/2018 por Bruno Carvalho
;Motivo Alteracao: Removido da rela‡Æo o modelo 63 "Et_Z002R" #0160#                                                  
;Ultima Alteracao: 08/11/2018 por Bruno Carvalho
;Motivo Alteracao: Adicionado descritivos na rela‡Æo das etiquetas 
;Ultima Alteracao: 29/11/2018 por Bruno Carvalho
;Motivo Alteracao: Adiconado Modelo 88C #0294#
;Ultima Alteracao: 13/12/2018 por Anivel Augusto Rodrigues
;Motivo Alteracao: Adiconado Modelo 22D #0404#
;Ultima Alteracao: 24/12/2018 por Bruno Carvalho
;Motivo Alteracao: Adicionado Modelo 57C #0159# -> Copia do Modelo 57A por‚m largura de 11,1cm contra 11cm do modelo copiado
;Ultima Alteracao: 28/12/2018 por Anivel Augusto Rodrigues                           
;Motivo Alteracao: Adicionado processos de #0427#
;Ultima Alteracao: 08/01/2019 por Bruno Carvalho                           
;Motivo Alteracao: Adicionado modelo "70A"
;Ultima Alteracao: 09/01/2019 por Bruno Carvalho                           
;Motivo Alteracao: Adicionado modelo "120" #0428#
;Ultima Alteracao: 30/01/2019 por Bruno Carvalho                           
;Motivo Alteracao: Adicionado modelo "121" e "122" #0417#  
;Ultima Alteracao: 06/02/2019 por Bruno Carvalho                           
;Motivo Alteracao: Ajustes espec¡fico p/ #0423# no modelo 36A ao buscar o pre‡o do item RAIZ 
;Ultima Alteracao: 28/03/2019 por Bruno Carvalho                           
;Motivo Alteracao: Adicionado modelo "123" #0434#
;Ultima Alteracao: 01/04/2019 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes #0159# desabilitado modelos antigos
;Ultima Alteracao: 10/04/2019 por Bruno Carvalho
;Motivo Alteracao: Adicionado ajustes para gravar escolha da op‡Æo de FORM - ConfOpcoes() -> "Ler_Form" e "Gravar_Form"                             
;Ultima Alteracao: 28/03/2019 por Bruno Carvalho                           
;Motivo Alteracao: Adicionado modelo "125" #0434# -> 3,3 x 2,1
;Ultima Alteracao: 16/04/2019 por Bruno Carvalho                           
;Motivo Alteracao: Adicionado modelo "126" #0434#
;Ultima Alteracao: 23/04/2019 por Bruno Carvalho
;Motivo Alteracao: Ajustes #0429# -> PegaCodigoRaiz()
;Ultima Alteracao: 24/04/2019 por Bruno Carvalho
;Motivo Alteracao: Ajustes p/ modelo 124, solicitando a tabela de pre‡o quando nÆo informada
;Ultima Alteracao: 26/04/2019 por Anivel Augusto Rodrigues 
;Motivo Alteracao: Ajustes pega j  pronto na tabela CODPreco
;Ultima Alteracao: 30/04/2019 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes #0434# -> nÆo usar codigo pai
;Ultima Alteracao: 06/05/2019 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes #0431# -> modelo 127
;Ultima Alteracao: 21/05/2019 por Bruno Carvalho
;Motivo Alteracao: Ajustes DigitaTec() -> Variavel preco2 foi adicionado strval() ao pegar o pre‡o na tabela de pre‡o *Como ‚ feito no primeiro pre‡o
;Ultima Alteracao: 22/05/2019 por Bruno Carvalho
;Motivo Alteracao: Add Modelo 128 "0435"                                                  
;Ultima Alteracao: 29/05/2019 por Bruno Carvalho
;Motivo Alteracao: Add Modelo 129 "0159"
;Ultima Alteracao: 31/05/2019 por Bruno Carvalho  
;Motivo Alteracao: Adicionado ShowDialog p/ a escolha de representantes -> Modelo "124" e "127"
;Ultima Alteracao: 07/06/2019 por Bruno Carvalho  
;Motivo Alteracao: Ajustes ao verificar representantes -> modelo 124                    
;Ultima Alteracao: 26/06/2019 por Bruno Carvalho
;Motivo Alteracao: Add Modelo 130 "0435"
;Ultima Alteracao: 19/08/2019 por Bruno Carvalho
;Motivo Alteracao: Adicionado modelo 61A, c¢pia do modelo 61, por‚m add descri‡Æo do item em cada c¢digo de barra *Sol. 46017
;Ultima Alteracao: 28/08/2019 por Bruno Carvalho
;Motivo Alteracao: Add Modelo 36F #0439# "C¢pia do Modelo 36D, e pre‡o codigoraiz"
;Ultima Alteracao: 02/10/2019 por Bruno Carvalho                           
;Motivo Alteracao: Adicionado modelo "131" #0417#
;Ultima Alteracao: 16/10/2019 por Bruno Carvalho                           
;Motivo Alteracao: Adicionado modelo "132" e "133" #0397#
;Ultima Alteracao: 06/12/2019 por Bruno Carvalho
;Motivo Alteracao: Adicionado processos de #0388# para #0444#
;Ultima Alteracao: 06/12/2019 por Bruno Carvalho
;Motivo Alteracao: Adicionado modelo "22E" #0413#
;Ultima Alteracao: 24/12/2019 por Bruno Carvalho
;Motivo Alteracao: Adicionado Bib_Proc
                                                  
;*******************************************************************************
;* Rotina para Localizar Registro                                              *
;*******************************************************************************
Proc CHAVE()
Movcodit = 0

While True
  End
  Switch
    Case FORMU=3 : Down Down
    OtherWise    : If [Codigo do Item]<>"" Then Down EndIf
  EndSwitch

  Moveto [Quantidade] Re_0010_qtd=imagecsum()
  Form_Localizar()
  
  SetaCorRegistro("Editar")
  
  While True
  If LOCALIZA_CODIGO = "LOC_CODBAR"
     Then TECLA="Esc=Retornar  [F2]Ativar Modo  "
     Else TECLA="Esc=Retornar  "
  EndIf  
  BarraPadrao()
  
  Wait Field
   Message "Total de Etiquetas  "+StrVal(Re_0010_qtd)
    Until "ESC","ENTER",
          "HOME","UP","PGUP","DEL",
          -94,-33,-22, -18,
          "F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12",-68,-60
          -104, -105, -106, -107, -108, -109, -110, -111, -112, -113, -133, -134, -139, -140
  MSGCAMPO=""
  If Field()="Codigo do Item"    Or 
     Field()="Codigo Fornecedor" Or
     Field()="Referencia"        Or 
     Field()="Codigo de Barras"
     Then MSGCAMPO=LOCALIZAR_POR +", [F1]Consultar tabela            [F9]Alterar modo localizar"
  EndIf
  
  If Field()="Codigo de Barras"
     Then MSGCAMPO=LOCALIZAR_POR +", [F1]Consultar tabela [F2]Modo   [F9]Alterar modo localizar  "
  EndIf   

  If RetVal=-33
       Then If CARREGA_SIMBOLOGIA
               Then Echo Normal
                    Echo Off
                    ShowPopup " Fun‡”es " CENTERED
                     "F2  ~C~arrega Simbologia " : " Carrega Simbologia para a Impressora    " : "F2",
                     "F4  ~V~isualiza‡äes      " : " Definir diferente visualiza‡Æo de dados " : "F4",
                     "F5  ~L~impar             " : " Limpar lista de Itens                   " : "F5",
                     "F6  ~I~mprimir           " : " Imprimir etiquetas                      " : "F6",
                     "F7  ~S~ele‡„o            " : " Sele‡„o de Itens                        " : "F7",
                     "F8  ~T~abela de Pre‡o    " : " Informar a Tabela de Pre‡o              " : "F8",
                     "F9  ~A~ltera Localiza‡„o " : " Altera forma de localizar o item        " : "F9",
                     Separator,
                     "~C~ancelar               " : " Cancelar a Opera‡„o                     " : "CANCELAR"
                    EndMenu
                    To MenuVar
                    Echo Off
               Else Echo Normal
                    Echo Off
                    ShowPopup " Fun‡”es " CENTERED
                     "F2  ~M~odo Grade         " : " Ativa Modo Grade                        " : "F2",
                     Separator,
                     "F4  ~V~isualiza‡äes      " : " Definir diferente visualiza‡Æo de dados " : "F4",
                     "F5  ~L~impar             " : " Limpar lista de Itens                   " : "F5",
                     "F6  ~I~mprimir           " : " Imprimir etiquetas                      " : "F6",
                     "F7  ~S~ele‡„o            " : " Sele‡„o de Itens                        " : "F7",
                     "F8  ~T~abela de Pre‡o    " : " Informar a Tabela de Pre‡o              " : "F8",
                     "F9  ~A~ltera Localiza‡„o " : " Altera forma de localizar o item        " : "F9",
                     Separator,
                     "~C~ancelar               " : " Cancelar a Opera‡„o                     " : "CANCELAR"
                    EndMenu
                    To MenuVar
                    Echo Off
            EndIf
            If MenuVar="CANCELAR" or MenuVar="Esc"
                Then Loop
            EndIf
            RetVal=MenuVar
  EndIf

  Switch
    Case RetVal="F9"  :
         ModoLocalizarItem("SELECAO","","RE_0010")
         Form_Localizar()
    Case RetVal="F1":
         If Field()="Codigo do Item"    Or 
            Field()="Codigo Fornecedor" Or
            Field()="Referencia"        Or 
            Field()="Codigo de Barras"
            Then PickForm OPCAO_FORM_PADRAO
                 Moveto [Lookup_Item]
                 CONSULTAF1()
                 [Codigo do Item]=[]
                 []=""
                 Moveto [Codigo do Item]
                 Switch          
                   Case LOCALIZA_CODIGO="LOC_CODITE" :
                        Switch
                          Case FORMU = 1 : OPCAO_FORM_PADRAO = "F"
                          Case FORMU = 2 : OPCAO_FORM_PADRAO = "1"
                          Case FORMU = 3 : OPCAO_FORM_PADRAO = "2"
                          Case FORMU = 4 : OPCAO_FORM_PADRAO = "6"
                          Case FORMU = 7 : OPCAO_FORM_PADRAO = "1"
                        EndSwitch
                 EndSwitch   
                 Form_Localizar()
         EndIf       
    Case RetVal="F3": SemFicha()
    Case RetVal=-94 : MsgTeclasPadrao()
    Case RetVal="F5":
         ConfGeral("Confirma a exclus„o dos registro desta relac„o ?")
         If OK="S"
             Then Del
                  Limpar()
         EndIf
         QuitLoop
    Case RetVal="F7":
         Del
         If FORMU=2 or FORMU=7
            Then If Not IsAssigned(VSDGTABELA) Or
                    IsBlank(VSDGTABELA)
                    Then Mensagem("Selecione uma tabela de pre‡o ! ")
                         QuitLoop
                 EndIf
         EndIf
         Selecao()
         QuitLoop
    Case RetVal="F6":
         Del
         If Not IsEmpty("Re_0010")
            Then Imprimir()
         EndIf
         QuitLoop
    Case RetVal="F7" Or RetVal="UP" Or RetVal="PGUP" Or RetVal="HOME":
         While True
           PAGINA("Re_0010","MR")
           If EDITAR="S"
              Then CHAVE=0
                   Controla_EdicaoC()
              Else If EXCLUIR="S"
                      Then If QuerExcluir("")
                              Then DEL
                              Else UnLockRecord
                           EndIf
                      Else QuitLoop
                   EndIf
           EndIf
           SetaPosForm()
         EndWhile
         QuitLoop
    Case RetVal="F8":
         Del
         TabelaPreco()
         QuitLoop
    Case Retval="F2" Or RetVal=-60 : 
         If Not CARREGA_SIMBOLOGIA
            Then If SYS_CLIENTE_CONFEC = ""
                    Then Mensagem("Op‡„o p/ empresas de Confec‡„o !")
                         Loop
                    Else If FORMU<>4
                            Then Mensagem("Ativa o modo de visualiza‡Æo por referˆncia para prosseguir!")
                                 Loop 
                            Else While True 
                                   Play "RE_0010G"
                                   If CHAVEF=9 Then QuitLoop EndIf
                                 EndWhile  
                         EndIf   
                 EndIf   
            Else ;Processo de Simbologia
                 If IsFile(PrivDir()+"Simbol.ini") Then Deleta_Arquivo(PrivDir()+"Simbol.ini") EndIf
                 Carrega_Impressora("RECARREGAR")
         EndIf                   
    Case Retval="F4": 
         Del

        Echo Normal
        Echo Off
        ShowPopup " Fun‡”es " CENTERED
         "~1~ PadrÆo          " : " Visualizador padrÆo                         " : "VIS1",
         "~2~ Pre‡o           " : " Visualizador com pre‡o                      " : "VIS2",
         "~3~ Fabrica‡Æo      " : " Visualizador com data fabrica‡Æo            " : "VIS3",
         "~4~ Ref/Grade       " : " Visualizador com referˆncia/grade           " : "VIS4",
         "~5~ Tecido          " : " Visualizador com dados Tecido               " : "VIS5",
         Separator,
         "~C~ancelar          " : " Cancelar a Opera‡„o                         " : "CANCELAR"
        EndMenu
         To MenuVar

        echo off
        If MenuVar="CANCELAR" or MenuVar="Esc"
            Then QuitLoop
        EndIf
        RetVal=MenuVar
        LOCALIZA_CODIGO = "LOC_CODITE"
        Switch
          Case MenuVar="VIS1" : FORMU=1
                                OPCAO_FORM_PADRAO = "F"
          Case MenuVar="VIS2" : FORMU=2
                                OPCAO_FORM_PADRAO = "1"
          Case MenuVar="VIS3" : FORMU=3
                                OPCAO_FORM_PADRAO = "2"
          Case MenuVar="VIS4" : FORMU=4
                                OPCAO_FORM_PADRAO = "6"
          Case MenuVar="VIS5" : FORMU=7
                                OPCAO_FORM_PADRAO = "1"
        EndSwitch
        ConfOpcoes("Gravar_Form")
        QuitLoop
    Case Retval="ESC":
         CHAVE=9
         Del
         Return
    Case RetVal="ENTER": 
         If IsBlank([])Then Loop EndIf
         If FORMU=2 or FORMU=7
            Then If Not IsAssigned(VSDGTABELA) Or
                    IsBlank(VSDGTABELA)
                    Then Mensagem("Selecione uma tabela de pre‡o ! ")
                         Del
                         QuitLoop
                 EndIf
         EndIf      
         
         If LOCALIZA_CODIGO = "LOC_CODBAR"
            Then Del
                 Moveto [Codigo de Barras]
                 Mensagem("Modo de C¢digo de Barras Ativado!")
                 QuitLoop
         EndIf   
         
         CODIGO = []
         Del                                        
         PickForm OPCAO_FORM_PADRAO
         Moveto [Lookup_Item]
         LOC_RETORNO_CODITEM = True
         Ativa_Lookup()
         ModoLocalizarItem("LOCALIZAR",CODIGO,"")
         CODIGO = LOC_CODIGO_ITEM
         Form_Localizar()
         If CODIGO=""
            Then Mensagem("Item/Referˆncia n„o localizado !")
                 QuitLoop
         EndIf
         Locate CODIGO
         If Retval
            Then CHAVE=0
            Else CHAVE=1
                 End
                 Switch
                   Case FORMU=3 : If [Codigo do Item]<>"" 
                                     Then Down Down 
                                     Else Down
                                  EndIf                    
                   OtherWise    : If [Codigo do Item]<>"" Then Down EndIf
                 EndSwitch
                 [Lookup_Item    ]=CODIGO
                 [Codigo do Item ]=CODIGO
                 If Sys_Codigo_Cliente="0159" 
                    Then [Data_Fabricacao]=Today()
                         [Lote           ]=AlinhM(StrVal(Month(Today())),2)+"/"+StrVal(Year(Today()))
                 EndIf
                 UnLockRecord

                 echo normal
                 echo off
                 
                 GetRecord "\\sistemas\\estoque\\Itens" CODIGO To regitem
                 If RetVal
                    then if regitem["Inativo"]="S"
                            then Mensagem("InclusÆo nÆo permitida, item INATIVADO ! ")
                                 Del
                                 QuitLoop                            
                         endif
                         
                         if sys_codigo_cliente="0434"
                            then
                                 if regitem["Tipo do Item"]="D"
                                    then Mensagem("InclusÆo nÆo permitida, item PAI ! ")
                                         Del
                                         QuitLoop                            
                                 endif
                         endif   
                         
                         release vars regitem
                 endif           
                 
                 If LOCALIZA_CODIGO = "LOC_CODITE"
                    Then Moveto [Codigo do Item]
                 EndIf
            
                 Locate CODIGO
                 If FORMU=2 or FORMU=7
                    Then coditem=CODIGO
                         If Not IsBlank([Codigo da Grade])
                            Then CodItem=PegaCodigoRaiz(CodItem)
                         EndIf
                         If SYS_CODIGO_CLIENTE="0239" Or
                            SYS_CODIGO_CLIENTE="0388" Or
                            SYS_CODIGO_CLIENTE="0427" Or
                            SYS_CODIGO_CLIENTE="0171" Or
                            SYS_CODIGO_CLIENTE="0390" Or
                            SYS_CODIGO_CLIENTE="0396" Or
                            SYS_CODIGO_CLIENTE="0345" Or
                            SYS_CODIGO_CLIENTE="0419" Or
                            SYS_CODIGO_CLIENTE="0444" Or
                            SYS_CODIGO_CLIENTE="0429"   
                            Then CodItem=PegaCodigoRaiz(CodItem)
                         EndIf

                         GetRecord "\\sistemas\\vendas\\Tbprite" VSDGTABELA, coditem To PRECO
                         If RetVal
                            Then PRECO = PRECO["Preco Unitario"]
                            Else PRECO = BlankNum()
                         EndIf

                         Moveto "Re_0010"
                         If IsBlank(PRECO)
                            Then Mensagem("Este Item esta sem pre‡o na tabela escolhida ! ")
                                 Del
                                 QuitLoop
                            Else [Preco Unitario]=PRECO
                         EndIf
                         Return
                 EndIf
         EndIf
         If Not IsLockRecord()
            Then Return
         EndIf
         Quitloop
    EndSwitch
  EndWhile
EndWhile
EndProc

;*******************************************************************************
;* Rotina Principal Emissao Nota Fiscal ou Romaneio                            *
;*******************************************************************************
Proc Carrega_Impressora(PARAM)
Private PARAM,ACHOU
CARREGA_IMPRESSORA = False
                        
If Not Verifica_Impressora() Or PARAM="RECARREGAR" 
   Then If IsFile(IMP_FILE)
           Then Deleta_Arquivo(IMP_FILE)
        EndIf
EndIf       

If Not IsAssigned(IMP_FILE) Or Not IsFile(IMP_FILE)
   Then MSGDISPOSITIVO="Etiqueta"
        DispositivoEtq()
        If OK="" 
           Then Return False
        EndIf     
        If OK<>"I" And OK<>""
           Then Mensagem("Apenas para Impress„o em Etiquetas!")
                If Isfile(PrivDir()+"ETQ_IMP.SC")
                   Then Deleta_Arquivo(PrivDir()+"ETQ_IMP.SC")
                EndIf  
                Return False
         EndIf 
         If Isfile(PrivDir()+"ETQ_IMP.SC")
            Then If Verifica_Impressora_Termica(PrivDir()+"ETQ_IMP.SC")
                    Then Copia_Arquivo(PrivDir()+"ETQ_IMP.SC "+IMP_FILE)
                    
                         LINHA =         GravaExpressao("NUMCOPIA","N",Strval(NUMCOPIA))
                         LINHA = LINHA + GravaExpressao("DISPOSITIVO_OPCAO","S",DISPOSITIVO_OPCAO)
                         LINHA = LINHA + GravaExpressao("VSDGIMPOPCAO","S",VSDGIMPOPCAO)        
                         LINHA = LINHA + GravaExpressao("Seta_Printer","S","")
                         FileWrite Append IMP_FILE From LINHA
                    
                         Variaveis_Impressao("Salvar")
                         CARREGA_IMPRESSORA = True
                    Else Mensagem("A escolha deve ser para uma impressora T‚rmica!")
                         Return False
                 EndIf        
            Else Return False
         EndIf
         If Not Verifica_Impressora_Termica(IMP_FILE)
            Then Mensagem("Erro ao localizar a impressora t‚rmica//Utilize a o‡„o para recarregar a impressora t‚rmica antes de prosseguir!")
                 Return False 
         EndIf
    Else Variaveis_Impressao("Carregar")
         CARREGA_IMPRESSORA = True
         If CARREGA_SIMBOLOGIA
            Then CARREGA_SIMBOLOGIA=False
                 Switch
                   Case TIPO_IMPRESSORA = "BEMATECH" : If Not Download_Simbologia("BEMATECH","",TAMANHO_SIMBOLOGIA)
                                                          Then Return False   
                                                       EndIf     
                   Case TIPO_IMPRESSORA = "ZEBRA"    : If Not Download_Simbologia("ZEBRA","",TAMANHO_SIMBOLOGIA)
                                                          Then Return False   
                                                       EndIf    
                 EndSwitch
         EndIf         
EndIf
Return True

EndProc ;Carrega_Impressora()

;*******************************************************************************
;* Rotina para Verificar Impressora Zebra                                      *
;*******************************************************************************
Proc Verifica_Impressora_Termica(PARAM)
Private PARAM,ACHOU,TIPO_IMPRESORA

TIPO_IMPRESORA=""

ACHOU = False
If IsAssigned(Varinner) Then Release Vars Varinner  EndIf                            
FileRead PARAM to Varinner
Pos=1
While True
  Posf=SearchFrom("\n",Varinner,Pos) 
  If Posf=0 Then QuitLoop EndIf
  Linha=Substr(Varinner,Pos,(Posf-Pos))
  If Search("ZEBRA",Upper(Linha)) > 0 Or Search("ZDESIG",Upper(Linha)) > 0
     Then TIPO_IMPRESORA = "ZEBRA"
          If Not CARREGA_SIMBOLOGIA  
             Then ACHOU=True    
             Else If Download_Simbologia(TIPO_IMPRESORA,"",TAMANHO_SIMBOLOGIA)
                     Then ACHOU=True  
                  EndIf
          EndIf
     Else If Search("BEM",Upper(Linha)) > 0
             Then TIPO_IMPRESORA = "BEMATECH"
                  If Not CARREGA_SIMBOLOGIA  
                     Then ACHOU=True    
                     Else If Download_Simbologia(TIPO_IMPRESORA,"",TAMANHO_SIMBOLOGIA)
                            Then ACHOU=True        
                          EndIf
                  EndIf  
          EndIf        
  EndIf
  If ACHOU Then QuitLoop EndIf   
  Pos=Posf+1
EndWhile    
If IsAssigned(Varinner) Then Release Vars Varinner  EndIf

If ACHOU
   Then Return True
   Else Return False
EndIf

EndProc ;Verifica_Impressora_Termica()

;*******************************************************************************
;* Rotina para Verificar Impressora                                            *
;*******************************************************************************
Proc Verifica_Impressora()
                         
If IsAssigned(IMP_FILE) And IsFile(IMP_FILE)
   Then Ler_Captura(IMP_FILE)                     
   Else If Not Isfile(PrivDir()+"ETQ_IMP.SC")
           Then Return False
        EndIf
        Ler_Captura(PrivDir()+"ETQ_IMP")
EndIf        
NUMCOPIA=1

Op_Disp  =False
Op_DispG =False
Op_DispI =True

If Not IsAssigned(MSGDISPOSITIVO) Or MSGDISPOSITIVO="" 
   Then MSGDISPOSITIVO="Selecionar Destino"
EndIf

Dispositivo=2
Return True

EndProc ;Verifica_Impressora()

;*******************************************************************************
;* Rotina                                                                      *
;*******************************************************************************
Proc SD_Dialog2(Disparo,Campo,Evento,Elemento)
Temp=True
MSG_CAMPO=""
TECLA=""
If Disparo="OPEN"  
   Then AoCriarShowDialog()
EndIf

If Disparo="EVENT" And Evento["Type"]="KEY" Then
   Switch
     Case Evento["KeyCode"] =   9 : Temp=False
     Case Evento["KeyCode"] =  27 :
          Temp=False
          Switch
            Case Campo="I_CONTADOR" : AcceptDialog
          EndSwitch
     Case (Evento["KeyCode"] <= -104 And Evento["KeyCode"] >= -113) Or
           Evento["KeyCode"]  = -139 Or  Evento["KeyCode"]  = -140:
           SYS_TECLA_ACIONADA=Evento["KeyCode"]
           Seta_Tecla_Acionada()
           CancelDialog
     Case Evento["KeyCode"] = 13:
          Temp=False
          If Checa_TAG()
             Then Switch
                    Case Campo="I_CONTADOR" : AcceptDialog
                  EndSwitch
          EndIf
          RefreshDialog
   EndSwitch
EndIf

Monta_Prompt(MSG_CAMPO,TECLA)
Return Temp
EndProc

;*******************************************************************************
;* Rotina para Digitar Quantidade                                              *
;*******************************************************************************
Proc DIGITA()
Moveto [Quantidade    ]
While True

  TECLA=" Esc=Retornar  "

  If CHAVE=0
     Then TECLA=TECLA+"Del=Excluir  "
  EndIf

  Prompt TECLA
  SetaCorRegistro("Editando")
  Wait Field
       Until "ESC","ENTER","DEL","FIELDVIEW","F35"

  Switch
  Case Retval="ESC":
       If QuerDesfazer("")
          Then If CHAVE=1
                  Then Del
                  Else Undo
               EndIf
               CHAVE=9
               QuitLoop
       EndIf
  Case Retval="ENTER":
       Switch
         Case Field()="Quantidade":
              If IsBlank([])
                 Then []=1
              EndIf
              QuitLoop
       EndSwitch
  Case Retval="FIELDVIEW" or Retval="F35":
       EDITFIELD()
  Case Retval="DEL":
       If CHAVE=0
          Then If QuerExcluir("")
                  Then DEL
                       QuitLoop
               EndIf
       EndIf
  EndSwitch
EndWhile
EndProc

;*******************************************************************************
;* Rotina para Digitar dados tecido                                            *
;*******************************************************************************
Proc DigitaTec()
private regiten_tec, ok, preco2, regtbprite
 
ok=false
If not IsRunTime() or
   sys_Codigo_Cliente="0431" or
   sys_Codigo_Cliente="0382"
   then
        ok=true
endif   
   
if not ok
   then mensagem("Visualiza‡Æo Tecido nÆo habilitada !// //Verificar com suporte Vise !")  ; mecanismo para habitilar cliente R$30,00
        return    
endif

PickForm "7"
if CHAVE=1
   then getrecord "\\sistemas\\estoque\\iten_tec" [Codigo do Item] to regiten_tec
        if retval
           then
                [Artigo          ]=regiten_tec["Artigo"          ]
                [Composicao      ]=regiten_tec["Composicao"      ]
                [Peca            ]=regiten_tec["Peca"            ]
                [Largura         ]=regiten_tec["Largura"         ]
                [Largura Util    ]=regiten_tec["Largura Util"    ]
                [Gramatura       ]=regiten_tec["Gramatura"       ]
                [Rendimento      ]=regiten_tec["Rendimento"      ]
                [CodigoSimbologia]=regiten_tec["CodigoSimbologia"]
        endif

        preco2=""
        If not IsRunTime() or
           sys_Codigo_Cliente="0431" Or
           sys_Codigo_Cliente="0382"
           then
                ;-- Verifica Referˆncia com * ---------------------------
                Moveto "Itens"
                Moveto [Referencia]
                Locate Rtrim([RE_0010->Referencia])+"*"
                If RetVal
                   Then 
                        GetRecord "\\Sistemas\\Vendas\\Tbprite" VSDGTABELA,[Itens->Codigo do Item] To regtbprite
                        If RetVal
                            Then preco2 = " 30" +ltrim(Tira_CharNum(strval(regtbprite["Preco Unitario"])))  
                        EndIf
                EndIf
                ;---------------------------------------------------------
        endif
        
        Moveto "RE_0010"
        [CODPreco]="30"+ltrim(Tira_CharNum(strval([Preco Unitario]))) + preco2
        
endif

Moveto [Quantidade    ]
While True

  TECLA=" Esc=Retornar  "

  If CHAVE=0
     Then TECLA=TECLA+"Del=Excluir  "
  EndIf

  Prompt TECLA
  SetaCorRegistro("Editando")
  
  MSGCAMPO=Field()
  Switch
    Case Field()="Artigo"                    : MSGCAMPO="Artigo  [F8]=Codigo do Item"
    Case Field()="Composicao"                : MSGCAMPO="Composi‡„o"
    Case Field()="Peca"                      : MSGCAMPO="Pe‡a"
    Case Field()="Largura"                   : MSGCAMPO="Largura"
    Case Field()="Largura Util"              : MSGCAMPO="Largura Util"
    Case Field()="Gramatura"                 : MSGCAMPO="Gramatura"
    Case Field()="Rendimento"                : MSGCAMPO="Rendimento"
    Case Field()="CodigoSimbologia"          : MSGCAMPO="Codigo da s¡mbologia"
    Case Field()="AtualizarIten_Tec"         : MSGCAMPO="Deseja atualizar os dados no Cadastro deste Item ? Sim/NÆo"
    Case Field()="CODPreco"                  : MSGCAMPO="Pre‡o codificado"
  EndSwitch
  
  If Field()="CodigoSimbologia"       
     Then MSGCAMPO=MSGCAMPO+", [F1]Consultar tabela"
  EndIf
  
  Wait Field
       Until "ESC","ENTER","DEL","FIELDVIEW","F35","F8",-66,"F1"

  Switch
  Case RetVal="F1":
       If Field()="CodigoSimbologia"                 
          Then CONSULTAF1()
       EndIf
  Case Retval="ESC":
       Switch
         Case Field()="Quantidade":
           If QuerDesfazer("")
              Then If CHAVE=1
                      Then Del
                      Else Undo
                   EndIf
                   CHAVE=9
                   QuitLoop
           EndIf
         Case Field()="Artigo"           : moveto [Quantidade      ]
         Case Field()="CODPreco"         : moveto [CodigoSimbologia]
         Case Field()="AtualizarIten_Tec": moveto [CODPreco        ]
         Otherwise: left
       EndSwitch
  Case Retval="ENTER":
       Switch
         Case Field()="Quantidade"       : moveto [Artigo           ]
         Case Field()="CodigoSimbologia" : moveto [CODPreco         ]
         Case Field()="CODPreco"         : moveto [AtualizarIten_Tec]
         Case Field()="AtualizarIten_Tec":
           if isblank([]) then []="N" endif
           
           if [AtualizarIten_Tec]="S"
              then
                   copytoarray regre_0010

                   moveto "Iten_tec"
                   while true
                     regnovo=false
                     moveto [Codigo do Item]
                     locate regre_0010["Codigo do Item"]
                     if not retval
                        then end down
                             [Codigo do Item]=regre_0010["Codigo do Item"]
                             regnovo=true
                     endif
                     if not islockrecord()
                        then quitloop
                        else if regnovo then del endif
                     endif   
                   endwhile
                   [Artigo          ]=regre_0010["Artigo"          ]
                   [Composicao      ]=regre_0010["Composicao"      ]
                   [Peca            ]=regre_0010["Peca"            ]
                   [Largura         ]=regre_0010["Largura"         ]
                   [Largura Util    ]=regre_0010["Largura Util"    ]
                   [Gramatura       ]=regre_0010["Gramatura"       ]
                   [Rendimento      ]=regre_0010["Rendimento"      ]
                   [CodigoSimbologia]=regre_0010["CodigoSimbologia"]
                   unlockrecord

                   release vars regre_0010, regnovo
              
                   moveto "Re_0010"
                   
           endif    
           quitloop
         otherwise: right
       EndSwitch
  Case Retval="FIELDVIEW" or Retval="F35":
       EDITFIELD()
  Case Retval="DEL":
       If CHAVE=0
          Then If QuerExcluir("")
                  Then DEL
                       QuitLoop
               EndIf
       EndIf
  Case RetVal=-66 Or RetVal="F8" : 
       If Field()="Artigo"
          Then []=[Codigo do Item]
       EndIf    
  EndSwitch
EndWhile

PickForm "1"

EndProc

;*******************************************************************************
;* Rotina para Digitar Dados Fabricacao                                        *
;*******************************************************************************
Proc DIGITA3()
Moveto [Data_Fabricacao]
While True

  TECLA=" Esc=Retornar  "

  If CHAVE=0
     Then TECLA=TECLA+"Del=Excluir  "
  EndIf

  Switch
   Case Field()="Data_Fabricacao": MSGCAMPO="Informe a data de fabrica‡Æo"
   Case Field()="Validade"       : MSGCAMPO="Informe a validade, campo LIVRE"
   Case Field()="Lote"           : MSGCAMPO="Informe o lote, campo LIVRE"
   Case Field()="Responsavel"    : MSGCAMPO="Informe a respons vel, campo LIVRE"
   OtherWise                     : MSGCAMPO=Field()
  EndSwitch

  Prompt TECLA

  Wait Field
    Message MSGCAMPO
       Until "ESC","ENTER","DEL","FIELDVIEW","F35"

  Switch
  Case Retval="ESC":
       Switch
         Case Field()="Data_Fabricacao":
           If QuerDesfazer("")
              Then If CHAVE=1
                      Then Del
                      Else Undo
                   EndIf
                   CHAVE=9
                   QuitLoop
           EndIf
         Case Field()="Validade"   : Moveto [Data_Fabricacao]
         Case Field()="Lote"       : Moveto [Validade]
         Case Field()="Responsavel": Moveto [Lote]
         Case Field()="Quantidade" : Moveto [Responsavel]
       EndSwitch
  Case Retval="ENTER":
       Switch
         Case Field()="Data_Fabricacao": Moveto [Validade]
         Case Field()="Validade"       : Moveto [Lote]
         Case Field()="Lote"           : Moveto [Responsavel]
         Case Field()="Responsavel"    : Moveto [Quantidade]
         Case Field()="Quantidade"     :
              If IsBlank([])
                 Then []=1
              EndIf
              QuitLoop
       EndSwitch
  Case Retval="FIELDVIEW" or Retval="F35":
       EDITFIELD()
  Case Retval="DEL":
       If CHAVE=0
          Then If QuerExcluir("")
                  Then DEL
                       QuitLoop
               EndIf
       EndIf
  EndSwitch
EndWhile
EndProc

;*******************************************************************************
;* Rotina Limpar Registros                                                     *
;*******************************************************************************
Proc Limpar()
Aguarde("Aguarde, Excluindo registros")
While RecordStatus("New")=False
  Del
EndWhile
EndProc

;*******************************************************************************
;* Rotina para a escolha da tabela de Pre‡o                                    *
;*******************************************************************************
Proc SD_Representante(Disparo,Campo,Evento,Elemento)
Temp=True
MSG_CAMPO=""
TECLA=""
If Disparo="OPEN"  Then AoCriarShowDialog() EndIf
If Disparo="EVENT" And Evento["Type"]="KEY" Then
   Switch
     Case Evento["KeyCode"] = 9: Temp=False
     Case Evento["KeyCode"] = -59: Dialog_F1()
     Case Evento["KeyCode"] = -60: If Campo="TG_REPRESEN"
                                      Then ListaRegra_F2() 
                                   EndIf     
     Case Evento["KeyCode"] =  27:
          Temp=False
          Switch
            Case Campo="TG_REPRESEN" : Campo="NO"
            Case Campo= "YES" or Campo="NO":Campo="TG_REPRESEN"
          EndSwitch
     Case (Evento["KeyCode"] <= -104 And Evento["KeyCode"] >= -113) Or
           Evento["KeyCode"]  = -139 Or  Evento["KeyCode"]  = -140:
           SYS_TECLA_ACIONADA=Evento["KeyCode"]
           Seta_Tecla_Acionada()
           CancelDialog
     Case Evento["KeyCode"] = 13:
          Temp=False
          If Checa_TAG()
             Then Switch
                    Case Campo="TG_REPRESEN" : Campo="YES"
                         If VSDGREPRESEN="" 
                            Then VSDGNOMREPR = "TODOS"
                         EndIf
                    Case Campo="YES"         : AcceptDialog
                    Case Campo="NO"          : CancelDialog
                  EndSwitch
          EndIf
          RefreshDialog
   EndSwitch
EndIf
Monta_Prompt(MSG_CAMPO,TECLA)

Return Temp

EndProc ;SD_Representante()

;*******************************************************************************
;* Rotina -Tela Selecionar Tabela                                              *
;*******************************************************************************
Proc Representante()

Echo Normal
Echo Off

VSDGREPRESEN    = ""
VSDGNOMREPR     = ""

ListaRegra_TGAtivado="[TG_REPRESEN]"

ShowDialog "Representante" Proc "SD_Representante"
Trigger "OPEN","ARRIVE"
Key "F1","ENTER","ESC","TAB",
  -104, -105, -106, -107, -108, -109, -110, -111, -112, -113, -139, -140, -60
 @ 09,53 Height 7 Width 42

;Label  @ 00,00 "Representante"  For "TG_REPRESEN"
 Accept @ 01,01 Width 07 "A4"  Picture "[&,#][#*#]" Tag "TG_REPRESEN"   To VSDGREPRESEN
 Accept @ 01,09 Width 30 "A30" Picture "!*!" Tag "TG_NOMREPR" To VSDGNOMREPR
 
 Pushbutton @ 03,08 width 11 "~O~k"      OK     Default Value "Ok" Tag "YES" To BottonValue
 Pushbutton @ 03,21 width 11 "~C~ancela" CANCEL                    Tag "NO"  To BottonValue

EndDialog 
If Not RetVal 
   Then Return False
EndIf

If VSDGREPRESEN="" 
   Then VSDGNOMREPR = "TODOS"
EndIf
                         
DynArray REPRESENTANTE[] 
NUM_IMPRESSAO = 1
Switch
  Case ListaRegra_VSDGREPRESEN_Ativo Or VSDGREPRESEN="" : 
       NUM_IMPRESSAO = 0
       {Ask} {\\Sistemas\\Cadastro\\Represen}
       Moveto [Inativo Represent      ]       TypeIn "Not S"
       Moveto [Codigo do Representante] Check
       If VSDGREPRESEN<>""
          Then TypeIn ListaRegra_VSDGREPRESEN
       EndIf
       Do_it!
       Scan
         NUM_IMPRESSAO = NUM_IMPRESSAO + 1
         REPRESENTANTE[NUM_IMPRESSAO] = [Codigo do Representante] 
       EndScan
       ClearAll
  OtherWise : REPRESENTANTE[1] = VSDGREPRESEN   
EndSwitch 

Return True

EndProc ;Representante()

;*******************************************************************************
;* Rotina para a escolha da tabela de Pre‡o                                    *
;*******************************************************************************
Proc SD_Dialog1(Disparo,Campo,Evento,Elemento)
Temp=True
MSG_CAMPO=""
TECLA=""
If Disparo="OPEN"  Then AoCriarShowDialog() EndIf
If Disparo="EVENT" And Evento["Type"]="KEY" Then
   Switch
     Case Evento["KeyCode"] = 9: Temp=False
     Case Evento["KeyCode"] = -59: Dialog_F1()
     Case Evento["KeyCode"] =  27:
          Temp=False
          Switch
            Case Campo="TG_TABELA" : Campo="NO"
            Case Campo= "YES" or Campo="NO":Campo="TG_TABELA"
          EndSwitch
     Case (Evento["KeyCode"] <= -104 And Evento["KeyCode"] >= -113) Or
           Evento["KeyCode"]  = -139 Or  Evento["KeyCode"]  = -140:
           SYS_TECLA_ACIONADA=Evento["KeyCode"]
           Seta_Tecla_Acionada()
           CancelDialog
     Case Evento["KeyCode"] = 13:
          Temp=False
          If Checa_TAG()
             Then Switch
                    Case Campo="TG_TABELA"                     :
                         If Not Isblank(VSDGTABELA)
                            Then Campo="YES"
                         EndIf
                    Case Campo="YES"      : AcceptDialog
                    Case Campo="NO"       : CancelDialog
                  EndSwitch
          EndIf
          RefreshDialog
   EndSwitch
EndIf
Switch
  Case Campo="TG_TABELA" :
     MSG_CAMPO="Informe a tabela de pre‡o a ser utilizada"
EndSwitch
Monta_Prompt(MSG_CAMPO,TECLA)
Return Temp
EndProc

;*******************************************************************************
;* Rotina -Tela Selecionar Tabela                                              *
;*******************************************************************************
Proc TabelaPreco()
LimpAguarde()
Do_It!
ClearAll

Echo Normal
Echo Off
ClearAll

VSDGTABELA  = ""
OP_SHOW="T"
ShowDialog "Tabela de Pre‡o" Proc "SD_Dialog1"
Trigger "OPEN","ARRIVE"
Key "F1","ENTER","ESC","TAB",
    -104, -105, -106, -107, -108, -109, -110, -111, -112, -113, -139, -140
 @ 09,53 Height 9 Width 72

 Label  @ 00,00 "Tabela"  For "TG_TABELA"
 Accept @ 01,01 Width 08 "A5"  Picture "#*#" Tag "TG_TABELA" To VSDGTABELA
 Accept @ 01,10 Width 24 "A45" Picture "!*!" Tag "TG_NOMTAB" To VSDGNOMTAB
 
 @ 03,01 ?? "*Todos os itens da rela‡Æo ser„o atualizados"
 PaintCanvas Attribute 24 03,01,03,60
 
 Pushbutton @ 05,22 width 11 "~O~k"      OK     Default Value "Ok" Tag "YES" To BottonValue
 Pushbutton @ 05,36 width 11 "~C~ancela" CANCEL                    Tag "NO"  To BottonValue

EndDialog
ClearAll

If RetVal
   Then {Ask} {Re_0010}
        Moveto [Preco Unitario  ] TypeIn "Changeto Blank"
        Do_It!
        ClearAll

       {Ask} {\\Sistemas\\Vendas\\Tbprite}
        Moveto [Codigo da Tabela] TypeIn "~VSDGTABELA.."
        Moveto [Codigo do Item  ] Example "CodI"
        Moveto [Preco Unitario  ] Example "Prec"
        {Ask} {Re_0010}
        Moveto [Codigo do Item  ] Example "CodI"
        Moveto [Preco Unitario  ] TypeIn "Changeto " Example "Prec"
        Do_It!
        ClearAll
EndIf

CoEdit "Re_0010"
PickForm "1"

EndProc  ;(Tabela Sele‡Æo)

;*******************************************************************************
;* Grava Etiquetas Selecionadas                                                *
;*******************************************************************************
Proc Grava_Etiquetas()

VSDGSELECAO = ""

Switch
  Case SELECAO="Preferencial" :
       If ArraySize(Array_Etiquetas) <  ArraySize(Array_OPEtiquetas)
          Then For wi From 1 To ArraySize(Array_Etiquetas)
                 If VSDGSELECAO = ""
                    Then VSDGSELECAO = VSDGSELECAO + RTrim(SubStr(Array_Etiquetas[wi],1,3))
                    Else VSDGSELECAO = VSDGSELECAO + "," + RTrim(SubStr(Array_Etiquetas[wi],1,3))
                 EndIf
               EndFor
       EndIf

  Case SELECAO="    Todos" :
       For wi From 1 To ArraySize(Array_Etiquetas)
          If SubStr(Array_Etiquetas[wi],73,1)="X"
             Then If VSDGSELECAO = ""
                     Then VSDGSELECAO = VSDGSELECAO + RTrim(SubStr(Array_Etiquetas[wi],1,3))
                     Else VSDGSELECAO = VSDGSELECAO + "," + RTrim(SubStr(Array_Etiquetas[wi],1,3))
                  EndIf
          EndIf
       EndFor
EndSwitch

EndProc ;Grava_Etiquetas()

;*******************************************************************************
;* Seleciona as Etiquetas                                                      *
;*******************************************************************************
Proc Seleciona_Etiquetas()

Switch
 Case VSDGSELECAO="" :
      Release Vars Array_Etiquetas
      Array Array_Etiquetas[ArraySize(Array_OpEtiquetas)]
      For wi From 1 To ArraySize(Array_Etiquetas)
        Array_Etiquetas[wi]=Array_OpEtiquetas[wi]
      EndFor
  OtherWise         :

      ; **** Verificando a quantidade de modelos selecionados ****************
      CONTVAR = 1
      VAR_AUX = VSDGSELECAO
      NVAR = Search(",",VAR_AUX)
      While NVAR > 0
        CONTVAR = CONTVAR + 1
        VAR_AUX = SubStr(VAR_AUX,NVAR+1,Len(VAR_AUX))
        NVAR = Search(",",VAR_AUX)
      EndWhile
      NVAR = CONTVAR

      ; **** Capturando o Modelo das Etiquetas *******************************
      Release Vars MODELO
      DynArray MODELO[]
      If NVAR > 0
         Then For wi From 1 To NVAR
                PosI=SearchFrom(",",VSDGSELECAO,1)
                If PosI=0
                   Then MODELO[wi]=SubStr(VSDGSELECAO,1,Len(VSDGSELECAO))
                        QuitLoop
                EndIf
                MODELO[wi]=SubStr(VSDGSELECAO,1,PosI-1)
                If wi <> NVAR
                   Then VSDGSELECAO = SubStr(VSDGSELECAO,PosI+1,Len(VSDGSELECAO))
                EndIf
              EndFor
      EndIf
      MODELO[NVAR]=VSDGSELECAO

      ; **** Selecionando as Etiquetas ***************************************
      SELECAO="Preferencial"
      CONT_ARRAY = 0
      Release Vars Array_Etiquetas
      Array Array_Etiquetas[NVAR]
      For wi From 1 To ArraySize(Array_OpEtiquetas)
        For wa From 1 To NVAR
          If RTrim(SubStr(Array_OpEtiquetas[wi],1,3))=MODELO[wa]
            ; or RTrim(SubStr(Array_OpEtiquetas[wi],1,3))=Fill(Chr(196),3)
             Then CONT_ARRAY = CONT_ARRAY + 1
                  If CONT_ARRAY > ArraySize(Array_Etiquetas) Then QuitLoop EndIf
                  Array_Etiquetas[CONT_ARRAY]=SubStr(Array_OpEtiquetas[wi],1,72)
          EndIf
        EndFor
      EndFor
EndSwitch

EndProc ;Seleciona_Etiquetas()

;*******************************************************************************
;* Rotina                                                                      *
;*******************************************************************************
Proc SD_Dialog(Disparo,Campo,Evento,Elemento)
Temp=True
MSG_CAMPO=""
TECLA=""

If ((Disparo="EVENT" And Evento["Type"]="KEY" And Evento["KeyCode"] = 120) Or
    Disparo="SELECT" And Campo="TG_OPETIQUETA") And SELECAO="    Todos"
    Then INDICE=ControlValue("TG_OPETIQUETA")
         If SubStr(Array_Etiquetas[INDICE],1,10)<>Fill("-",10)
            Then If SubStr(Array_Etiquetas[INDICE],73,1)="X"
                    Then Array_Etiquetas[INDICE] = SubStr(Array_Etiquetas[INDICE],1,72)
                    Else Array_Etiquetas[INDICE] = Completa(SubStr(Array_Etiquetas[INDICE],1,71),71," ")+" X"
                 EndIf
         EndIf
EndIf

If (Disparo="ARRIVE" Or Disparo="SELECT") And Campo="TG_SELECAO"
   Then Switch
          Case SELECAO="    Todos" :
               CONT_ARRAY = 0
               For wi From 1 To ArraySize(Array_Etiquetas)
                 If SubStr(Array_Etiquetas[wi],73,1)="X" 
                   ;or SubStr(Array_Etiquetas[wi],01,3)=Fill(Chr(196),3)                 
                    Then CONT_ARRAY=CONT_ARRAY+1
                 EndIf
               EndFor

               If CONT_ARRAY<>0
                  Then SELECAO="Preferencial"
                       Release Vars Array_Temp
                       Array Array_Temp[CONT_ARRAY]
                       CONT_ARRAY = 0

                       For wi From 1 To ArraySize(Array_Etiquetas)
                        If SubStr(Array_Etiquetas[wi],73,1)="X" 
                           ;or SubStr(Array_Etiquetas[wi],01,3)=Fill(Chr(196),3)
                           Then CONT_ARRAY = CONT_ARRAY + 1
                                Array_Temp[CONT_ARRAY]=SubStr(Array_Etiquetas[wi],1,72)
                        EndIf
                       EndFor

                       Release Vars Array_Etiquetas
                       Array Array_Etiquetas[ArraySize(Array_Temp)]

                       For wi From 1 To ArraySize(Array_Temp)
                         Array_Etiquetas[wi]=Array_Temp[wi]
                       EndFor
               EndIf
               ; *** Vai p/ o topo da lista ***
               VSDGOPETIQUETA = 1
               Campo="TG_OPETIQUETA"
          Case SELECAO="Preferencial" :
               SELECAO="    Todos"

               For wi From 1 To ArraySize(Array_OpEtiquetas)
                 For wa From 1 To ArraySize(Array_Etiquetas)
                   If Rtrim(SubStr(Array_OpEtiquetas[wi],1,71)) = Rtrim(SubStr(Array_Etiquetas[wa],1,71))
                      Then Array_OpEtiquetas[wi]=Completa(SubStr(Array_OpEtiquetas[wi],1,72),72," ")+"X"
                           Loop
                   EndIf
                 EndFor
               EndFor

               Release Vars Array_Etiquetas
               Array Array_Etiquetas[ArraySize(Array_OpEtiquetas)]
               For wi From 1 to ArraySize(Array_Etiquetas)
                 Array_Etiquetas[wi]=Array_OpEtiquetas[wi]
               EndFor

               For wi From 1 to ArraySize(Array_OpEtiquetas)
                 Array_OpEtiquetas[wi]=SubStr(Array_OpEtiquetas[wi],1,72)
               EndFor

               Campo="TG_OPETIQUETA"
        EndSwitch
EndIf

If Disparo="OPEN"  
   Then AoCriarShowDialog()
        TiraSombraShowDialog()
EndIf
If Disparo="EVENT" And Evento["Type"]="KEY" Then
   Switch
     Case Evento["KeyCode"] = 9: Temp=False
     Case Evento["KeyCode"] = -59: Dialog_F1()
     Case Evento["KeyCode"] =  27:
          Temp=False
          Switch
            ;** Selecao **
            Case Campo="TG_SN_SELDOCTO"    : Campo="NO"
            Case Campo="TG_NREQ"           : Campo="TG_SN_SELDOCTO"
            Case Campo="TG_NPED"           : Campo="TG_NREQ"
            Case Campo="TG_NROM"           : Campo="TG_NPED"
            Case Campo="TG_NNE"            : Campo="TG_NROM"
            Case Campo="TG_EMPRESA"        : Campo="TG_SN_SELDOCTO"
            Case Campo="TG_TIPOEST"        : Campo="TG_EMPRESA"
            Case Campo="TG_FAMI"           : Campo="TG_TIPOEST"
            Case Campo="TG_GRP"            : Campo="TG_FAMI"
            Case Campo="TG_MARCA"          : Campo="TG_GRP"
            Case Campo="TG_REFERENCIA"     : Campo="TG_MARCA"
            Case Campo="TG_TABELA"         : Campo="TG_REFERENCIA"
            Case Campo="TG_CODIGOI"        : Campo="TG_TABELA"
            Case Campo="TG_CODIGOF"        : Campo="TG_CODIGOI"
            Case Campo="TG_MESANO"         : Campo="TG_CODIGOF"
            Case Campo="TG_OPCAO"          : 
                 If VSDGSIM_NAO="SIM"
                    then Campo="TG_SN_SELDOCTO"
                    else Campo="TG_MESANO"
                 endif   
            Case Campo="TG_QUANTIDADE"     : Campo="TG_OPCAO"
            

            ;** Imprimir **
            Case Campo="TG_SELECAO"        : Campo="TG_OPETIQUETA"
            Case Campo="TG_OPRELCODALFDIG" : Campo="TG_OPETIQUETA"
            Case Campo="TG_TABELA2"        : Campo="TG_OPETIQUETA"
            Case Campo="TG_TABELA3"        : Campo="TG_OPETIQUETA"
                 If RTrim(SubStr(Array_Etiquetas[VSDGOPETIQUETA],1,3))<>"36C" And
                    RTrim(SubStr(Array_Etiquetas[VSDGOPETIQUETA],1,3))<>"98"  And
                    RTrim(SubStr(Array_Etiquetas[VSDGOPETIQUETA],1,3))<>"104" And
                    RTrim(SubStr(Array_Etiquetas[VSDGOPETIQUETA],1,3))<>"123" And
                    RTrim(SubStr(Array_Etiquetas[VSDGOPETIQUETA],1,3))<>"125" And
                    RTrim(SubStr(Array_Etiquetas[VSDGOPETIQUETA],1,3))<>"126" And
                    RTrim(SubStr(Array_Etiquetas[VSDGOPETIQUETA],1,3))<>"128" 
                    Then VSDGTABELA3=""
                         VSDGNOMTAB3=""
                 EndIf 
            Case Campo="TG_OPETIQUETA"     : Campo="NO"
            Case Campo="YES" Or Campo="NO" :
                 If OP_SHOW="S"
                    Then Campo="TG_SN_SELDOCTO"
                    Else Campo="TG_OPETIQUETA"
                 EndIf
          EndSwitch
     Case (Evento["KeyCode"] <= -104 And Evento["KeyCode"] >= -113) Or
           Evento["KeyCode"]  = -139 Or  Evento["KeyCode"]  = -140:
           SYS_TECLA_ACIONADA=Evento["KeyCode"]
           Seta_Tecla_Acionada()
           CancelDialog
     Case Evento["KeyCode"] = 13:
          Temp=False
          If Checa_TAG()
             Then Switch
                    ;** Selecao **
                    
                    Case Campo="TG_SN_SELDOCTO":
                         If VSDGSIM_NAO="SIM"
                            Then Campo="TG_NREQ"
                            Else Campo="TG_EMPRESA"
                                 VSDGNREQ = ""
                                 VSDGNPED = ""
                                 VSDGNROM = ""
                                 VSDGNNE  = ""
                         EndIf

                    Case Campo="TG_NREQ"     :
                         VSDGNREQ=ControlValue("TG_NREQ")
                         If Not IsBlank(VSDGNREQ)
                            Then VSDGNREQ = AlinhM(VSDGNREQ,6)
                                 VSDGNPED = ""
                                 VSDGNROM = ""
                                 VSDGNNE  = ""
                                 Campo="TG_OPCAO"
                            Else Campo="TG_NPED"
                         EndIf
                    Case Campo="TG_NPED"     :
                         VSDGNPED=ControlValue("TG_NPED")
                         If Not IsBlank(VSDGNPED)
                            Then VSDGNPED = AlinhM(VSDGNPED,6)
                                 VSDGNREQ = ""
                                 VSDGNROM = ""
                                 VSDGNNE  = ""
                                 Campo="TG_OPCAO"
                            Else Campo="TG_NROM"
                         EndIf
                    Case Campo="TG_NROM":
                         VSDGNROM=ControlValue("TG_NROM")
                         If Not IsBlank(VSDGNROM)
                            Then VSDGNROM = AlinhM(VSDGNROM,6)
                                 VSDGNPED = ""
                                 VSDGNREQ = ""
                                 VSDGNNE  = ""
                                 Campo="TG_OPCAO"
                            Else Campo="TG_NNE"
                         EndIf
                    Case Campo="TG_NNE"         :
                         VSDGNNE=ControlValue("TG_NNE")
                         If Not IsBlank(VSDGNNE)
                            Then VSDGNNE=AlinhM(VSDGNNE,6)
                                 VSDGNROM = ""
                                 VSDGNPED = ""
                                 VSDGNREQ = ""
                                 Campo="TG_OPCAO"
                            Else Campo="TG_SN_SELDOCTO"
                         EndIf

                    Case Campo="TG_EMPRESA" :
                         If IsBlank(VSDGEMPRESA)
                            Then Fastmsg("Empresa nÆo selecionada !")
                            Else Campo="TG_TIPOEST"
                         EndIf
                    Case Campo="TG_TIPOEST"     : Campo="TG_FAMI"
                    Case Campo="TG_FAMI"        : Campo="TG_GRP"
                    Case Campo="TG_GRP"         : Campo="TG_MARCA"
                    Case Campo="TG_MARCA"       : Campo="TG_REFERENCIA"
                    Case Campo="TG_REFERENCIA"  : Campo="TG_TABELA"
                    Case Campo="TG_TABELA"      :
                         VSDGTABELA=ControlValue("TG_TABELA")
                         If Isblank(VSDGTABELA)
                            Then Campo="TG_CODIGOI"
                            Else VSDGTABELA=AlinhM(VSDGTABELA,5)
                            
                                 VSDGCODIGOI   =""
                                 VSDGCODIGOF   =""
                                 VSDGMESANO    =""
                                 VSDGOPCAO[1]  =false
                                 VSDGQUANTIDADE=1
                                 
                                 Campo="YES"
                         EndIf
                    Case Campo="TG_CODIGOI"     : Campo="TG_CODIGOF"
                    Case Campo="TG_CODIGOF"     : Campo="TG_MESANO"
                    Case Campo="TG_MESANO"      : Campo="TG_OPCAO"
                    Case Campo="TG_OPCAO"       : 
                         If VSDGOPCAO[1]
                            Then Campo="TG_QUANTIDADE"
                            Else VSDGQUANTIDADE=1 
                                 Campo="YES"
                         EndIf
                    
                    Case Campo="TG_QUANTIDADE"  :
                         VSDGQUANTIDADE=ControlValue("TG_QUANTIDADE")
                         If VSDGQUANTIDADE<=0
                            Then FastMsg("Valor inv lido !")
                            Else Campo="YES"
                         EndIf

                    ;** Imprimir **
                    Case Campo="TG_SELECAO"        : Campo=""
                    Case Campo="TG_OPETIQUETA"     : Campo="TG_OPRELCODALFDIG"
                    Case Campo="TG_OPRELCODALFDIG" : Campo="TG_TABELA2"
                    Case Campo="TG_TABELA2"        :
                         If Isblank(VSDGTABELA2)
                            Then VSDGTABELA2=""
                                 VSDGNOMTAB2=""
                         EndIf
                         If RTrim(SubStr(Array_Etiquetas[VSDGOPETIQUETA],1,3))="36C" Or 
                            RTrim(SubStr(Array_Etiquetas[VSDGOPETIQUETA],1,3))="98"  Or
                            RTrim(SubStr(Array_Etiquetas[VSDGOPETIQUETA],1,3))="104" Or
                            RTrim(SubStr(Array_Etiquetas[VSDGOPETIQUETA],1,3))="123" Or
                            RTrim(SubStr(Array_Etiquetas[VSDGOPETIQUETA],1,3))="125" Or
                            RTrim(SubStr(Array_Etiquetas[VSDGOPETIQUETA],1,3))="126" Or
                            RTrim(SubStr(Array_Etiquetas[VSDGOPETIQUETA],1,3))="128"
                            Then Campo="TG_TABELA3"
                            Else VSDGTABELA3=""
                                 VSDGNOMTAB3=""
                                 Campo="YES"
                         EndIf
                    Case Campo="TG_TABELA3"        :
                         If Isblank(VSDGTABELA3)
                            Then VSDGTABELA3=""
                                 VSDGNOMTAB3=""
                         EndIf
                         If RTrim(SubStr(Array_Etiquetas[VSDGOPETIQUETA],1,3))<>"36C" And
                            RTrim(SubStr(Array_Etiquetas[VSDGOPETIQUETA],1,3))<>"98"  And
                            RTrim(SubStr(Array_Etiquetas[VSDGOPETIQUETA],1,3))<>"104" And
                            RTrim(SubStr(Array_Etiquetas[VSDGOPETIQUETA],1,3))<>"123" And
                            RTrim(SubStr(Array_Etiquetas[VSDGOPETIQUETA],1,3))<>"125" And
                            RTrim(SubStr(Array_Etiquetas[VSDGOPETIQUETA],1,3))<>"126" And
                            RTrim(SubStr(Array_Etiquetas[VSDGOPETIQUETA],1,3))<>"128"
                            Then VSDGTABELA3=""
                                 VSDGNOMTAB3=""
                                 Campo="YES"        
                            Else Campo="YES"
                         EndIf
                  EndSwitch
          EndIf
          RefreshDialog
   EndSwitch
EndIf

Switch
  Case Campo="TG_OPETIQUETA":
       MSG_CAMPO="Selecione o op‡„o desejada !"
       If SELECAO="Preferencial"
          Then TECLA="=Selecionar"
          Else TECLA="=Selecionar  Barra de Espa‡o=Marca/Desmarca"
       EndIf
  Case Campo="TG_QUANTIDADE":
       MSG_CAMPO="Informe a quantidade de repeti‡„o da etiqueta"
  Case Campo="TG_TABELA" Or Campo="TG_TABELA2":
       MSG_CAMPO="Informe a tabela de pre‡o a ser utilizada"
  Case Campo="TG_OPCAO"   :
       MensagemCheckBoxes()
  Case Campo="TG_SN_SELDOCTO":
       MSG_CAMPO="Selecionar Documento ?"
  Case Campo="TG_NREQ":
       MSG_CAMPO="Informe o Lan‡amento de Requisi‡„o de entrada de produ‡„o"
  Case Campo="TG_NPED":
       MSG_CAMPO="Informe o Numero do Pedido"
  Case Campo="TG_NROM":
       MSG_CAMPO="Informe o N£mero da Ordem de Faturamento"
  Case Campo="TG_NNE" :
       MSG_CAMPO="Informe o N£mero do Lan‡amento de Entrada"
EndSwitch
Monta_Prompt(MSG_CAMPO,TECLA)
Return Temp
EndProc

;*******************************************************************************
;* Rotina Filtrar Registros                                                    *
;*******************************************************************************
Proc Selecao()
LimpAguarde()
Do_It!
ClearAll
Echo Normal
Echo Off

VSDGEMPRESA     = ""
VSDGTIPOEST     = ""
VSDGSIM_NAO     = ""
VSDGNREQ        = ""
VSDGNPED        = ""
VSDGNROM        = ""
VSDGNNE         = ""
VSDGFAMI        = ""
VSDGGRP         = ""
VSDGMARCA       = ""
VSDGREFERENCIA  = ""
VSDGTABELA      = ""
VSDGCODIGOI     = ""
VSDGCODIGOF     = ""
VSDGMESANO      = ""
VSDGQUANTIDADE  = 1
OP_SHOW="S"

Array VSDGOPCAO[1]
VSDGOPCAO[1] = False

While True
  ShowDialog "Sele‡„o de Registros a Incluir" Proc "SD_Dialog"
  Trigger "OPEN","ARRIVE"
  Key "F1","ENTER","ESC","TAB",
      -104, -105, -106, -107, -108, -109, -110, -111, -112, -113, -139, -140
    @ 01,01 Height 20 Width 72

    Label  @ 00,00 "Op‡„o" For "TG_SN_SELDOCTO"
    Accept @ 01,02 Width 06 "A3"  Picture "SIM,NAO" Tag "TG_SN_SELDOCTO" To VSDGSIM_NAO

    Label  @ 00,08 "Requisi‡„o"  For "TG_NREQ"
    Accept @ 01,09 Width 09 "A6"  Picture "#*#" Tag "TG_NREQ" To VSDGNREQ

    Label  @ 00,21 "Pedido"  For "TG_NPED"
    Accept @ 01,22 Width 09 "A6"  Picture "#*#" Tag "TG_NPED" To VSDGNPED

    Label  @ 00,34 "Faturamento"  For "TG_NROM"
    Accept @ 01,35 Width 09 "A6"  Picture "#*#" Tag "TG_NROM" To VSDGNROM

    Label  @ 00,47 "Entrada"  For "TG_NNE"
    Accept @ 01,48 Width 09 "A6"  Picture "#*#" Tag "TG_NNE" To VSDGNNE

    Label  @ 03,00 "Empresa"  For "TG_EMPRESA"
    Accept @ 04,01 Width 07 "A4"  Picture "[&,#][#*#]" Tag "TG_EMPRESA"    To VSDGEMPRESA
    Accept @ 04,09 Width 25 "A25" Picture "!*!" Tag "TG_NOMEMPRESA" To VSDGNOMEMP

    Label  @ 05,00 "Tipo do Estoque"  For "TG_TIPOEST"
    Accept @ 06,04 Width 04 "A1"  Picture "!" Tag "TG_TIPOEST" To VSDGTIPOEST
    Accept @ 06,09 Width 25 "A18"  Picture "!*!" Tag "TG_DESCTIPOEST" To VSDGDESCTIPOEST

    Label  @ 07,00 "Familia"  For "TG_FAMI"
    Accept @ 08,02 Width 06 "A3"  Picture "#*#" Tag "TG_FAMI" To VSDGFAMI
    Accept @ 08,09 Width 25 "A25" Picture "!*!" Tag "TG_NOMFAMI" To VSDGNOMFAMI

    Label  @ 09,00 "Grupo"  For "TG_GRP"
    Accept @ 10,02 Width 06 "A3"  Picture "#*#" Tag "TG_GRP" To VSDGGRP
    Accept @ 10,09 Width 25 "A25" Picture "!*!" Tag "TG_NOMGRP" To VSDGNOMGRP

    Label  @ 11,00 "Marca"  For "TG_MARCA"
    Accept @ 12,02 Width 06 "A3"  Picture "#*#" Tag "TG_MARCA"    To VSDGMARCA
    Accept @ 12,09 Width 25 "A25" Picture "!*!" Tag "TG_NOMMARCA" To VSDGNOMMARCA

    Label  @ 13,00 "Referˆncia"  For "TG_REFERENCIA"
    Accept @ 14,01 Width 33 "A20" Picture "!*!" Tag "TG_REFERENCIA"     To VSDGREFERENCIA

    Label  @ 03,35 "Tabela"  For "TG_TABELA"
    Accept @ 04,36 Width 08 "A5"  Picture "#*#" Tag "TG_TABELA" To VSDGTABELA
    Accept @ 04,45 Width 24 "A25" Picture "!*!" Tag "TG_NOMTAB" To VSDGNOMTAB

    Label  @ 05,35 "Faixa de C¢digo de" For "TG_CODIGOI"
    Accept @ 06,36 Width 13 "A10"  Picture "#*#" Tag "TG_CODIGOI" To VSDGCODIGOI
    Label  @ 06,49 "at‚" For "TG_CODIGOF"
    Accept @ 06,54 Width 13 "A10"  Picture "#*#" Tag "TG_CODIGOF" To VSDGCODIGOF

    Label  @ 07,35 "Mˆs/Ano"  For "TG_MESANO"
    Accept @ 08,36 Width 10 "A07"  Picture "##;.####" Tag "TG_MESANO"  To VSDGMESANO

    CheckBoxes @12,35 Height 1 Width 26 Tag "TG_OPCAO"
    "Informar Quantidade" to VSDGOPCAO[1]

    Label  @ 13,35 "Quantidade" For "TG_QUANTIDADE"
    Accept @ 14,36 Width 10 "S"  Tag "TG_QUANTIDADE" To VSDGQUANTIDADE

    Pushbutton @ 16,22 width 11 "~O~k"      OK     Default Value "Ok" Tag "YES" To BottonValue
    Pushbutton @ 16,36 width 11 "~C~ancela" CANCEL                    Tag "NO"  To BottonValue

  EndDialog
  If RetVal
     Then If (VSDGNNE<>""  And (VSDGNROM<>"" Or VSDGNPED<>"" Or VSDGNREQ<>"")) Or
             (VSDGNROM<>"" And (VSDGNNE<>""  Or VSDGNPED<>"" Or VSDGNREQ<>"")) Or
             (VSDGNPED<>"" And (VSDGNROM<>"" Or VSDGNNE<>""  Or VSDGNREQ<>"")) Or
             (VSDGNREQ<>"" And (VSDGNROM<>"" Or VSDGNPED<>"" Or VSDGNNE<>""))
             Then Mensagem("Poder  efetuar a sele‡„o apenas com uma £nica op‡„o de documento !")
                  Loop
          EndIf

          If VSDGSIM_NAO="NAO"
             Then VSDGNREQ = ""
                  VSDGNPED = ""
                  VSDGNROM = ""
                  VSDGNNE  = ""
          EndIf  
          
          LimpaRodape(0)
          Aguarde("Aguarde, Selecionando registros")
          ClearAll
          If VSDGSIM_NAO="SIM"
             Then Switch
                   Case Not IsBlank(VSDGNREQ):
                    If SYS_CLIENTE_CONFEC <> ""
                       Then {Ask} {RqCabeca}
                            Moveto [Numero do Lancamento   ] Example "nlanc" TypeIn ", ~VSDGNREQ"
                            Moveto [Tipo de Movimento      ] TypeIn "E"
                            Moveto [Tipo de Operacao       ] TypeIn "P"
                            {Ask} {RqItem}
                            Moveto [Numero do Lancamento   ] Example "nlanc"
                            Moveto [Codigo do Item         ] Check
                            Moveto [Quantidade             ] TypeIn "Calc Sum as Quantidade"
                            Do_It!
                            ClearAll
        
                            CoEdit "Answer"
                            Scan
                              If Not ISBlank([Codigo do Item])
                                 Then [Codigo do Item]=MudaCodigoPara([Codigo do Item],"P")
                              EndIf
                            EndScan
                            Do_It!
                            ClearAll
                       Else {Ask} {RqCabeca}
                            Moveto [Numero do Lancamento   ] Example "nlanc" TypeIn ", ~VSDGNREQ"
                            {Ask} {RqItem} Check
                            Moveto [Numero do Lancamento   ] Example "nlanc"
                            Do_It!
                            ClearAll
                     EndIf
                            
                   Case Not IsBlank(VSDGNPED):
                    {Ask} {\\Sistemas\\Vendas\\PedidoI}
                    Moveto [Numero do Pedido       ] TypeIn "~VSDGNPED"
                    Moveto [Codigo do Item         ] Check
                    Moveto [Quantidade             ] TypeIn "Calc Sum as Quantidade"
                    Do_It!
                    ClearAll
                   Case Not IsBlank(VSDGNROM) :
                    {Ask} {\\Sistemas\\Vendas\\FaturaI}
                    Moveto [Numero da OF           ] TypeIn "~VSDGNROM.."
                    Moveto [Codigo do Item         ] Check
                    Moveto [Quantidade             ] TypeIn "Calc Sum as Quantidade"
                    Do_It!
                    ClearAll
                   Case Not IsBlank(VSDGNNE) :
                    {Ask} {\\Sistemas\\Estoque\\NotaEI}
                    Moveto [Numero do Lancamento   ] TypeIn "~VSDGNNE.."
                    Moveto [Codigo do Item         ] Check
                    Moveto [Quantidade Convertida  ] TypeIn "Calc Sum as Quantidade"
                    Do_It!
                    ClearAll
                  EndSwitch

                  If VSDGOPCAO[1]
                     Then {Ask} {Answer}
                          Moveto [Quantidade] TypeIn "Changeto ~VSDGQUANTIDADE"
                          Do_It!
                          ClearAll
                  EndIf

             Else {Ask} {Itens}
                  Moveto [Codigo do Item         ] Check 
                  Switch 
                    Case VSDGCODIGOI=""  And VSDGCODIGOF<>""  : TypeIn "<=~VSDGCODIGOF"
                    Case VSDGCODIGOF=""  And VSDGCODIGOI<>""  : TypeIn ">=~VSDGCODIGOI"
                    Case VSDGCODIGOF<>"" And VSDGCODIGOI<>""  : TypeIn ">=~VSDGCODIGOI, <=~VSDGCODIGOF"
                  EndSwitch
                  Moveto [Tipo do Item           ]
                  Switch
                     Case VSDGTIPOEST = "1"       : TypeIn "E or M or O or A or S"
                     Case VSDGTIPOEST = "2"       : TypeIn "P or T"
                     Case Not IsBlank(VSDGTIPOEST): TypeIn "~VSDGTIPOEST"
                     OtherWise                    : TypeIn "Not C, Not D, Not F, Not G, Not H, Not I"
                  EndSwitch
                  Moveto [Codigo da Familia] TypeIn "~VSDGFAMI.."
                  Moveto [Codigo do Grupo  ] TypeIn "~VSDGGRP.."
                  Moveto [Codigo da Marca  ] TypeIn "~VSDGMARCA.."
                  Moveto [Referencia       ] TypeIn "~VSDGREFERENCIA.."
                  Moveto [Inativo          ] TypeIn "Not S"
                  Do_It!
                  ClearAll
          EndIf

          If IsEmpty("Answer")
             Then Mensagem("N„o exite registro conforme sele‡„o !")
             Else View "\\Sistemas\\Vendas\\Tbprite"
                  View "Re_0010"
                  CoEdit "Answer"
                  Scan
                    PRECO=BlankNum()
                    If VSDGTABELA<>""
                       Then Moveto "\\sistemas\\vendas\\Tbprite"
                            Moveto [Codigo da tabela]
                            Locate VSDGTABELA,[Answer->Codigo do Item]
                            If Retval
                               Then PRECO=[Preco Unitario]
                            EndIf
                    EndIf
                    Moveto "Re_0010"
                    End Down
                    [Lookup_Item       ]=[Answer->Codigo do Item]
                    [Codigo do Item    ]=[Answer->Codigo do Item]
                    Switch
                      Case Not ISBlank(VSDGNREQ):
                        [Quantidade    ]=[Answer->Quantidade    ]
                      Case Not ISBlank(VSDGNPED):
                        [Quantidade    ]=[Answer->Quantidade    ]
                      Case Not ISBlank(VSDGNROM):
                        [Quantidade    ]=[Answer->Quantidade    ]
                      Case Not ISBlank(VSDGNNE):
                        [Quantidade    ]=[Answer->Quantidade    ]
                      OtherWise:
                        [Quantidade    ]=VSDGQUANTIDADE
                    EndSwitch
                    If VSDGTABELA<>""        
                       Then [Preco Unitario    ]=PRECO
                    EndIf
                    UnLockRecord
                    Moveto "Answer"
                  EndScan
                  Do_It!
                  ClearAll
          EndIf
    Else ClearAll
         QuitLoop
  EndIf
  ClearAll
  QuitLoop

EndWhile

CoEdit "Re_0010"
If FORMU=1
	 Then PickForm OPCAO_FORM_PADRAO
	 Else PickForm "1"
EndIf
EndProc

;*******************************************************************************
;* Rotina para Localizar Registro                                              *
;*******************************************************************************
Proc Form_Localizar()

Switch
  Case FORMU=4                        : OPCAO_FORM_PADRAO = "6" 
                                        PickForm OPCAO_FORM_PADRAO
                                        Moveto [Codigo do Item]
  Case LOCALIZA_CODIGO = "LOC_CODITE" : PickForm OPCAO_FORM_PADRAO
                                        Moveto [Codigo do Item]
  Case LOCALIZA_CODIGO = "LOC_CODFOR" : PickForm "3"
                                        Moveto [Codigo Fornecedor]
  Case LOCALIZA_CODIGO = "LOC_CODREF" : PickForm "4"
                                        Moveto [Referencia]
  Case LOCALIZA_CODIGO = "LOC_CODBAR" : PickForm "5"
                                        Moveto [Codigo de Barras]
                                        ChaveCdBar()
EndSwitch

EndProc ;Form_Localizar()

;*******************************************************************************
;* Rotina para Entrada Rapida por Codigo de Barras                             *
;*******************************************************************************
Proc ChaveCdBar()
Private etiqok
qtd=0
Dados_Item=""
While True
  Item_Ins_Consulta=False
  
  MSGCAMPO=""
  If Not Ler_CDBarras(22,00) 
     Then QuitLoop
     Else If Dados_QTD<=0
             Then Mensagem("Quantidade tem que ser > ou = 1 !")
                  Moveto [Codigo de Barras]
                  Loop
             Else ANT_FIELD=Field()
                  LOC_RETORNO_CODITEM = True
                  Moveto [Lookup_Item]
                  Ativa_Lookup()
                  ModoLocalizarItem("LOCALIZAR",Dados_Item,"")
                  CODIGO = LOC_CODIGO_ITEM
                  If CODIGO=""
                     Then Mensagem("Item/Referˆncia n„o localizado !")
                          Moveto [Codigo de Barras]
                          Loop
                  EndIf
                  GetRecord "\\sistemas\\estoque\\Itens" CODIGO To REGITEM
                  If RetVal
                     Then If regitem["Inativo"]="S"
                             Then Mensagem("InclusÆo nÆo permitida, item INATIVADO ! ")
                                  Moveto [Codigo de Barras]
                                  Loop                            
                          Endif
                  Endif
                  Del
                  Locate CODIGO
                  If Retval
                     Then [Quantidade] = Dados_QTD + [Quantidade]
                     Else End Down
                          [Lookup_Item   ]=CODIGO
                          [Codigo do Item]=CODIGO
                          [Quantidade    ]=Dados_QTD
                          UnLockRecord
                  EndIf
                  qtd=qtd+Dados_QTD
                  End Down
                  Moveto [Codigo de Barras]
                  Loop
          EndIf
  EndIf
EndWhile

EndProc ;ChaveCdBar()

;*******************************************************************************
;* Atribui Pre‡o dos Itens                                                     *
;*******************************************************************************
Proc Atribuir_Precos()

If MODETIQ="49A"
   Then Return
EndIf   


{Ask} {Re_0010}
Moveto [Preco Unitario  ] TypeIn "Changeto Blank"
Do_It!
ClearAll

{Ask} {\\Sistemas\\Vendas\\Tbprite} Check
Moveto [Codigo da Tabela] TypeIn "~VSDGTABELA.."
Do_It!
ClearAll

If MODETIQ="36C" Or MODETIQ="91" Or MODETIQ="104"  
   Then View "Answer"
        CoEdit "Re_0010"
        Scan
          CodItem = PegaCodigoRaiz([Codigo do Item])
          Moveto "Answer"
          Moveto [Codigo do Item]
          Locate CodItem
          If Retval
             Then Valor = [Preco Unitario]
             Else Valor = 0
          EndIf
          Moveto "Re_0010"
          [Preco Unitario] = Valor
        EndScan
        Do_It!
        ClearAll
        Return
EndIf

{Ask} {Answer}
Moveto [Codigo do Item  ] Example "CodI"
Moveto [Preco Unitario  ] Example "Prec"
{Ask} {Re_0010}
Moveto [Codigo do Item  ] Example "CodI"
Moveto [Preco Unitario  ] TypeIn "Changeto " Example "Prec"
Do_It!
ClearAll

EndProc ;Atribuir_Precos()

                          
;************************************
;* ROTINA PARA Ler/Gravacao Opcao   *
;************************************
Proc ModeloRelatoriosCarregaLista()

;ModeloRelatoriosAdd("XXX XX maximo 70 XX")

ModeloRelatoriosAdd("Criar") ; linha obrigatoria inicial
ModeloRelatoriosAdd(fill(chr(196),3)+" IM Impressora matricial:")
ModeloRelatoriosAdd("01  IM  1   8,9x 2,4  Descri‡Æo,Unid,C¢digo,DescrComplem,Marca,Cor   ")                        
ModeloRelatoriosAdd("04  IM  1   8,9x 2,4  Descri‡Æo,Unid,Obs,C¢dForn,Marca,C¢digo,Local  ")
ModeloRelatoriosAdd("07  IM  1   8,9x 2,4  C¢digo,Descri‡Æo,DescrComplem,Marca,Cor        ")
ModeloRelatoriosAdd("30  IM  1   8,9x 2,4  C¢digo,Descri‡Æo,DescrComplem                  ")
ModeloRelatoriosAdd("34  IM  1   8,9x 2,4  C¢digo/Classe/PEI                              ")
ModeloRelatoriosAdd("40  IM  1   8,9x 2,4  C¢digo,Descri‡Æo,Unid,Marca,Pre‡o              ")
ModeloRelatoriosAdd("02  IM  2   8,9x 2,4  Descri‡Æo,Unid,C¢digo,DescrComplem,Marca,Cor   ")
ModeloRelatoriosAdd("08  IM  2   8,9x 2,4  C¢digo,Descri‡Æo,DescrComplem,Marca,Cor        ")
ModeloRelatoriosAdd("05  IM  2   8,9x 2,4  Descri‡Æo,Unid,C¢dForn,Marca,C¢digo,Local      ")
ModeloRelatoriosAdd("31  IM  2   8,9x 2,4  Descri‡Æo,Unid,C¢dForn,Marca,C¢digo,Local      ")
ModeloRelatoriosAdd("41  IM  2   8,9x 2,4  Descri‡Æo,C¢dForn,Marca,C¢digo,Pre‡oMascarado  ")
ModeloRelatoriosAdd("50  IM  2   8,9x 2,4  Referˆncia                                     ")
ModeloRelatoriosAdd("03  IM  3   8,9x 2,4  Descri‡Æo,Unid,C¢digo,DescrComplem,Marca,Cor   ")
ModeloRelatoriosAdd("06  IM  3   8,9x 2,4  Descri‡Æo,Unid,Obs,C¢dForn,Marca,C¢digo,Local  ")
ModeloRelatoriosAdd("09  IM  3   8,9x 2,4  C¢digo,Descri‡Æo,DescrComplem,Marca,Cor        ")
ModeloRelatoriosAdd("77  IM  1   9,0x 2,4  C¢d,C¢dForn,Descr,Un,Marca,Grup,PrVISTA+PRAZO  ")
ModeloRelatoriosAdd("76  IM  2   9,0x 2,4  C¢d,C¢dForn,Descr,Un,Marca,Grup,PrVISTA+PRAZO  ")
ModeloRelatoriosAdd("27  IM  1   9,9x 3,6  Grupo,C¢digo,Descri‡Æo,Unid,Pre‡o              ")
ModeloRelatoriosAdd("28  IM  2   9,9x 3,6  Grupo,C¢digo,Descri‡Æo,Unid,Pre‡o              ")
ModeloRelatoriosAdd("33  IM  5   3,8x 2,1  C¢digo                                         ")
ModeloRelatoriosAdd("42  IM  1   8,0x 3,5  Empresa,Descri‡Æo,UnidEmb,FtConvEmb,Pre‡o      ")
ModeloRelatoriosAdd("43  IM  1   8,0x 3,5  C¢digo,Descri‡Æo,Marca                         ")
ModeloRelatoriosAdd("26  IM  2   7,0x 2,4  C¢digo,Descri‡Æo,Unid,Marca,Grupo              ")
ModeloRelatoriosAdd("55  IM  2   7,0x 2,4  C¢digo,C¢dForn,Descri‡Æo,Un,Marca,Grup,Pre‡o   ")
ModeloRelatoriosAdd("74  IM  2   7,0x 2,4  C¢d,C¢dForn,Descr,Un,Marca,Grup,PrVISTA+PRAZO  ")
ModeloRelatoriosAdd("81  IM  2  10,1x 2,5  C¢d,C¢dForn,Descr,Un,Marca,Grup,PrVISTA+PRAZO  ")
ModeloRelatoriosAdd("67  IM  1   4,9x 1,5  Descri‡Æo,C¢digo,Marca,Local,Peso              ") ;[0102]  
ModeloRelatoriosAdd("32  IM  4   4,9x 1,5  C¢digo,C¢dForn,Descri‡Æo,Marca,Local           ")
ModeloRelatoriosAdd("65  IM  4   4,9x 1,5  C¢digo,Empr,Descr,UnEmb,FtConvEmb,Marca,Pre‡o  ")
ModeloRelatoriosAdd("44  IM  4   4,9x 1,5  C¢digo,Empr,Descr,UnEmb,FtConvEmb,Data,Pre‡o   ")
ModeloRelatoriosAdd("44A IM  4   4,4x 1,7  C¢digo,Empresa,Descri‡Æo,Local,Pre‡o           ") ;[0294]
ModeloRelatoriosAdd("39  IM  5   2,5x 1,5  C¢digo,Descri‡Æo,UnidEmb,FtConvEmb             ") 
ModeloRelatoriosAdd("29  IM  5   2,5x 1,5  C¢digo,Descri‡Æo                               ")
ModeloRelatoriosAdd("58  IM  5   2,5x 1,5  C¢digo,Tamanho,Cor,Pre‡oMascarado              ") 
ModeloRelatoriosAdd("24  IM  1             C¢digo,Descri‡Æo,Preco,DescrComplem            ")
ModeloRelatoriosAdd("Separator")
ModeloRelatoriosAdd(fill(chr(196),3)+" ILJ Impresssora Laser/Jato de Tinta:")
ModeloRelatoriosAdd("67A ILJ 2   4,9x 1,5  Descri‡Æo,C¢digo,Marca,Local,Peso               ")  ;[0102]
ModeloRelatoriosAdd("20  ILJ 5   3,8x 2,1  C¢digo,Descri‡Æo,Pre‡o                          ")
ModeloRelatoriosAdd("23  ILJ 2   8,9x 2,4  Descri‡Æo,Unid,Marca,C¢digo,Pre‡o               ")
ModeloRelatoriosAdd("68  ILJ 3   6,4x 2,5  Descri‡Æo,Unidade,CodBar c/ 33 Etiquetas        ")
ModeloRelatoriosAdd("68A ILJ 3   6,4x 2,5  Descr,Unidade,CodBar,PrVISTA+PRAZO c/ 33 Etiq.  ")
ModeloRelatoriosAdd("69  ILJ 3   6,6x 2,5  Descr,Unidade,CodBar,PrVISTA+PRAZO c/ 30 Etiq.  ")
ModeloRelatoriosAdd("80  ILJ 5   3,8x 2,1  Descri‡Æo,Unidade,CodBar c/ 65 Etiquetas        ")
ModeloRelatoriosAdd("72  ILJ 3             C¢digo,Descri‡Æo                                ") ;[0102]
ModeloRelatoriosAdd("100 ILJ 2  10,0x 5,0  C¢digo,Descri‡Æo,Composi‡Æo,Pais,Referˆncia     ") ;[0396]
ModeloRelatoriosAdd("21  ILJ 2  10,0x 5,0  Descri‡Æo,DescrComplem,Largura,Referˆncia,Pre‡o ") ;[0357]
ModeloRelatoriosAdd("22  ILJ 2  10,0x 5,0  Descr,C¢d,DescrComplem,Larg,Pais,Preco,CodBar   ") ;[0359]
ModeloRelatoriosAdd("22C ILJ 2  10,0x 5,0  Descr,C¢d,DescrComplem,Larg,Pe‡a,Pais,Pre‡o     ") ;[0404]
ModeloRelatoriosAdd("18  ILJ 3   6,7x 2,5  Descri‡Æo,CodBar,Pre‡o                          ") ;[0299]
ModeloRelatoriosAdd("Separator")
ModeloRelatoriosAdd(fill(chr(196),3)+" ITE Impresssora T‚rmica/Eltron:")
ModeloRelatoriosAdd("25  ITE 3             CodBar,Descri‡Æo                                ") 
ModeloRelatoriosAdd("54  ITE 3             Descri‡Æo,CodBar,Tamanho                        ") ;[0204]
ModeloRelatoriosAdd("61  ITE 2             MesAno,Descri‡Æo,Referˆncia,CodBar,PrVISTA      ") ;[0227]
ModeloRelatoriosAdd("61A ITE 2             MesAno,Descri‡Æo,Referˆncia,CodBar+Descr,PrVISTA") ;[0227]
ModeloRelatoriosAdd("62  ITE 2             Descri‡Æo,Cor,Referˆncia,CodBar  s/ Pre‡o       ") ;[0227]
ModeloRelatoriosAdd("92  ITE 3             Concentrador,DescrComplem,Referˆncia,CodBar*    ") ;[0227]
ModeloRelatoriosAdd("Separator")    
ModeloRelatoriosAdd(fill(chr(196),3)+" ITB Impresssora T‚rmica/Bematech:")
ModeloRelatoriosAdd("96  ITB 1  10,3x 2,1  Artigo,Un,Descr,Compos,Pe‡a,Larg,Gram,Rend,Pre‡o") ;[0345]
ModeloRelatoriosAdd("96A ITB 1  10,0x 5,0  Artigo,Descr,Compos,Larg,Gram,Rend,Pais,Simbol  ") ;[0345]
ModeloRelatoriosAdd("Separator")    
ModeloRelatoriosAdd(fill(chr(196),3)+" ITZ Impresssora T‚rmica/Zebra:")
ModeloRelatoriosAdd("22A ITZ 1   8,0x 5,0  Art,Cor,Descr,Compos,Gram,Larg,Rend,Pais,Simbol ") ;[0359]
ModeloRelatoriosAdd("22B ITZ 3   3,3x 2,1  Descricao,CodBar **Referˆncia                   ") ;[0359]
ModeloRelatoriosAdd("22E ITZ 3   3,3x 2,1  Descricao,CodBar,Referˆncia                     ") ;[0413]
ModeloRelatoriosAdd("109 ITZ 1  10,0x 4,0  Art,MesAno,Pre‡o,Descr,Compos,Larg,Pais,Pe‡a I  ") ;[0397]
ModeloRelatoriosAdd("110 ITZ 1  10,0x 4,0  Art,MesAno,Pre‡o,Descr,Compos,Larg,Pais,Pe‡a II ") ;[0397]
ModeloRelatoriosAdd("22D ITZ 1  10,0x 4,0  Descr,C¢d,DescrComplem,Larg,Pe‡a,Pais,Pre‡o     ") ;[0404]
ModeloRelatoriosAdd("35  ITZ 3             Empresa,CodBar,Descri‡Æo    I                   ")
ModeloRelatoriosAdd("45  ITZ 3             Empresa,CodBar,Descri‡Æo    II                  ")
ModeloRelatoriosAdd("46  ITZ 1             Descri‡Æo,CodBar,Referˆncia                     ")
ModeloRelatoriosAdd("47  ITZ 3             CodBar,Descri‡Æo,Referˆncia                     ")
ModeloRelatoriosAdd("56  ITZ 3             Descri‡Æo,Referˆncia,CodBar,C¢digo              ")
ModeloRelatoriosAdd("79  ITZ 3             Descri‡Æo,Referˆncia,CodBar,C¢digo,Pre‡o        ")
ModeloRelatoriosAdd("59  ITZ 3             Referˆncia,Descri‡Æo,CodBar,MesAno,Pre‡o        ") ;[0217]
ModeloRelatoriosAdd("59A ITZ 3             Referˆncia,Descri‡Æo,CodBar,MesAno              ")
ModeloRelatoriosAdd("59B ITZ 3             Fam¡lia,Descri‡Æo,CodBar,MesAno,Referˆncia,Pre‡o") ;[0304]
ModeloRelatoriosAdd("82  ITZ 3   3,3x 2,1  Descri‡Æo,C¢digo,Referˆncia,CodBar,Pre‡o        ") 
ModeloRelatoriosAdd("83  ITZ 3   3,3x 2,1  C¢digo,Descri‡Æo,Tamanho,CodBar                 ") ;[0167]
ModeloRelatoriosAdd("88  ITZ 2   2,4x 4,0  Descri‡Æo,C¢digo,CodBar,Pre‡o I                 ") ;[0226]
ModeloRelatoriosAdd("88A ITZ 2   2,0x 4,0  Descri‡Æo,C¢digo,CodBar,Pre‡o II                ") ;[0226]
ModeloRelatoriosAdd("88B ITZ 2   2,5x 4,5  CodBar,C¢d,Descr,CodMarca,Grup,Forn,PrVISTA+PRAZ") ;[0226]
ModeloRelatoriosAdd("88C ITZ 2   2,0x 4,0  Descri‡Æo,C¢digo,CodBar,Pre‡o                   ") ;[0294]
ModeloRelatoriosAdd("71  ITZ 3             Descri‡Æo,Referˆncia,Marca,CodBar               ") ;[0232]
ModeloRelatoriosAdd("70  ITZ 3             CodBar,Marca,Descri‡Æo,Referˆncia+Pre‡o         ") ;[0282]
ModeloRelatoriosAdd("70A ITZ 3             Marca,Descri‡Æo,Referˆncia+Pre‡o                ") ;[0282]
ModeloRelatoriosAdd("36  ITZ 3             Descri‡Æo,Referˆncia+Descr,CodBar               ")
ModeloRelatoriosAdd("36A ITZ 3             Descri‡Æo,Referˆncia+Descr,CodBar,Pre‡o         ") ;[????] e [0423] Algum cliente utilizava antes mesmo do 0423
ModeloRelatoriosAdd("36B ITZ 3             Descri‡Æo,Referˆncia,CodBar,Concentrador        ") ;[0274]
ModeloRelatoriosAdd("36C ITZ 3   3,5x 5,0  Descri‡Æo,Referˆncia,CodBar,Obs,PrVISTA+PRAZO   ") ;[0266]
ModeloRelatoriosAdd("36D ITZ 3   2,1x 3,3  Descri‡Æo,CodBar,Pre‡o                          ") ;[0311]
ModeloRelatoriosAdd("36E ITZ 3   2,1x 3,3  Descri‡Æo,Referˆncia,CoBar,Concentrador         ") ;[0274]
ModeloRelatoriosAdd("36F ITZ 3   2,3x 3,4  Descri‡Æo,Referˆncia,CoBar                      ") ;[0439]
ModeloRelatoriosAdd("37  ITZ 3             CodBar,Marca,Descri‡Æo,Pre‡o                    ")
ModeloRelatoriosAdd("38  ITZ 2             CodBar,Marca,Descri‡Æo,Obs,Pre‡o                ")      
ModeloRelatoriosAdd("66  ITZ 3   6,5x 3,5  Descri‡Æo,CodBar I                              ") ;[0252]
ModeloRelatoriosAdd("66A ITZ 4   2,3x 4,7  Descri‡Æo,CodBar II                             ") ;[0252]
ModeloRelatoriosAdd("51                                                                    ") ;[0159]
ModeloRelatoriosAdd("52                                                                    ") ;[0159]
ModeloRelatoriosAdd("53                                                                    ") ;[0159]
ModeloRelatoriosAdd("57                                                                    ") ;[0159]
ModeloRelatoriosAdd("57A                                                                   ") ;[0159]
ModeloRelatoriosAdd("57B ITZ 3  10,0x 5,0  Descri‡Æo,FatoConversao,CodBar II               ") ;[0159]
ModeloRelatoriosAdd("57C ITZ 3   3,3x 2,1  Descri‡Æo,FatoConversao,CodBar III              ") ;[0159]
ModeloRelatoriosAdd("60  ITZ 1             CodBar,C¢d,Descr,CodMarca,Grup,Forn,PrVISTA+PRAZ") ;[0226]
ModeloRelatoriosAdd("64  ITZ 1             CodBar,C¢digo,Descri‡Æo                         ") ;[0226]
ModeloRelatoriosAdd("73  ITZ 3   2,1x 3,3  Descr,DataFabrica‡Æo,Validade,Lote,Respons vel  ")
ModeloRelatoriosAdd("75  ITZ 1   3,0x 9,9  Descri‡Æo,C¢digo                                ")
ModeloRelatoriosAdd("78  ITZ 2   1,3x10,6  Descri‡Æo,Referˆncia,C¢digo I                   ") ;[0051]
ModeloRelatoriosAdd("78A ITZ 1             Descri‡Æo,Referˆncia,C¢digo II                  ") ;[0051]
ModeloRelatoriosAdd("78B ITZ 2  10,5x 1,3  CodBar                                          ") ;[0051]
ModeloRelatoriosAdd("84  ITZ 2   5,0x 7,5  C¢digo,Descri‡Æo,CodBar,DescrComplem    c/ EAN14") ;[0199]
ModeloRelatoriosAdd("87  ITZ 3   2,1x 3,3  C¢digo,Descri‡Æo,PrVISTA+PRAZO                  ") ;[0286]
ModeloRelatoriosAdd("89  ITZ 2   5,0x 7,5  Obs,CodBar,Descri‡Æo,Referˆncia,Pre‡o           ") ;[0304]
ModeloRelatoriosAdd("90  ITZ 1   7,0x 2,3  Descri‡Æo,Unidade,Fornecedor+Marca,Local,CodBar ") ;[0066]
ModeloRelatoriosAdd("91  ITZ 1   3,5x 5,0  Referˆncia,Descri‡Æo,Tamanho,Cor,Marca,Pre‡o    ") ;[0369]
ModeloRelatoriosAdd("93  ITZ 1   2,1x 3,3  Descri‡Æo,FatorConversao,Unidade,CodBar         ") ;[0167]
ModeloRelatoriosAdd("93A ITZ 1   2,1x 3,3  Descri‡Æo,CodBar                                ") ;[0167]
ModeloRelatoriosAdd("94  ITZ 1   7,5x 3,0  Descri‡Æo,CodBar,Obs                            ") ;[0268]
ModeloRelatoriosAdd("94A ITZ 1  11,0x 9,5  Descri‡Æo,CodBar I                              ") ;[0268]
ModeloRelatoriosAdd("97  ITZ 1   5,1x 9,8  Descri‡Æo,CodBar II                             ") ;[0383]
ModeloRelatoriosAdd("98  ITZ 1   2,1x 3,3  Descri‡Æo,CodBar,Referˆncia+Pre‡o               ") ;[0391]
ModeloRelatoriosAdd("99  ITZ 1  10,0x 5,0  Artigo,Descr,Compos,Larg,Gram,Rend,Pe‡a,Pre‡o   ") ;[0392]
ModeloRelatoriosAdd("101 ITZ 1   8,5x 3,0  Artigo,Descr,Compos,Pe‡a,Larg,Gram,Rend,Pre‡o   ") ;[0388]
ModeloRelatoriosAdd("102 ITZ 2   4,0x 2,3  Descri‡Æo,Cor,Tamanho,CodBar,Referˆncia         ") ;[0403]
ModeloRelatoriosAdd("103 ITZ 2  10,0x 7,5  Ref,Cor,Larg,Rend,Composi‡Æo,CodBar I    *Simbol") ;[0408]
ModeloRelatoriosAdd("111 ITZ 1  10,0x 5,0  Ref,Cor,Larg,Rend,Composi‡Æo,CodBar II   *Simbol") ;[0408]
ModeloRelatoriosAdd("112 ITZ 2   5,0x 7,6  Descri‡Æo,CodBar,Referˆncia,Obs,Pre‡o           ") ;[0326]
ModeloRelatoriosAdd("113 ITZ 1  11,0x 5,0  Descri‡Æo,FatoConversao,Unidade,CodBar I        ") ;[0159]
ModeloRelatoriosAdd("114 ITZ 1   8,5x 3,5  Descri‡Æo,FatoConversao,Unidade,CodBar II       ") ;[0159]
ModeloRelatoriosAdd("104 ITZ 2   4,0x 2,3  Descri‡Æo,CodBar,CodCor+Tamanho+Ref+PrVISTA+PRAZ") ;[0415]
ModeloRelatoriosAdd("105 ITZ 3   1,7x 3,0  Descri‡Æo,CodBar I                              ") ;[0412]
ModeloRelatoriosAdd("116 ITZ 3   2,1x 3,3  Descri‡Æo,CodBar II                             ") ;[0412]
ModeloRelatoriosAdd("106 ITZ 1  10,0x 6,0  Art,Descr,Compos,Pe‡a,Larg,Gram,Rend,LargUtil,Pr") ;[0388]
ModeloRelatoriosAdd("115 ITZ 1   8,5x 5,5  Art,Cor,Descr,Compos,Larg,Gram,Rend,Pais *Simbol") ;[0388]
ModeloRelatoriosAdd("107 ITZ 1   4,0x10,5  Descr,C¢d,DescrCom,Larg,FtConv,Pais,CodBar,Pre‡o") ;[0318]
ModeloRelatoriosAdd("108 ITZ 2   2,4x 4,0  C¢digo,Descri‡Æo,CodBar,Local                   ") ;[0059]
ModeloRelatoriosAdd("117 ITZ 2   9,8x 7,5  Depart,Descr,Cor,Tamanho,Ref,CodBar,Marca,Pre‡o ") ;[0425]
ModeloRelatoriosAdd("118 ITZ 2   8,0x 5,5  Depart,Descr,Cor,Tamanho,Ref,CodBar,Marca       ") ;[0425]
ModeloRelatoriosAdd("119 ITZ 1  10,9x 5,0  Descri‡Æo,CodBar                                ") ;[0422]
ModeloRelatoriosAdd("120 ITZ 2   4,0x 2,3  Descri‡Æo,Tamanho,Referˆncia,Preco,CodBar       ") ;[0428]
ModeloRelatoriosAdd("123 ITZ 2   5,1x 7,4  PrVISTA+PRAZO,Tamanho,Ref,Descr,C¢digo,CodBar   ") ;[0434]           
ModeloRelatoriosAdd("124 ITZ 1   9,0x 5,0  Artigo,DescrCompl,Pe‡a,Rendimento[Item/Vendedor]") ;[0431]
ModeloRelatoriosAdd("127 ITZ 1   9,0x 5,0  Artigo,DescrCompl,Pe‡a,Rendimento[Vendedor/Item]") ;[0431]
ModeloRelatoriosAdd("125 ITZ 3   2,1x 3,3  PrVISTA+PRAZO,Tamanho,Ref,Descr,C¢digo,CodBar   ") ;[0434]
ModeloRelatoriosAdd("126 ITZ 2   5,10 7,0  PrVISTA+PRAZO,Tamanho,Ref,Descr,C¢digo,CodBar   ") ;[0434]
ModeloRelatoriosAdd("128 ITZ 3   3,3x 2,1  Descri‡Æo,Referˆncia,CodBar,Pre‡o               ") ;[0435]
ModeloRelatoriosAdd("129 ITZ 3   2,1x 3,3  Lote,Data                                       ") ;[0159]
ModeloRelatoriosAdd("130 ITZ 3   3,3x 2,1  Descri‡Æo,CodBar,Pre‡o                          ") ;[0435]
ModeloRelatoriosAdd("132 ITZ 3   3,3x 2,1  Referˆncia,CodBar,Pre‡o                         ") ;[0397]
ModeloRelatoriosAdd("133 ITZ 2   8,0x 6,0  Descri‡Æo,Referˆncia,CodBar,Pre‡o               ") ;[0397]    
ModeloRelatoriosAdd("Separator")    
ModeloRelatoriosAdd(Fill(chr(196),3)+" ITI Impresssora T‚rmica/Intermec:")
ModeloRelatoriosAdd("85  ITI 2   4,0x 6,0  CodBar,Descr,Ref,Tamanho,C¢digo,PrVISTA+PRAZO I ") ;[0322] 
ModeloRelatoriosAdd("86  ITI 2   4,0x 6,0  CodBar,Descr,Ref,Tamanho,C¢digo,PrVISTA+PRAZO II") ;[0322] e [0171]
ModeloRelatoriosAdd("95  ITI 2   5,1x 7,4  PrVISTA+PRAZO,Tamanho,Ref,Descr,C¢digo,CodBar   ") ;[0322] e [0171]
ModeloRelatoriosAdd("48  ITI 2             CodBar,Descri‡Æo,Referˆncia,PrVISTA+PRAZO I     ") ;[0322] e [0171]
ModeloRelatoriosAdd("49  ITI 2             CodBar,Descri‡Æo,Referˆncia,PrVISTA+PRAZO II    ") ;[0171]              
ModeloRelatoriosAdd("49A ITI 2             CodBar,Descri‡Æo,Referˆncia,PrVISTA+PRAZO III   ") ;[0171]
ModeloRelatoriosAdd("121 ITI 1  11,1x20,0  C¢digo,CodBar                                   ") ;[0417]
ModeloRelatoriosAdd("122 ITI 1  11,1x 5,0  C¢digo,CodBar                                   ") ;[0417]
ModeloRelatoriosAdd("131 ITI 3   3,5x 5,0  Descri‡Æo,CodBar                                ") ;[0417]
ModeloRelatoriosAdd("Separator")    
ModeloRelatoriosAdd("Fim")             
                          
EndProc ;ModeloRelatoriosCarregaLista()
 
;*******************************************************************************
;* Rotina Impressao                                                            *
;*******************************************************************************
Proc Imprimir()
LimpaRodape(0)
Do_It!
ClearAll

If Not IsAssigned(SELECAO) Then SELECAO="    Todos" EndIf

While True
  OP_SHOW="I"
  ShowDialog "Selecione o Modelo de Etiqueta" Proc "SD_Dialog"
  Trigger "OPEN","ARRIVE","SELECT"
  Key "ENTER","ESC","TAB", "F1"
    @ 00,01 Height 22 Width 80

    Label @ 00,00 "C¢d  TI Col Tamanho/cm Descritivo                                        P"  For "TG_OPETIQUETA"
    PickArray @1,01 Height 14 width 75
     Columns 1
      Array_Etiquetas
       Tag "TG_OPETIQUETA"
        To VSDGOPETIQUETA

;   Label @ 00,00 "Modelos de Etiqueta"  For "TG_OPETIQUETA"

    Label  @ 15,00 "Ordem" For "TG_OPRELCODALFDIG"
    Accept @ 16,01 Width 04 "A1"  Picture "1,2,3" Tag "TG_OPRELCODALFDIG" To VSDGOPRELCODALFDIG
    Accept @ 16,04 Width 12 "A10" Picture "!*!" Tag "TG_NOMOPRELCODALFDIG" To VSDGNOMOPRELCODALFDIG

    Label  @ 15,17 "Tabela" For "TG_TABELA2"
    Accept @ 16,18 Width 08 "A5"  Picture "#*#" Tag "TG_TABELA2" To VSDGTABELA2
    Accept @ 16,25 Width 21 "A30" Picture "!*!" Tag "TG_NOMTAB2" To VSDGNOMTAB2

    Label  @ 15,47 "Tabela 2" For "TG_TABELA3"
    Accept @ 16,48 Width 08 "A5"  Picture "#*#" Tag "TG_TABELA3" To VSDGTABELA3
    Accept @ 16,55 Width 21 "A30" Picture "!*!" Tag "TG_NOMTAB3" To VSDGNOMTAB3

    @ 17,63 ?? SELECAO
    Pushbutton @ 18,62 width 15 "~V~er Modelos"     OK    Tag "TG_SELECAO" To BottonValue

    Pushbutton @ 18,26 width 11 "~O~k"      OK     Default Value "Ok" Tag "YES" To BottonValue
    Pushbutton @ 18,40 width 11 "~C~ancela" CANCEL                    Tag "NO"  To BottonValue

  EndDialog
  If Not RetVal Then QuitLoop EndIf


  MODETIQ=RTrim(SubStr(Array_Etiquetas[VSDGOPETIQUETA],1,3))

  If MODETIQ="---"
     Then Mensagem("Modelo Inv lido !")
          Loop
  EndIf
              
  UTILIZA_PRECO=False
  If MODETIQ="36C" Or
     MODETIQ="91"  Or
     MODETIQ="60"  Or
     MODETIQ="61"  Or
     MODETIQ="61A" Or
     MODETIQ="36A" Or
     MODETIQ="36D" Or
     MODETIQ="36F" Or
     MODETIQ="64"  Or
     MODETIQ="75"  Or
     MODETIQ="79"  Or
     MODETIQ="81"  Or
     MODETIQ="88"  Or
     MODETIQ="88A" Or
     MODETIQ="88C" Or
     MODETIQ="96"  Or
     MODETIQ="88B" Or
     MODETIQ="44A" Or
     MODETIQ="68A" Or
     MODETIQ="59"  Or
     MODETIQ="59A" Or
     MODETIQ="59B" Or
     MODETIQ="36A" Or
     MODETIQ="36D" Or
     MODETIQ="36F" Or
     MODETIQ="37"  Or
     MODETIQ="38"  Or
     MODETIQ="70"  Or
     MODETIQ="70A" Or
     MODETIQ="74"  Or
     MODETIQ="76"  Or
     MODETIQ="77"  Or
     MODETIQ="38"  Or
     MODETIQ="87"  Or
     MODETIQ="99"  Or
     MODETIQ="89"  Or
     MODETIQ="91"  Or
     MODETIQ="18"  Or
     MODETIQ="21"  Or
     MODETIQ="22"  Or
     MODETIQ="82"  Or
     MODETIQ="88"  Or
     MODETIQ="88A" Or
     MODETIQ="88C" Or
     MODETIQ="22C" Or
     MODETIQ="49A" Or
     MODETIQ="104" Or
     MODETIQ="101" Or
     MODETIQ="106" Or
     MODETIQ="107" Or
     MODETIQ="117" Or
     MODETIQ="109" Or
     MODETIQ="110" Or
     MODETIQ="112" Or
     MODETIQ="117" Or
     MODETIQ="22D" Or
     MODETIQ="120" Or
     MODETIQ="124" Or
     MODETIQ="127" Or
     MODETIQ="128" Or
     MODETIQ="130" Or
     MODETIQ="132" Or
     MODETIQ="133" 
     Then Switch
            Case Not IsAssigned(VSDGTABELA) And
                 Not IsAssigned(VSDGTABELA2)                    : Mensagem("Informar a tabela de pre‡o antes de prosseguir !")
                                                                  Loop
            Case Not IsAssigned(VSDGTABELA)  And VSDGTABELA2="" : Mensagem("Informar a tabela de pre‡o antes de prosseguir !")
                                                                  Loop
            Case Not IsAssigned(VSDGTABELA2) And VSDGTABELA=""  : Mensagem("Informar a tabela de pre‡o antes de prosseguir !")
                                                                  Loop
            OtherWise                                           : VSDGTABELA=VSDGTABELA2
                                                                  UTILIZA_PRECO=True
          EndSwitch
  EndIf

  If MODETIQ="36C" or MODETIQ="98" Or MODETIQ="104" Or MODETIQ="123" Or MODETIQ="125" Or MODETIQ="126" Or MODETIQ="128"  
     Then Switch
            Case Not IsAssigned(VSDGTABELA3) Or VSDGTABELA3="" : Mensagem("Informar a tabela de pre‡o 2 antes de prosseguir !")
                                                                 Loop
          EndSwitch
  EndIf

  If MODETIQ="85" Or MODETIQ="86" Or MODETIQ="95" 
     Then
         Switch
            Case Not IsAssigned(VSDGTABELA) : UTILIZA_PRECO=False
            Case VSDGTABELA=""              : UTILIZA_PRECO=False
            OtherWise                       : UTILIZA_PRECO=True
         EndSwitch
  EndIf
  
  If MODETIQ="25"  Or  ;Play Et_z*
     MODETIQ="35"  Or
     MODETIQ="36"  Or
     MODETIQ="36A" Or
     MODETIQ="36B" Or
     MODETIQ="36C" Or
     MODETIQ="36D" Or
     MODETIQ="36E" Or
     MODETIQ="36F" Or
     MODETIQ="91"  Or
     MODETIQ="63"  Or ;Alterado para 63 (Antes 36R)
     MODETIQ="37"  Or
     MODETIQ="38"  Or
     MODETIQ="44A" Or
     MODETIQ="45"  Or
     MODETIQ="46"  Or
     MODETIQ="47"  Or
     MODETIQ="48"  Or
     MODETIQ="49"  Or
     MODETIQ="51"  Or
     MODETIQ="52"  Or
     MODETIQ="53"  Or
     MODETIQ="54"  Or
     MODETIQ="56"  Or
     MODETIQ="59"  Or
     MODETIQ="59A" Or
     MODETIQ="59B" Or
     MODETIQ="60"  Or
     MODETIQ="61"  Or
     MODETIQ="61A" Or
     MODETIQ="62"  Or
     MODETIQ="92"  Or
     MODETIQ="64"  Or
     MODETIQ="66"  Or
     MODETIQ="66A" Or
     MODETIQ="68"  Or
     MODETIQ="68A" Or
     MODETIQ="69"  Or
     MODETIQ="70"  Or
     MODETIQ="70A" Or
     MODETIQ="71"  Or
     MODETIQ="73"  Or
     MODETIQ="75"  Or
     MODETIQ="78"  Or
     MODETIQ="78A" Or
     MODETIQ="78B" Or
     MODETIQ="79"  Or
     MODETIQ="80"  Or
     MODETIQ="81"  Or
     MODETIQ="82"  Or
     MODETIQ="83"  Or
     MODETIQ="84"  Or
     MODETIQ="85"  Or
     MODETIQ="95"  Or
     MODETIQ="86"  Or
     MODETIQ="87"  Or
     MODETIQ="88"  Or
     MODETIQ="88A" Or
     MODETIQ="88C" Or
     MODETIQ="96"  Or
     MODETIQ="96A" Or
     MODETIQ="97"  Or
     MODETIQ="88B" Or
     MODETIQ="89"  Or
     MODETIQ="90"  Or
     MODETIQ="93"  Or
     MODETIQ="93A" Or
     MODETIQ="94"  Or
     MODETIQ="94A" Or
     MODETIQ="57B" Or
     MODETIQ="57C" Or
     MODETIQ="21"  Or
     MODETIQ="22"  Or
     MODETIQ="22A" Or
     MODETIQ="22B" Or
     MODETIQ="22C" Or
     MODETIQ="22E" Or
     MODETIQ="49A" Or
     MODETIQ="18"  Or
     MODETIQ="19"  Or
     MODETIQ="98"  Or
     MODETIQ="99"  Or
     MODETIQ="100" Or
     MODETIQ="101" Or
     MODETIQ="102" Or
     MODETIQ="103" Or
     MODETIQ="111" Or
     MODETIQ="112" Or
     MODETIQ="113" Or
     MODETIQ="114" Or
     MODETIQ="115" Or
     MODETIQ="104" Or
     MODETIQ="105" Or
     MODETIQ="106" Or
     MODETIQ="107" Or
     MODETIQ="108" Or 
     MODETIQ="109" Or
     MODETIQ="110" Or
     MODETIQ="116" Or
     MODETIQ="117" Or
     MODETIQ="118" Or
     MODETIQ="119" Or
     MODETIQ="22D" Or
     MODETIQ="120" Or
     MODETIQ="121" Or
     MODETIQ="122" Or
     MODETIQ="123" Or 
     MODETIQ="124" Or
     MODETIQ="127" Or
     MODETIQ="125" Or
     MODETIQ="126" Or
     MODETIQ="128" Or
     MODETIQ="129" Or
     MODETIQ="130" Or
     MODETIQ="131" Or
     MODETIQ="132" Or
     MODETIQ="133"
     Then ;---- Etiqueta por Representante -------------------------------------
          If MODETIQ="124" Or MODETIQ="127"
             Then If Not Representante()
                     Then QuitLoop
                  EndIf
          EndIf   
          
          MSGDISPOSITIVO="Etiqueta"
          DispositivoEtq()
          If OK="" Then Loop EndIf                   

          AGUARDE("Aguarde, Gerando Relat¢rio")
          If UTILIZA_PRECO
             Then Atribuir_Precos()
          EndIf
 
          {Ask} {Re_0010} Check
          Do_It!
          ClearAll

          If VSDGOPRELCODALFDIG  = "1" Then Sort "Answer" On "Codigo do Item"     EndIf
          If VSDGOPRELCODALFDIG  = "2" Then Sort "Answer" On "Descricao do Item"  EndIf
          If VSDGOPRELCODALFDIG  = "3"
             Then Empty("Answer")
                  Add "Re_0010" "Answer"
          EndIf

          If MODETIQ="36"
             Then Switch ;Alterado Karina
                    Case SYS_CODIGO_CLIENTE="0320"  : Play "Et_z002B"
                    Case SYS_CLIENTE_CONFEC="0185" Or
                         SYS_CLIENTE_CONFEC="0243"  : Play "Et_Z002B"
                    OtherWise                       : Play "Et_Z002"
                  EndSwitch
          EndIf

          If MODETIQ="59"
             Then Moveto "Answer"
                  ClearImage
                  {Ask} {Answer}
                  Moveto [Comissao do Item] TypeIn "Changeto Blank"
                  Do_It!
                  ClearImage

                  View "\\Sistemas\\Vendas\\TbprIte"
                  Coedit "Answer"
                  Scan
                    Moveto "Answer"

                    PRECO=BlankNum()
                    Moveto "\\Sistemas\\Vendas\\TbprIte"
                    Moveto [Codigo da Tabela]
                    Locate "00003",[Answer->Codigo do Item]
                    If RetVal
                       Then PRECO=[Preco Unitario]
                    EndIf

                    Moveto "Answer"
                    [Comissao do Item]=PRECO
                  EndScan
                  Do_It!
                  Play "Et_Z001C"
          EndIf  
          
          Switch
            Case MODETIQ="22A": Etiqueta_Simbologia()
            Case MODETIQ="96A": Etiqueta_Simbologia()
            Case MODETIQ="115": Etiqueta_Simbologia()
          EndSwitch

          Switch
            Case MODETIQ="103": 
                 TAMANHO_SIMBOLOGIA="PP"
                 Play "Et_Z408" ;MODO: Retrato 
                                ;      Et_Z408A"     ;MODO: Paisagem sem Simbologia pois imagem nÆo imprime a 270§
            Case MODETIQ="111": Play "Et_Z408B"
            Case MODETIQ="25" : Play "Et_Cr"
            Case MODETIQ="35" : Play "Et_Z001"
            Case MODETIQ="36A": Play "Et_Z002C"
            Case MODETIQ="36B": Play "Et_Z002D"
            Case MODETIQ="36C": Play "Et_Z002E"
            Case MODETIQ="36D": Play "Et_Z311"
            Case MODETIQ="36E": Play "Et_Z002F"
            Case MODETIQ="36F": Play "Et_Z439"
            Case MODETIQ="91" : Play "Et_Z0369"
            Case MODETIQ="57C": Play "Et_0159"
            Case MODETIQ="93" : Play "Et_0167"
            Case MODETIQ="93A": Play "Et_0167A"
            Case MODETIQ="94" : Play "Et_0268"
            Case MODETIQ="94A": Play "Et_0268A"
            Case MODETIQ="57B": Play "Et_0159A"
            Case MODETIQ="44A": Play "Et_0294"
            Case MODETIQ="63" : Play "Et_Z002R"
            Case MODETIQ="37" : Play "Et_Z003"
            Case MODETIQ="38" : Play "Et_Z004"
            Case MODETIQ="45" : Play "Et_Z005"
            Case MODETIQ="46" : Play "Et_Z006"
            Case MODETIQ="47" : Play "Et_Z007"
            Case MODETIQ="48" : Play "Et_Z008"
            Case MODETIQ="49" : Play "Et_Z008B"
            Case MODETIQ="49A": Play "Et_Z171B"
            Case MODETIQ="51" : Play "Et_Z009A"
            Case MODETIQ="52" : Play "Et_Z009B"
            Case MODETIQ="53" : Play "Et_Z009C"
            Case MODETIQ="54" : Play "Et_E0204"
            Case MODETIQ="56" : Play "Et_Z001B"
            Case MODETIQ="59A": Play "Et_Z001G"
            Case MODETIQ="59B": Play "Et_Z001H"
            Case MODETIQ="66" : Play "Et_Z012"
            Case MODETIQ="66A": Play "Et_Z012a"
            Case MODETIQ="68" : Play "Et_CB001"
            Case MODETIQ="82" : Play "Et_Z001F"
            Case MODETIQ="84" : Play "Et_Z014p"                                 ;VersÆo SEM impressÆo p/ Logo (** ET_Z014 c/ Logo)
            Case MODETIQ="85" : Play "Et_Z015"
            Case MODETIQ="95" : Play "Et_Z015A"
            Case MODETIQ="86" : Play "Et_Z016"
            Case MODETIQ="69" : Play "Et_CB002"
            Case MODETIQ="70" : Play "Et_Z003A"
            Case MODETIQ="70A": Play "Et_Z003B"
            Case MODETIQ="71" : Play "Et_Z001D"
            Case MODETIQ="73" : Play "Et_Z144"
            Case MODETIQ="78" : Play "Et_Z051"
            Case MODETIQ="78A": Play "Et_Z051B"
            Case MODETIQ="78B": Play "Et_Z051A"
            Case MODETIQ="80" : Play "Et_CB003"
            Case MODETIQ="79" : Play "Et_Z001E"
            Case MODETIQ="60" : Play "Et_Z010"
            Case MODETIQ="61" : Play "Et_Z011"
            Case MODETIQ="61A": Play "Et_Z011A"
            Case MODETIQ="75" : Play "Et_Z013"
            Case MODETIQ="62" : Play "Et_Z011B"
            Case MODETIQ="92" : Play "Et_Z011C"
            Case MODETIQ="64" : Play "Et_Z010B"
            Case MODETIQ="88" : Play "Et_Z226"
            Case MODETIQ="88A": Play "Et_Z226B"
            Case MODETIQ="88B": Play "ET_Z226C"
            Case MODETIQ="88C": Play "ET_Z294"
            Case MODETIQ="96" : Play "ET_Z0345"
            Case MODETIQ="97" : Play "ET_0383"
            Case MODETIQ="89" : Play "Et_Z017"
            Case MODETIQ="90" : Play "Et_Z018"
            Case MODETIQ="21" : Play "Et_0357"
            Case MODETIQ="22" : Play "Et_0359"
            Case MODETIQ="22B": Play "Et_0359B"
            Case MODETIQ="22C": Play "Et_0404C"
            Case MODETIQ="22D": Play "ET_Z404D"
            Case MODETIQ="22E": Play "Et_0413"
            Case MODETIQ="18" : Play "Et_0299"
            Case MODETIQ="19" : Play "Et_0355"
            Case MODETIQ="98" : Play "Et_0391"
            Case MODETIQ="99" : Play "Et_0392"
            Case MODETIQ="100": Play "Et_0396"
            Case MODETIQ="101": Play "Et_Z0388"
            Case MODETIQ="102": Play "Et_Z0403"
            Case MODETIQ="104": Play "Et_Z415"
            Case MODETIQ="105": Play "Et_Z412"
            Case MODETIQ="106": Play "Et_Z388B"
            Case MODETIQ="107": Play "Et_Z318E"
            Case MODETIQ="108": Play "Et_Z0059"
            Case MODETIQ="109": Play "Et_Z359E"
            Case MODETIQ="110": Play "Et_Z359F"
            Case MODETIQ="112": Play "Et_Z326"
            Case MODETIQ="113": Play "Et_Z159A"
            Case MODETIQ="114": Play "Et_Z159B"
            Case MODETIQ="116": Play "Et_Z412A"
            Case MODETIQ="117": Play "ET_Z425"
            Case MODETIQ="118": Play "ET_Z425A"
            Case MODETIQ="119": Play "ET_Z422"
            Case MODETIQ="120": Play "ET_Z0428"
            Case MODETIQ="121": Play "ET_Z417A"
            Case MODETIQ="122": Play "ET_Z417B"
            Case MODETIQ="123": Play "Et_Z0434"
            Case MODETIQ="124": Play "Et_Z431V"
            Case MODETIQ="127": Play "Et_Z431P"
            Case MODETIQ="125": Play "Et_Z434B"
            Case MODETIQ="126": Play "Et_Z434C"
            Case MODETIQ="128": Play "Et_Z435"
            Case MODETIQ="129": Play "Et_Z159C"
            Case MODETIQ="130": Play "Et_Z435A"
            Case MODETIQ="131": Play "ET_Z417C"
            Case MODETIQ="132": Play "ET_Z397A"
            Case MODETIQ="133": Play "ET_Z397B"
          EndSwitch

          ;**** Caso seja necess rio utilizar o tipo de codigo de barras *******
          ;If MODETIQ="88"
          ;   Then Moveto "Answer"
          ;        ClearAll
          ;
          ;        View "Itens"
          ;        CoEdit "Answer"
          ;        Scan
          ;          GetRecord "Itens" [Answer->Codigo do Item] To DynArray Array_Item
          ;          If RetVal
          ;             Then [Codigo Concentrador]=Array_Item["Tipo Codigo_Barras"]
          ;          EndIf
          ;        EndScan
          ;        Do_It!
          ;        ClearAll
          ;
          ;        If MODETIQ="88"
          ;           Then Play "Et_Z226"
          ;           Else Play "Et_Z226B"
          ;        EndIf
          ;EndIf

          If MODETIQ="83"
             Then Moveto "Answer"
                  ClearImage

                  {Ask} {Answer}
                  Moveto [Codigo da Marca] TypeIn "Changeto Blank"
                  Do_It!
                  ClearImage

                  {Ask} {Answer}
                  Moveto [Codigo do Item ] Example "CodI"
                  Moveto [Codigo da Marca] TypeIn "Changeto " Example "Tam"

                  {Ask} {\\Sistemas\\Estoque\\Itens}
                  Moveto [Codigo do Item] Example "CodI"
                  Moveto [DTamanho      ] Example "Tam"
                  Do_It!
                  ClearAll

                  Play "Et_Z0243"
          EndIf

          If MODETIQ="68A"
             Then Moveto "Answer"
                  ClearImage
                  {Ask} {Answer}
                  Moveto [Comissao do Item     ] TypeIn "Changeto Blank"
                  Moveto [Preco Unitario       ] TypeIn "Changeto Blank"
                  Do_It!
                  ClearImage

                  View "\\Sistemas\\Vendas\\TbprIte"
                  Coedit "Answer"
                  Scan
                    Moveto "Answer"
                    For Tabela_Preco from 1 to 2
                      Switch
                        Case Tabela_Preco=1 : CODIGO_TABELA_PRECO="00001"
                        Case Tabela_Preco=2 : CODIGO_TABELA_PRECO="00002"
                      EndSwitch

                      PRECO=BlankNum()
                      Moveto "\\Sistemas\\Vendas\\TbprIte"
                      Moveto [Codigo da Tabela]
                      Locate CODIGO_TABELA_PRECO,[Answer->Codigo do Item]
                      If RetVal
                         Then PRECO=[Preco Unitario]
                      EndIf

                      Moveto "Answer"
                      Switch
                        Case Tabela_Preco=1 : [Preco Unitario       ]=PRECO  ; Pre‡o a Vista
                        Case Tabela_Preco=2 : [Comissao do Item     ]=PRECO  ; Pre‡o a Prazo
                      EndSwitch
                    EndFor
                  EndScan
                  Do_It!
                  Play "Et_CB004"
          EndIf

          If MODETIQ="81"
             Then DESC_VISTA = ""
                  DESC_PRAZO=""
                  TAXA_VISTA = BlankNum()
                  View "\\sistemas\\vendas\\Tbprcpg"
                  Moveto [Codigo da tabela]
                  LOCATE VSDGTABELA
                  If RetVal
                     Then DESC_VISTA = [Descricao CondPagto]
                          TAXA_VISTA = [Taxa Financeira]
                          Skip
                          If Not Eot()
                             Then If VSDGTABELA=[Codigo da tabela]
                                     Then DESC_PRAZO = [Descricao CondPagto]
                                  EndIf
                          EndIf
                  EndIf
                  Play "Et_0316"
          EndIf

          If MODETIQ="87"
             Then PRECO_VISTA = ""
                  PRECO_PRAZO = ""
                  TAXA_VISTA  = BlankNum()
                  View "\\sistemas\\vendas\\Tbprcpg"
                  Moveto [Codigo da tabela]
                  Locate VSDGTABELA
                  If RetVal
                     Then While VSDGTABELA=[Codigo da tabela]
                            If Search("VISTA",[Descricao CondPagto])>0
                               Then TAXA_VISTA = [Taxa Financeira]
                                    QuitLoop
                            EndIf
                            Skip
                            If Eot() Then QuitLoop EndIf
                          EndWhile
                  EndIf
                  Play "Et_Z0286"
          EndIf
     Else DispositivoEtq()
          If OK="" Then Loop EndIf                          ; Report

          AGUARDE("Aguarde, Gerando Relat¢rio")
          If UTILIZA_PRECO
             Then Atribuir_Precos()
          EndIf

          {Ask} {Re_0010} Check
          Do_It!
          ClearAll

          Empty("Answer")

          View "Answer"
          CoEdit "Re_0010"
          Scan
            CopyToArray REG
            Moveto "Answer"
            For I From 1 to [Re_0010->Quantidade]
              End
              Down
              CopyFromArray Reg
            EndFor
            Moveto "Re_0010"
          EndScan
          Do_It!
          ClearAll
          
          If MODETIQ="44" Then DATA = AlinhM(StrVal(Month(Today())),2)+"/"+SubStr(StrVal(Year(Today())),3,2) EndIf   

          If VSDGOPRELCODALFDIG  = "1" Then Sort "Answer" On "Codigo do Item"     EndIf
          If VSDGOPRELCODALFDIG  = "2" Then Sort "Answer" On "Descricao do Item"  EndIf

          If MODETIQ="01"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010"  "1"  "Answer" "R" EndIf
          If MODETIQ="03"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010"  "3"  "Answer" "R" EndIf
          If MODETIQ="04"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010"  "4"  "Answer" "R" EndIf
          If MODETIQ="05"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010"  "5"  "Answer" "R" EndIf
          If MODETIQ="06"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010"  "6"  "Answer" "R" EndIf
          If MODETIQ="07"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010"  "7"  "Answer" "R" EndIf
          If MODETIQ="08"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010"  "8"  "Answer" "R" EndIf
          If MODETIQ="09"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010"  "9"  "Answer" "R" EndIf
          If MODETIQ="20"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010"  "13" "Answer" "R" EndIf
          If MODETIQ="23"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010"  "11" "Answer" "R" EndIf
          If MODETIQ="24"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010"  "10" "Answer" "R" EndIf
          If MODETIQ="26"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010"  "12" "Answer" "R" EndIf
          If MODETIQ="27"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010"  "14" "Answer" "R" EndIf
          If MODETIQ="28"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010b" "14" "Answer" "R" EndIf
          If MODETIQ="29"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010b" "2"  "Answer" "R" EndIf
          If MODETIQ="30"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010b" "3"  "Answer" "R" EndIf
          If MODETIQ="31"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010b" "4"  "Answer" "R" EndIf
          If MODETIQ="32"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010b" "5"  "Answer" "R" EndIf
          If MODETIQ="33"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010b" "6"  "Answer" "R" EndIf
          If MODETIQ="34"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010b" "8"  "Answer" "R" EndIf
          If MODETIQ="39"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010b" "9"  "Answer" "R" EndIf
          If MODETIQ="40"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010"  "R"  "Answer" "R" EndIf
          If MODETIQ="41"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010b" "R"  "Answer" "R" EndIf
          If MODETIQ="42"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010c" "R"  "Answer" "R" EndIf
          If MODETIQ="43"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010c" "1"  "Answer" "R" EndIf
          If MODETIQ="44"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010b" "10" "Answer" "R" EndIf
          If MODETIQ="50"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010d" "R"  "Answer" "R" EndIf
          If MODETIQ="55"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010d" "1"  "Answer" "R" EndIf
          If MODETIQ="58"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010b" "11" "Answer" "R" EndIf
         ;If MODETIQ="63"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010b" "12" "Answer" "R" EndIf
          If MODETIQ="65"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010b" "13" "Answer" "R" EndIf
          If MODETIQ="67"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010c" "7"  "Answer" "R" EndIf
          If MODETIQ="72"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010d" "2"  "Answer" "R" EndIf
          If MODETIQ="74"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010d" "3"  "Answer" "R" EndIf
          If MODETIQ="76"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010d" "4"  "Answer" "R" EndIf
          If MODETIQ="77"  Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010d" "5"  "Answer" "R" EndIf
          
          
          If MODETIQ="02" And SYS_CODIGO_CLIENTE<>"0112"
             Then CopyReport "\\Base\\Sistemas\\Estoque\\RE_0010"  "2"  "Answer" "R"
          EndIf

          If MODETIQ="74" or MODETIQ="76" or MODETIQ="77"
             Then View "\\sistemas\\vendas\\Tbprcpg"
                  Moveto [Codigo da tabela]
                  LOCATE VSDGTABELA
                  If RetVal
                     Then DESC_VISTA = [Descricao CondPagto]
                          TAXA_VISTA = [Taxa Financeira]
                          Skip
                          If VSDGTABELA=[Codigo da tabela]
                             Then DESC_PRAZO = [Descricao CondPagto]
                          EndIf
                     Else DESC_VISTA = ""
                          DESC_PRAZO = ""
                          TAXA_VISTA = BlankNum()
                  EndIf
          EndIF                                                           

          If MODETIQ="67" Or MODETIQ="67A" 
             Then ;----- Sol. 21727, foi pedido para remover os 0 a esquerda do item ---------
                  AUX_EMPRESA = "0001"
                  NR = NRecords("Answer")
                  Coedit "Answer"
                  Scan
                    Barra(NR, RecNo())
                    Aguarde("Aguarde, Ajustando os Itens da Etiqueta "+BARRA_STRING)

                    COD_ITE = [Codigo do Item]
                    GetRecord "\\Sistemas\\Estoque\\Estqprm" AUX_EMPRESA,COD_ITE To REG_ESTQ
                    If RetVal
                       Then PR = REG_ESTQ["Ponto de Reposicao"]
                            If PR = 0 Then PR = BlankNum() EndIf
                       Else PR = BlankNum()
                    EndIf

                    For i From 1 To 10
                      If SubStr(COD_ITE,i,1)<>"0"
                         Then COD_ITE = SubStr(COD_ITE,i,10)
                              QuitLoop
                      EndIf
                    Endfor

                    Moveto [Codigo do Item] CtrlBackSpace
                    [Codigo do Item] = COD_ITE

                    Moveto [Peso Liquido  ] CtrlBackSpace
                    [Peso Liquido  ] = PR
                  EndScan
                  Do_iT!
                  ClearImage
          EndIf

          If (MODETIQ="02" And SYS_CODIGO_CLIENTE="0112") Or MODETIQ="67A"
             Then Switch
                    Case MODETIQ="02"  : Play "ET_0112"
                    Case MODETIQ="67A" : Play "ET_0102"
                    OtherWise          : Mensagem("N„o h  uma etiqueta definida!")
                  EndSwitch
             Else IMPRIREL("Answer","R")
          EndIf
  EndIf

  Delete "Answer"
  ConfOpcoes("Gravar")

  QuitLoop            
EndWhile
ClearAll    

CoEdit "Re_0010"
If FORMU=1                          
   Then PickForm OPCAO_FORM_PADRAO
   Else PickForm "1"
	 EndIf
EndProc  
                          
;************************************
;* ROTINA PARA Ler/Gravacao Opcao   *
;************************************
Proc ConfOpcoes(Opcao)
Private Opcao

Switch
  Case Opcao="Ler":
       ModeloRelatoriosCarregaLista()
       
       Array Array_OpEtiquetas[ArraySize(Array_OpModeloRelatorios)]
       For i From 1 To ArraySize(Array_OpModeloRelatorios)
         Array_OpEtiquetas[i] = Array_OpModeloRelatorios[i]
       Endfor
       VSDGQUANTIDADE = 1
       
       LeiaINI("RE_0010.ini","VSDGOPETIQUETA.S.1,VSDGOPRELCODALFDIG.S.1,VSDGNOMOPRELCODALFDIG.S.null,VSDGSELECAO.S.null,OPCAO_FORM_PADRAO.S.null")
       Seleciona_Etiquetas()

       ; *** Ajusta a ultima op‡Æo escolhida da Etiqueta ***
       For wi From 1 to ArraySize(Array_Etiquetas)
         If RTrim(SubStr(Array_Etiquetas[wi],1,3))=VSDGOPETIQUETA
            Then VSDGOPETIQUETA=wi
                 QuitLoop
         EndIf
       EndFor
       
  Case Opcao="Ler_Form":
       LeiaINI("RE_0010.fr","OPCAO_FORM_PADRAO.S.null,FORMU.N.1")
       
  Case Opcao="Gravar":
       Grava_Etiquetas()
       LINHA =         GravaExpressao("[Variaveis Modelo Etiqueta]","T","")
       LINHA = LINHA + GravaExpressao("VSDGOPETIQUETA","S",MODETIQ)
       LINHA = LINHA + GravaExpressao("VSDGOPRELCODALFDIG","S",VSDGOPRELCODALFDIG)
       LINHA = LINHA + GravaExpressao("VSDGSELECAO","S",VSDGSELECAO)
       LINHA = LINHA + GravaExpressao("OPCAO_FORM_PADRAO","S",OPCAO_FORM_PADRAO)
       FileWrite "RE_0010.ini" From LINHA
       
  Case Opcao="Gravar_Form":
       LINHA =         GravaExpressao("[Opcao de Formulario]","T","")
       LINHA = LINHA + GravaExpressao("OPCAO_FORM_PADRAO","S",OPCAO_FORM_PADRAO)
       LINHA = LINHA + GravaExpressao("FORMU","N",StrVal(FORMU))
       FileWrite "RE_0010.fr" From LINHA       
EndSwitch
EndProc

;*******************************************************************************
;* Rotina p/ Carregar Parƒmetro                                                *
;*******************************************************************************
Proc Variaveis_Impressao(PARAM)
Private PARAM

Switch
  Case PARAM="Salvar"   : ANT_NUMCOPIA          = NUMCOPIA         
                          ANT_DISPOSITIVO_OPCAO = DISPOSITIVO_OPCAO         
                          ANT_VSDGIMPOPCAO      = VSDGIMPOPCAO     
                                                      
  Case PARAM="Carregar" : NUMCOPIA              = ANT_NUMCOPIA         
                          DISPOSITIVO_OPCAO     = ANT_DISPOSITIVO_OPCAO    
                          PDFZEBRA              = False                       
                          VSDGIMPOPCAO          = ANT_VSDGIMPOPCAO                                
EndSwitch

EndProc ;Variaveis_Impressao()      
                                 
;*******************************************************************************
;* Rotina para Recarregar Registros                                            *
;*******************************************************************************
Proc Recarrega()

DynArray ITEM[]
CONT_ITEM = 0

NR=NRecords("Re_0010")

View "Itens"
Coedit "Re_0010"
Scan
  Barra(NR, RecNo())
  Aguarde("Aguarde, Ajustando Itens"+BARRA_STRING)

  GetRecord "Itens" [Codigo do Item] To REG_ITEM
  If Not RetVal
     Then CONT_ITEM = CONT_ITEM + 1
          ITEM[CONT_ITEM] = [Codigo do Item]
          Loop
  EndIf

  Moveto [Lookup_Item]
  CtrlBackSpace
  [] = REG_ITEM["Codigo do Item"]

EndScan
Do_It!
ClearAll

If CONT_ITEM > 0
   Then CONT_CHAR = 0
        MSG = "H  itens na rela‡„o que n„o existem no cadastro://"
        For i From 1 To CONT_ITEM
          If i <> 1
             Then CONT_CHAR = CONT_CHAR + 12
                  If CONT_CHAR > 69
                     Then CONT_CHAR = 10
                          MSG = MSG + "\n"
                          MSG = MSG + ITEM[i]
                     Else MSG = MSG + ", " + ITEM[i]
                  EndIf
             Else CONT_CHAR = CONT_CHAR + 10
                  MSG = MSG + ITEM[i]
          EndIf
        EndFor
        MSG = MSG + "//Deseja exclu¡-los ?"
        ConfGeral(MSG)
        If Ok="S"
           Then CoEdit "Re_0010"
                For i From 1 To CONT_ITEM
                  Home
                  Moveto [Codigo do Item]
                  Locate ITEM[i]
                  If RetVal
                     Then Del
                  EndIf
                EndFor
                Do_It!
                ClearAll
        EndIf
EndIf

EndProc ;Recarrega()

;*******************************************************************************
;* Rotina para imprimir etiqueta com simbologia                                *
;*******************************************************************************
Proc Etiqueta_Simbologia()                                
Private IMP_ETQ,MSG

If Ok="V"
   Then Mensagem("Impress„o dispon¡vel apenas para impressora t‚rmica!")
        Return
EndIf
   
MSG = "N„o h  uma etiqueta definida nos parametros para utiliza‡„o!"
If Carrega_Impressora("")
   Then If CARREGA_IMPRESSORA
           Then Switch
                  Case MODETIQ="22A" : Play "ET_Z359A"
                  Case MODETIQ="115" : Play "ET_Z388C"  
                  Case MODETIQ="96A" : Play "ET_Z345A"
                  OtherWise          : Mensagem(MSG)
                EndSwitch  
           Else Mensagem(MSG)         
       EndIf
EndIf      

EndProc ;Etiqueta_Simbologia()

;*******************************************************************************
;* Rotina para verificar a data do arquivo                                     *
;*******************************************************************************
Proc Verifica_Data_Arquivo()
Private ARQUIVO,DATA

ARQUIVO = PrivDir()+"Simbol.ini"
DATA    = Today()

If Not IsFile(ARQUIVO)
   Then Return
EndIf
                        
;---- Conferindo o Nome do Arquivo ---------------------------------------------                        
PosI = Search("\\",ARQUIVO)
If PosI > 0
   Then AUX_ARQ = ARQUIVO
        While PosI > 0
          AUX_ARQ = SubStr(AUX_ARQ,PosI+1,Len(AUX_ARQ))
          PosI=Search("\\",AUX_ARQ)
        EndWhile
   Else AUX_ARQ = ARQUIVO      
EndIf 
   
   
MSG   = ""               
LINHA = ""
DTA   = BlankDate()

{Tools} {Info} {Inventory} {Files} TypeIn ARQUIVO Enter
Scan For [Name]<>"" 
  If Upper([Name])=AUX_ARQ                     
     Then If DATA<>[Date]
             Then Deleta_Arquivo(ARQUIVO)
                  QuitLoop
          EndIf
  EndIf   
EndScan
ClearImage
       
EndProc ;Verifica_Data_Arquivo()

;*******************************************************************************
;* Rotina para controlar Edicao do registro                                    *
;*******************************************************************************
Proc Controla_EdicaoC()
Switch
  Case FORMU=3 : DIGITA3()
  Case FORMU=7 : DigitaTec()
  OtherWise    : DIGITA()
EndSwitch
If RecordStatus("Locked") Then UnLockRecord EndIf
Endproc

;*******************************************************************************
;* Rotina Principal                                                            *
;*******************************************************************************
AutoLib="\\Sistemas\\Cadastro\\Bibliot,\\Sistemas\\Cadastro\\Bib_Show,\\Sistemas\\Cadastro\\Bib_Proc"
If Not IsAssigned(SYS_CODIGO_CLIENTE)  Then SYS_CODIGO_CLIENTE=""    EndIf
If Not IsAssigned(SYS_CLIENTE_CONFEC)  Then SYS_CLIENTE_CONFEC=""    EndIf

Sys_Valor()

If SYS_CLIENTE_CONFEC <> "" 
   Then Array Array_TM[12]
EndIf

TAMANHO_SIMBOLOGIA = "P"
CARREGA_SIMBOLOGIA = False       
TIPO_IMPRESSORA    = ""
If SYS_CODIGO_CLIENTE="0345" Or SYS_CODIGO_CLIENTE="0359" Or 
   SYS_CODIGO_CLIENTE="0388" Or SYS_CODIGO_CLIENTE="0427" Or
   SYS_CODIGO_CLIENTE="0408" 
   Then CARREGA_SIMBOLOGIA=True
        Switch
          Case SYS_CODIGO_CLIENTE="0359" : TIPO_IMPRESSORA = "ZEBRA"
          Case SYS_CODIGO_CLIENTE="0345" : TIPO_IMPRESSORA = "BEMATECH"
          Case SYS_CODIGO_CLIENTE="0388" : TIPO_IMPRESSORA = "BEMATECH"
          Case SYS_CODIGO_CLIENTE="0427" : TIPO_IMPRESSORA = "BEMATECH"
          Case SYS_CODIGO_CLIENTE="0408" : TIPO_IMPRESSORA = "ZEBRA"
        EndSwitch
EndIf     
                 
If CARREGA_SIMBOLOGIA
   Then If SYS_CODIGO_CLIENTE="0345" Or SYS_CODIGO_CLIENTE="0388" Or SYS_CODIGO_CLIENTE="0427"
           Then Verifica_Data_Arquivo()
        EndIf   
        IMP_FILE=PrivDir()+"ETQ_RE10.SC"
        If IsFile(IMP_FILE) 
           Then LeiaINI(IMP_FILE,"NUMCOPIA.N.null")
                LeiaINI(IMP_FILE,"DISPOSITIVO_OPCAO.S.null")
                LeiaINI(IMP_FILE,"VSDGIMPOPCAO.S.null")
                LeiaINI(IMP_FILE,"Seta_Printer.S.null")
        
                If Seta_Printer=""
                   Then LeiaINI(IMP_FILE,"Sys_Set_Porta.S.null")
                        Seta_Printer=Sys_Set_Porta
                EndIf
        
                If NUMCOPIA=BlankNum() Or DISPOSITIVO_OPCAO="" Or VSDGIMPOPCAO=""
                   Then Deleta_Arquivo(IMP_FILE)
                   Else Variaveis_Impressao("Salvar")
                EndIf
        EndIf
EndIf
                                
;---- M‚todo p/ Localizar o Item -----------------------------------------------
If IsFile(PrivDir()+"RE_0010.ini")
   Then LeiaINI(PrivDir()+"RE_0010.ini","LOCALIZA_CODIGO.S.null")
EndIf
If Not IsAssigned(LOCALIZA_CODIGO) Then LOCALIZA_CODIGO=""  EndIf
ModoLocalizarItem("","","")

view"\\sistemas\\vendas\\Tbprite"
view"\\sistemas\\vendas\\Tbprcpg"

ConfOpcoes("Ler")
FORMU=1
OPCAO_FORM_PADRAO = "F"
ConfOpcoes("Ler_Form")

;---- Para Re-Carregar Itens conforme Cadastro ---------------------------------
If Not IsEmpty("Re_0010")
   Then Recarrega()
EndIf
;-------------------------------------------------------------------------------

CoEdit "Re_0010"
PickForm OPCAO_FORM_PADRAO
;FORMU=1
;If SYS_CLIENTE_CONFEC <> "" Then FORMU=4  OPCAO_FORM_PADRAO = "6" EndIf
While True
  CHAVE()
  If CHAVE=9 Then QuitLoop EndIf
  Controla_EdicaoC()
EndWhile
Do_It!
ClearAll

Release Vars All
Release Procs All
