;** P_Fatura *******************************************************************
;*  Configuracao de Paramentos p/ Fatura/Nota                                  *
;*******************************************************************************
;Autor: Visao/Vise
;Desenvolvido    : 21/08/2000 por Douglas Rodrigues
;Ultima Alteracao: 06/06/2006 por Anivel Augusto Rodrigues
;Motivo Alteracao: Comissao Item
;Ultima Alteracao: 05/09/2007 por Anivel Augusto Rodrigues
;Motivo Alteracao: Controle Descto Unitario
;Ultima Alteracao: 05/12/2007 por Anivel Augusto Rodrigues
;Motivo Alteracao: Inclusao Docto NF/ROM/DUP
;Ultima Alteracao: 24/11/2008 por Anivel Augusto Rodrigues
;Motivo Alteracao: Inclusao Gera_Fatura_Igual_OF
;Ultima Alteracao: 07/05/2009 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Conta<>Empresa
;Ultima Alteracao: 07/10/2009 por Bruno Carvalho
;Motivo Alteracao: Inclusao Script Boleto
;Ultima Alteracao: 22/02/2010 por Bruno Carvalho
;Motivo Alteracao: Inclusao I_DATA_BASE
;Ultima Alteracao: 18/05/2010 por Anivel Augusto Rodrigues
;Motivo Alteracao: Inclusao NFE Normal/Scan
;Ultima Alteracao: 13/08/2010 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes nÆo obrigatoriedade tipos documentos
;Ultima Alteracao: 12/05/2011 por Karina Andrade
;Motivo Alteracao: Inclusao Bloqueio Cancelamento
;Ultima Alteracao: 25/05/2011 por Bruno Carvalho
;Motivo Alteracao: InclusÆo Script_Impressao_Rom2 
;Ultima Alteracao: 17/06/2011 por Karina Andrade
;Motivo Alteracao: Ajustes TECLAS
;Ultima Alteracao: 22/07/2011 por Karina Andrade
;Motivo Alteracao: Ajustes Gera Vendas A Vista automatico e Duplicata A Vista
;Ultima Alteracao: 09/11/2011 por Karina Andrade
;Motivo Alteracao: Inclusao Bloqueio Altera‡Æo
;Ultima Alteracao: 23/04/2012 por Karina Andrade
;Motivo Alteracao: Ajustes Gera Vendas A Vista automatico e Duplicata A Vista
;Ultima Alteracao: 24/04/2012 por Bruno Carvalho
;Motivo Alteracao: OmissÆo dos campos de controle de numero de itens e observa‡Æo
;Ultima Alteracao: 25/04/2012 por Bruno Carvalho
;Motivo Alteracao: Inclusao "Utiliza Bloqueio SPC"
;Ultima Alteracao: 01/08/2012 por Bruno Carvalho
;Motivo Alteracao: AJustes, deslocamento do campo BLOQUEIA_REEMISAO para o final da segunda tela.
;Ultima Alteracao: 20/12/2012 por Bruno Carvalho
;Motivo Alteracao: Inclusao "Utiliza Valor de Entrada"
;Ultima Alteracao: 04/01/2013 por Anivel Augusto Rodrigues
;Motivo Alteracao: Inclusao "Utiliza Restri‡Æo CNPJ/CPF"
;Ultima Alteracao: 09/04/2013 por Kamila Gomes
;Motivo Alteracao: Inclusao "Tipo_Consulta_Cliente"
;Ultima Alteracao: 28/08/2013 por Bruno Carvalho                           
;Motivo Alteracao: Ajustes UTILIZA_ENTRADA
;Ultima Alteracao: 24/09/2013 por Karina Andrade
;Motivo Alteracao: Inclusao Bloqueio ImpressÆo 2¦ via
;Ultima Alteracao: 10/09/2015 por Kamila Gomes
;Motivo Alteracao: Adicionado param. Expedi‡Æo com Etiquetas
;Ultima Alteracao: 09/12/2015 por Anivel Augusto Rodrigues
;Motivo Alteracao: Inclusao Utiliza_Titulo_Credito N/T         
;Ultima Alteracao: 29/02/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Utiliza condicao e Forma de Pagamento do cliente s¢ Sim/NÆo
;Ultima Alteracao: 03/03/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes tirar sombra janela e layout
;Ultima Alteracao: 24/06/2016 por Kamila Gomes
;Motivo Alteracao: Ajustes Page Up das telas    
;Ultima Alteracao: 12/09/2016 por Bruno Carvalho
;Motivo Alteracao: Adicionado VSD_BLOQ_ITEM p/ bloquear digita‡Æo do item se informado na nota no ato da venda
;Ultima Alteracao: 09/11/2016 por Bruno Carvalho
;Motivo Alteracao: Adicionado VSD_DADOS_ITEM_RESUMO p/ perimitir digita‡Æo dos itens de forma mais resumida
;Ultima Alteracao: 01/02/2017 por Rafael Matos
;Motivo Alteracao: Adicionado VSD_OF para informar o script para emissÆo das Ordens de Faturamento
;Ultima Alteracao: 27/07/2017 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes nÆo usar condi‡Æo pagamento por item
;Ultima Alteracao: 15/05/2017 por Bruno Carvalho
;Motivo Alteracao: Removido "NF Formul rio", "DP Formul rio", "NF-e Scan", "DP NF-e Scan", "Multiplas Base de Calculo ICMS",
;                  "Substitui‡Æo ICMS" e "Script Nota Fiscal"  
;Ultima Alteracao: 15/05/2017 por Bruno Carvalho
;Motivo Alteracao: Adicionado "NFS-e" (NSEN) e "DUP NFS-e" (NSEN) 
                                           
;*******************************************************************************
;* Rotina de Controle de Paramentros                                           *
;*******************************************************************************
Proc PARAM_DIALOG(Disparo,Campo,Evento,Elemento)
Temp=True

TECLA   =""
MSGCAMPO=""
If INICIO_DIALOGO
   Then Campo=NewCampo
        INICIO_DIALOGO=False
EndIf

If Disparo="OPEN"
   Then AoCriarShowDialog()
        TiraSombraShowDialog()
EndIf

If Disparo="EVENT" And DynArraySize(Evento)>0 And Evento["Type"]="KEY" Then
   Temp=False
   Switch
     Case (Evento["KeyCode"] = -6 Or Evento["KeyCode"] = -147):
          If CHAVE=0
             Then Confirma()
                  If OK="S"
                     Then Del
                          Show_Tela=1
                          CancelDialog
                          Chave=9
                  EndIf
           EndIf
       Case Evento["KeyCode"] = -59:
            If Campo="I_EMPRESA" Or
               Campo="I_DESTINACAO" Or
               Campo="I_TABELA_PRECO" Or
               Campo="I_TRANSPORTADORA" Or
               Campo="I_CONTA_CAIXA" Or
               Campo="I_FORMA_PAGTO" Or
               Campo="I_DOC_ROM"     Or
               Campo="I_DOC_NFEN"    Or
               Campo="I_DOC_DUPNFEN" Or
               Campo="I_DOC_NSEN"    Or
               Campo="I_DOC_DUPNSEN" 
               Then
                    Dynarray WinArray5[]
                    Window Handle Dialog to JANELA
                    Window GetAttributes JANELA To WinArray5
                    WinArray5["FLOATING"]=False
                    Window SetAttributes JANELA From WinArray5

                    If Campo="I_EMPRESA"        Then Moveto [Codigo_Empresa       ] EndIf
                    If Campo="I_DESTINACAO"     Then Moveto [Codigo_Destinacao    ] EndIf
                    If Campo="I_TABELA_PRECO"   Then Moveto [Tabela_Preco         ] EndIf
                    If Campo="I_TRANSPORTADORA" Then Moveto [Codigo_Transportadora] EndIf
                    If Campo="I_CONTA_CAIXA"    Then Moveto [Codigo_Conta_Caixa   ] EndIf
                    If Campo="I_FORMA_PAGTO"    Then Moveto [Codigo_Forma_Pagto   ] EndIf

                    If Campo="I_DOC_ROM"        Then Moveto [Rom_Codigo do Documento ] EndIf
                    If Campo="I_DOC_NFEN"       Then Moveto [NFEN_Codigo do Docto    ] EndIf
                    If Campo="I_DOC_DUPNFEN"    Then Moveto [NFEN Dup_Codigo do Docto] EndIf
                    If Campo="I_DOC_NSEN"       Then Moveto [NSEN_Codigo do Docto    ] EndIf
                    If Campo="I_DOC_DUPNSEN"    Then Moveto [NSEN Dup_Codigo do Docto] EndIf
                    ConsultaF1()

                    Window Select JANELA
                    WinArray5["FLOATING"]=True
                    Window SetAttributes JANELA From WinArray5

                    echo Normal
                    echo off


                    Switch
                      Case Campo="I_EMPRESA":
                           VSD_EMPRESA=[Codigo_Empresa]
                      Case Campo="I_DESTINACAO":
                           VSD_DESTINACAO=[Codigo_Destinacao]
                      Case Campo="I_TABELA_PRECO":
                           VSD_TABELA_PRECO=[Tabela_Preco]
                      Case Campo="I_TRANSPORTADORA":
                           VSD_TRANSPORTADORA=[Codigo_Transportadora]
                      Case Campo="I_CONTA_CAIXA":
                           VSD_CONTA_CAIXA=[Codigo_Conta_Caixa]
                      Case Campo="I_FORMA_PAGTO":
                           VSD_FORMA_PAGTO=[Codigo_Forma_Pagto]
                      Case Campo="I_DOC_ROM":
                           VSD_DOC_ROM=[Rom_Codigo do Documento]
                      Case Campo="I_DOC_NFEN":
                           VSD_DOC_NFEN=[NFEN_Codigo do Docto]
                      Case Campo="I_DOC_DUPNFEN":
                           VSD_DOC_DUPNFEN=[NFEN Dup_Codigo do Docto]                                    
                      Case Campo="I_DOC_NSEN":
                           VSD_DOC_NSEN=[NSEN_Codigo do Docto]
                      Case Campo="I_DOC_DUPNSEN":
                           VSD_DOC_DUPNSEN=[NSEN Dup_Codigo do Docto]         
                    EndSwitch
           EndIf
      Case Evento["KeyCode"] = 27:
           Switch
             Case Campo="I_EMPRESA"                 :
                  Del          ; Registro Novo
                  Finalizar=True
                  Show_Tela=1
                  CancelDialog
             Case Campo="I_DESTINACAO"              :
                  If Chave=1
                     Then Del  ; Registro Novo
                     Else Undo ; Registro Existente
                  EndIf
                  Chave=9
                  Show_Tela=1
                  CancelDialog
             Case Campo="I_TABELA_PRECO"          : Campo="I_DESTINACAO"
             Case Campo="I_TRANSPORTADORA"        : Campo="I_TABELA_PRECO"
             Case Campo="I_CONTA_CAIXA"           : Campo="I_TRANSPORTADORA"
             Case Campo="I_FORMA_PAGTO"           : Campo="I_CONTA_CAIXA"

             Case Campo="I_DOC_ROM"               : Campo="I_FORMA_PAGTO"
             Case Campo="I_DOC_NFEN"              : Campo="I_DOC_ROM"
             Case Campo="I_DOC_DUPNFEN"           : Campo="I_DOC_NFEN"
             Case Campo="I_DOC_NSEN"              : Campo="I_DOC_DUPNFEN"
             Case Campo="I_DOC_DUPNSEN"           : Campo="I_DOC_NSEN"
             Case Campo="I_DATAS_VENCTOS"         : Campo="I_DOC_DUPNSEN"
             Case Campo="I_DATA_BASE"             : Campo="I_DATAS_VENCTOS"
             ;Case Campo="I_1"                    : Campo=""
             ;Case Campo="I_2"                    : Campo=""
             Case Campo="I_PEDIDO"                : Campo="I_DATA_BASE"
             Case Campo="I_ORCAMENTO"             : Campo="I_PEDIDO"
             Case Campo="I_ORDEM_SERVICO"         : Campo="I_ORCAMENTO"
             Case Campo="I_CUPOM_FISCAL"          : Campo="I_ORDEM_SERVICO"
             Case Campo="I_VISITA"                : Campo="I_CUPOM_FISCAL"
             Case Campo="I_LIMITE_CREDITO"        : Campo="I_VISITA"
             Case Campo="I_DIAS_ATRASO"           : Campo="I_LIMITE_CREDITO"
             Case Campo="I_BLOQAUT"               : Campo="I_DIAS_ATRASO"
             Case Campo="I_EMERC"                 : Campo="I_BLOQAUT"
             Case Campo="I_FATURA_NUMERO"         : Campo="I_EMERC"

             Case Campo="I_AVISTAAUTOMAT"         : Campo="I_FATURA_NUMERO"
             Case Campo="I_APRAZOAUTOMAT"         : Campo="I_AVISTAAUTOMAT"
             Case Campo="I_AVISTADUPLIC"          : Campo="I_APRAZOAUTOMAT"
             Case Campo="I_DUPLIC_NUMERO"         : Campo="I_AVISTADUPLIC"
             Case Campo="I_FORMA_TXJUROS"         : Campo="I_DUPLIC_NUMERO"
             Case Campo="I_TXJUROS"               : Campo="I_FORMA_TXJUROS"
             Case Campo="I_COMIS_VENCTO"          : Campo="I_TXJUROS"
             Case Campo="I_CHEQUES"               : Campo="I_COMIS_VENCTO"
             Case Campo="I_NLINF"                 : Campo="I_CHEQUES"
             Case Campo="I_NVIAS_ROMANEIO"        : Campo="I_NLINF"
             Case Campo="I_TRANSFERENCIA"         : Campo="I_NVIAS_ROMANEIO"
             Case Campo="I_UTILIZA_COMIS_VEND"    : Campo="I_TRANSFERENCIA"
             Case Campo="I_UTILIZA_COMIS_VEND_RT" : Campo="I_UTILIZA_COMIS_VEND"
             Case Campo="I_RATEIO_COMIS_VEND"     : Campo="I_UTILIZA_COMIS_VEND_RT"
             Case Campo="I_ROMANEIO"              :
                  NewCampo="I_DESTINACAO"
                  Show_Tela=1
                  CancelDialog 
             Case Campo="I_ROMANEIO2"             : Campo="I_ROMANEIO"
             Case Campo="I_NPROMISSORIA"          : Campo="I_ROMANEIO2"
             Case Campo="I_CARNE"                 : Campo="I_NPROMISSORIA"
             Case Campo="I_BOLETO"                : Campo="I_CARNE"
             Case Campo="I_SENTREGA"              : Campo="I_BOLETO"
             Case Campo="I_PENTREGA"              : Campo="I_SENTREGA"
             
             Case Campo="I_DESCTO"                : Campo="I_PENTREGA"
             Case Campo="I_TPDESCTO"              : Campo="I_DESCTO"
             Case Campo="I_TXDESCTO"              : Campo="I_TPDESCTO"

             Case Campo="I_DESCUNIT"              : Campo="I_DESCTO"
             Case Campo="I_DESCTOUNIT"            : Campo="I_DESCUNIT"
             Case Campo="I_TPDESCTOUNIT"          : Campo="I_DESCTOUNIT"
             Case Campo="I_TXDESCTOUNIT"          : Campo="I_TPDESCTOUNIT"

             Case Campo="I_BLOQUEIA_NEG"          : Campo="I_DESCTOUNIT"
             Case Campo="I_UTILIZA_BXPARCIAL"     : Campo="I_BLOQUEIA_NEG"
             Case Campo="I_UTILIZACDBARRA"        :
                  If VSD_BLOQUEIA_NEG="S"
                     Then Campo="I_UTILIZA_BXPARCIAL"
                     Else Campo="I_BLOQUEIA_NEG"
                  Endif
             Case Campo="I_COR_TECIDO"            : Campo="I_UTILIZACDBARRA"
             Case Campo="I_TAMANHO"               : Campo="I_COR_TECIDO"
             Case Campo="I_COMIS_ITEM"            : Campo="I_TAMANHO"
             Case Campo="I_ALTERA_PRECO"          : Campo="I_COMIS_ITEM"
             Case Campo="I_IMPOSTOS"              : Campo="I_ALTERA_PRECO"
             Case Campo="I_VOLUMES"               : Campo="I_IMPOSTOS"
             Case Campo="I_COMIS_MARCA"           : Campo="I_VOLUMES"
             Case Campo="I_TPITEM"                : Campo="I_COMIS_MARCA"
             Case Campo="I_CPITEM"                : Campo="I_TPITEM"
             Case Campo="I_ULTCTT"                : Campo="I_CPITEM"
             Case Campo="I_TABPR_CLIENTE"         : Campo="I_ULTCTT"
             Case Campo="I_TABPR_REPRES"          : Campo="I_TABPR_CLIENTE"
             Case Campo="I_TABPR_CPAGTO"          : Campo="I_TABPR_REPRES"
             Case Campo="I_BLOQUEIA_CANCEL"       : Campo="I_TABPR_CPAGTO"
             Case Campo="I_BLOQUEIA_ALTERA"       : Campo="I_BLOQUEIA_CANCEL"
             Case Campo="I_BLOQUEIA_NF"           : Campo="I_BLOQUEIA_ALTERA"
             Case Campo="I_BLOQUEIA_IMP"          : Campo="I_BLOQUEIA_NF"
             Case Campo="I_ENTRADA"               : Campo="I_BLOQUEIA_IMP" 
             Case Campo="I_NBLOQUEIO_SPC"         : Campo="I_ENTRADA"
             Case Campo="I_RESTR_CNPJCPF"         : Campo="I_NBLOQUEIO_SPC"
             Case Campo="I_CONDPAGTO"             : Campo="I_RESTR_CNPJCPF"
             Case Campo="I_TPCONS_CLIENTE"        : Campo="I_CONDPAGTO"
             Case Campo="I_EXPEDET"               : Campo="I_TPCONS_CLIENTE"
             Case Campo="I_TITCRED"               :
                  NewCampo="I_ROMANEIO"
                  Show_Tela=2
                  CancelDialog
             Case Campo="I_BLOQ_ITEM"             : Campo="I_TITCRED"
             Case Campo="I_DADOS_ITEM_RESUMO"     : Campo="I_BLOQ_ITEM"
             Case Campo="I_OF"                    : Campo="I_DADOS_ITEM_RESUMO"
           EndSwitch
      Case Evento["KeyCode"] = 13:
           Switch
             Case Campo="I_EMPRESA":
                  VSD_EMPRESA=ControlValue("I_EMPRESA")
                  If Not IsBlank(VSD_EMPRESA)
                     Then VSD_EMPRESA=Alinhm(VSD_EMPRESA,4)
                          Moveto [Codigo_Empresa]
                          Ativa_Lookup()
                          Locate VSD_EMPRESA
                          If Not RetVal
                             Then Mensagem("Codigo n„o Cadastrado !")
                                  KeyPress "ESC"
                             Else VSD_EMPRESA=[Codigo da Empresa]
                                  KeyPress "ESC"
                                  Chave()
                                  Campo="I_DESTINACAO"
                          EndIf
                  EndIf
             Case Campo="I_DESTINACAO":
                  VSD_DESTINACAO=ControlValue("I_DESTINACAO")
                  Campo= "I_TABELA_PRECO"
             Case Campo="I_TABELA_PRECO":
                  VSD_TABELA_PRECO=ControlValue("I_TABELA_PRECO")
                  Campo= "I_TRANSPORTADORA"
             Case Campo="I_TRANSPORTADORA":
                  VSD_TRANSPORTADORA=ControlValue("I_TRANSPORTADORA")
                  Campo= "I_CONTA_CAIXA"
             Case Campo="I_CONTA_CAIXA":
                  VSD_CONTA_CAIXA=ControlValue("I_CONTA_CAIXA")
                  Campo= "I_FORMA_PAGTO"
             Case Campo="I_FORMA_PAGTO":
                  VSD_FORMA_PAGTO=ControlValue("I_FORMA_PAGTO")
                  If Not IsBlank(VSD_FORMA_PAGTO)
                     Then Moveto [Codigo_Forma_Pagto]
                          Ativa_Lookup()
                          Locate VSD_FORMA_PAGTO
                          If Not RetVal
                             Then Mensagem("Codigo n„o Cadastrado !")
                             Else VSD_FORMA_PAGTO=[Tipo do Pagamento]
                                  Campo="I_DOC_ROM"
                          EndIf
                          KeyPress "ESC"
                     Else Campo="I_DOC_ROM"
                  EndIf
            Case Campo="I_DOC_ROM":
                  VSD_DOC_ROM=ControlValue("I_DOC_ROM")
                  If Not IsBlank(VSD_DOC_ROM)
                     Then Moveto [Rom_Codigo do Documento]
                          Ativa_Lookup()
                          Moveto [Codigo do Documento]
                          Locate VSD_DOC_ROM
                          If Not RetVal
                             Then Mensagem("Tipo de Documento nÆo Cadastrado/Romaneio !")
                             Else VSD_DOC_ROM=[Codigo do Documento]
                                  VSD_TIP_ROM=[Tipo do Documento  ]
                                  VSD_SER_ROM=[Serie do Documento ]
                          EndIf
                          KeyPress "ESC"
                     Else VSD_TIP_ROM=""
                          VSD_SER_ROM=""
                  EndIf
                  Campo="I_DOC_NFEN"
             Case Campo="I_DOC_NFEN":
                  VSD_DOC_NFEN=ControlValue("I_DOC_NFEN")
                  If Not IsBlank(VSD_DOC_NFEN)
                     Then Moveto [NFEN_Codigo Do Docto]
                          Ativa_Lookup()
                          Moveto [Codigo do Documento]
                          Locate VSD_DOC_NFEN
                          If Not RetVal
                             Then Mensagem("Tipo de Documento nÆo Cadastrado/NFe !")
                             Else VSD_DOC_NFEN=[Codigo do Documento]
                                  VSD_TIP_NFEN=[Tipo do Documento  ]
                                  VSD_SER_NFEN=[Serie do Documento ]
                          EndIf
                          KeyPress "ESC"
                     Else VSD_TIP_NFEN=""
                          VSD_SER_NFEN=""
                  EndIf
                  Campo= "I_DOC_DUPNFEN"
              Case Campo="I_DOC_DUPNFEN":
                  VSD_DOC_DUPNFEN=ControlValue("I_DOC_DUPNFEN")
                  If Not IsBlank(VSD_DOC_DUPNFEN)
                     Then Moveto [NFEN Dup_Codigo Do Docto]
                          Ativa_Lookup()
                          Moveto [Codigo do Documento]
                          Locate VSD_DOC_DUPNFEN
                          If Not RetVal
                             Then Mensagem("Tipo de Documento nÆo Cadastrado/Duplicata NFe !")
                             Else VSD_DOC_DUPNFEN=[Codigo do Documento]
                                  VSD_TIP_DUPNFEN=[Tipo do Documento  ]
                                  VSD_SER_DUPNFEN=[Serie do Documento ]
                          EndIf
                          KeyPress "ESC"
                     Else VSD_TIP_DUPNFEN=""
                          VSD_SER_DUPNFEN=""
                  EndIf
                  Campo= "I_DOC_NSEN"
             Case Campo="I_DOC_NSEN"              : 
                  VSD_DOC_NSEN=ControlValue("I_DOC_NSEN")
                  If Not IsBlank(VSD_DOC_NSEN)
                     Then Moveto [NSEN_Codigo do Docto]
                          Ativa_Lookup()
                          Moveto [Codigo do Documento]
                          Locate VSD_DOC_NSEN
                          If Not RetVal
                             Then Mensagem("Tipo de Documento nÆo Cadastrado/NSEN !")
                             Else VSD_DOC_NSEN=[Codigo do Documento]
                                  VSD_TIP_NSEN=[Tipo do Documento  ]
                                  VSD_SER_NSEN=[Serie do Documento ]
                          EndIf
                          KeyPress "ESC"
                     Else VSD_TIP_NSEN=""
                          VSD_SER_NSEN=""
                  EndIf
                  Campo="I_DOC_DUPNSEN"
              Case Campo="I_DOC_DUPNSEN":
                  VSD_DOC_DUPNSEN=ControlValue("I_DOC_DUPNSEN")
                  If Not IsBlank(VSD_DOC_DUPNSEN)
                     Then Moveto [NSEN Dup_Codigo do Docto]
                          Ativa_Lookup()
                          Moveto [Codigo do Documento]
                          Locate VSD_DOC_DUPNSEN
                          If Not RetVal
                             Then Mensagem("Tipo de Documento nÆo Cadastrado/Duplicata NSEN !")
                             Else VSD_DOC_DUPNSEN=[Codigo do Documento]
                                  VSD_TIP_DUPNSEN=[Tipo do Documento  ]
                                  VSD_SER_DUPNSEN=[Serie do Documento ]
                          EndIf
                          KeyPress "ESC"
                     Else VSD_TIP_DUPNSEN=""
                          VSD_SER_DUPNSEN=""
                  EndIf
                  Campo="I_DATAS_VENCTOS"
             Case Campo="I_DATAS_VENCTOS":
                  VSD_DATAS_VENCTOS=ControlValue("I_DATAS_VENCTOS")
                  If IsBlank(VSD_DATAS_VENCTOS)
                     Then VSD_DATAS_VENCTOS="C"
                  EndIf
                  Campo="I_DATA_BASE"         
             Case Campo="I_DATA_BASE":
                  VSD_DATA_BASE=ControlValue("I_DATA_BASE")
                  If IsBlank(VSD_DATA_BASE)
                     Then VSD_DATA_BASE="N"
                  EndIf
                  Campo= "I_PEDIDO"                            
             
             Case Campo="I_1":
             
             Case Campo="I_2":
             
             Case Campo="I_PEDIDO":
                  VSD_PEDIDO=ControlValue("I_PEDIDO")
                  If IsBlank(VSD_PEDIDO)
                     Then VSD_PEDIDO="N"
                  EndIf
                  If VSD_PEDIDO="S"
                     Then VSD_ORCAMENTO="N"
                          VSD_ORDEM_SERVICO="N"
                          Campo="I_CUPOM_FISCAL"
                     Else Campo= "I_ORCAMENTO"
                  EndIf
             Case Campo="I_ORCAMENTO":
                  VSD_ORCAMENTO=ControlValue("I_ORCAMENTO")
                  If IsBlank(VSD_ORCAMENTO)
                     Then VSD_ORCAMENTO="N"
                  EndIf
                  If VSD_ORCAMENTO="S"
                     Then VSD_PEDIDO="N"
                          VSD_ORDEM_SERVICO="N"
                          Campo="I_CUPOM_FISCAL"
                     Else Campo= "I_ORDEM_SERVICO"
                  EndIf
             Case Campo="I_ORDEM_SERVICO":
                  VSD_ORDEM_SERVICO=ControlValue("I_ORDEM_SERVICO")
                  If IsBlank(VSD_ORDEM_SERVICO)
                     Then VSD_ORDEM_SERVICO="N"
                  EndIf
                  If VSD_ORDEM_SERVICO="S"
                     Then VSD_PEDIDO    = "N"
                          VSD_ORCAMENTO = "N"
                  EndIf
                  Campo= "I_CUPOM_FISCAL"
             Case Campo="I_CUPOM_FISCAL":
                  VSD_CUPOM_FISCAL=ControlValue("I_CUPOM_FISCAL")
                  If IsBlank(VSD_CUPOM_FISCAL)
                     Then VSD_CUPOM_FISCAL="N"
                  EndIf
                  Campo="I_VISITA"
						 Case Campo="I_VISITA":
									VSD_VISITA=ControlValue("I_VISITA")
                  If IsBlank(VSD_VISITA)
                     Then VSD_VISITA="N"
                  EndIf
                  Campo="I_LIMITE_CREDITO"
             Case Campo="I_LIMITE_CREDITO":
                  VSD_LIMITE_CREDITO=ControlValue("I_LIMITE_CREDITO")
                  If IsBlank(VSD_LIMITE_CREDITO)
                     Then VSD_LIMITE_CREDITO="N"
                  EndIf
                  Campo= "I_DIAS_ATRASO"
             Case Campo="I_DIAS_ATRASO":
                  VSD_DIAS_ATRASO=ControlValue("I_DIAS_ATRASO")
                  If IsBlank(VSD_DIAS_ATRASO)
                     Then VSD_DIAS_ATRASO="N"
                  EndIf
                  Campo="I_BLOQAUT"
             Case Campo="I_BLOQAUT":
                  VSD_BLOQAUT=ControlValue("I_BLOQAUT")
                  If IsBlank(VSD_BLOQAUT)
                     Then VSD_BLOQAUT="N"
                  EndIf
                  Campo="I_EMERC"
             Case Campo="I_EMERC":
                  VSD_EMERC=ControlValue("I_EMERC")
                  If IsBlank(VSD_EMERC)
                     Then VSD_EMERC="N"
                  EndIf
                  Campo="I_FATURA_NUMERO"
             Case Campo="I_FATURA_NUMERO":
                  VSD_FATURA_NUMERO=ControlValue("I_FATURA_NUMERO")
                  If IsBlank(VSD_FATURA_NUMERO)
                     Then VSD_FATURA_NUMERO="N"
                  EndIf
                  Campo="I_AVISTAAUTOMAT"
             Case Campo="I_AVISTAAUTOMAT":
                  VSD_AVISTAAUTOMAT=ControlValue("I_AVISTAAUTOMAT")
                  If IsBlank(VSD_AVISTAAUTOMAT)
                     Then VSD_AVISTAAUTOMAT="N"
                  EndIf
                  If VSD_AVISTADUPLIC="S" And VSD_AVISTAAUTOMAT="S"
                    Then Mensagem("Configurado para gerar Duplicatas A Vista. // Parametro informado nÆo permitido !")
                          VSD_AVISTAAUTOMAT="N"
                  EndIf  
                  Campo="I_APRAZOAUTOMAT"
             Case Campo="I_APRAZOAUTOMAT":
                  VSD_APRAZOAUTOMAT=ControlValue("I_APRAZOAUTOMAT")
                  If IsBlank(VSD_APRAZOAUTOMAT)
                     Then VSD_APRAZOAUTOMAT="N"
                  EndIf
                  Campo="I_AVISTADUPLIC"
             Case Campo="I_AVISTADUPLIC":
                  VSD_AVISTADUPLIC=ControlValue("I_AVISTADUPLIC")
                  If IsBlank(VSD_AVISTADUPLIC)
                     Then VSD_AVISTADUPLIC="N"   
                  EndIf
                  If VSD_AVISTADUPLIC="S" And VSD_AVISTAAUTOMAT="S"
                    Then Mensagem("Configurado para gerar Vendas A Vista autom tico. // Parametro informado nÆo permitido !")
                          VSD_AVISTADUPLIC="N"
                  EndIf
                  Campo="I_DUPLIC_NUMERO"
             Case Campo="I_DUPLIC_NUMERO":
                  VSD_DUPLIC_NUMERO=ControlValue("I_DUPLIC_NUMERO")
                  If IsBlank(VSD_DUPLIC_NUMERO)
                     Then VSD_DUPLIC_NUMERO="I"
                  EndIf
                  Campo="I_FORMA_TXJUROS"
             Case Campo="I_FORMA_TXJUROS":
                  VSD_FORMA_TXJUROS=ControlValue("I_FORMA_TXJUROS")
                  If IsBlank(VSD_FORMA_TXJUROS)
                     Then Campo="I_COMIS_VENCTO"
                     Else Campo="I_TXJUROS"
                  EndIf
             Case Campo="I_TXJUROS":
                  VSD_TXJUROS=ControlValue("I_TXJUROS")
                  If IsBlank(VSD_TXJUROS)
                     Then VSD_FORMA_TXJUROS=""
                  EndIf
                  Campo= "I_COMIS_VENCTO"
             Case Campo="I_COMIS_VENCTO":
                  VSD_COMIS_VENCTO=ControlValue("I_COMIS_VENCTO")
                  If IsBlank(VSD_COMIS_VENCTO)
                     Then VSD_COMIS_VENCTO="N"
                  EndIf
                  Campo= "I_CHEQUES"
             Case Campo="I_CHEQUES":
                  VSD_CHEQUES=ControlValue("I_CHEQUES")
                  If IsBlank(VSD_CHEQUES)
                     Then VSD_CHEQUES="N"
                  EndIf
                  Campo="I_NLINF"
						 Case Campo="I_NLINF":
									VSD_NLINF=ControlValue("I_NLINF")
                  If IsBlank(VSD_NLINF)
                     Then VSD_NLINF="N"
                  EndIf
                  Campo="I_NVIAS_ROMANEIO"
             Case Campo="I_NVIAS_ROMANEIO":
                  VSD_NVIAS_ROMANEIO=ControlValue("I_NVIAS_ROMANEIO")
                  If IsBlank(VSD_NVIAS_ROMANEIO) Or VSD_NVIAS_ROMANEIO<=0
                     Then VSD_NVIAS_ROMANEIO=1
                  EndIf
                  Campo= "I_TRANSFERENCIA"
             Case Campo="I_TRANSFERENCIA":
                  VSD_TRANSFERENCIA=ControlValue("I_TRANSFERENCIA")
                  If IsBlank(VSD_TRANSFERENCIA)
                     Then VSD_TRANSFERENCIA="N"
                  EndIf
                  Campo= "I_UTILIZA_COMIS_VEND"
             Case Campo="I_UTILIZA_COMIS_VEND":
                  VSD_UTILIZA_COMIS_VEND=ControlValue("I_UTILIZA_COMIS_VEND")
                  If IsBlank(VSD_UTILIZA_COMIS_VEND)
                     Then VSD_UTILIZA_COMIS_VEND="N"
                  EndIf
                  Campo="I_UTILIZA_COMIS_VEND_RT"
             Case Campo="I_UTILIZA_COMIS_VEND_RT":
                  VSD_UTILIZA_COMIS_VEND_RT=ControlValue("I_UTILIZA_COMIS_VEND_RT")
                  If IsBlank(VSD_UTILIZA_COMIS_VEND_RT)
                     Then VSD_UTILIZA_COMIS_VEND_RT="N"
                  EndIf
                  Campo= "I_RATEIO_COMIS_VEND"
             Case Campo="I_RATEIO_COMIS_VEND":
                  VSD_RATEIO_COMIS_VEND=ControlValue("I_RATEIO_COMIS_VEND")
                  If IsBlank(VSD_RATEIO_COMIS_VEND)
                     Then VSD_RATEIO_COMIS_VEND="N"
                  EndIf
                  Show_Tela=2
                  AcceptDialog
             Case Campo="I_ROMANEIO":
                  VSD_ROMANEIO=ControlValue("I_ROMANEIO")
                  Campo="I_ROMANEIO2"
             Case Campo="I_ROMANEIO2":
                  VSD_ROMANEIO2=ControlValue("I_ROMANEIO2")
                  Campo="I_NPROMISSORIA"
             Case Campo="I_NPROMISSORIA":
                  VSD_NPROMISSORIA=ControlValue("I_NPROMISSORIA")
                  Campo="I_CARNE"
             Case Campo="I_CARNE":
                  VSD_CARNE=ControlValue("I_CARNE")
                  Campo="I_BOLETO"
             Case Campo="I_BOLETO":
                  VSD_BOLETO=ControlValue("I_BOLETO")
                  Campo="I_SENTREGA"
             Case Campo="I_SENTREGA":
                  VSD_SENTREGA=ControlValue("I_SENTREGA")
                  If Not IsBlank(VSD_SENTREGA)
                     Then Campo="I_PENTREGA"
                     Else Campo="I_DESCTO"
                  EndIf
             Case Campo="I_PENTREGA":
                  VSD_PENTREGA=ControlValue("I_PENTREGA")
                  Campo="I_DESCTO"
             Case Campo="I_DESCTO":
                  VSD_DESCTO=ControlValue("I_DESCTO")
                  If IsBlank(VSD_DESCTO)
                     Then VSD_DESCTO="N"
                  EndIf
                  If VSD_DESCTO="N"
                     Then VSD_TPDESCTO=""
                          VSD_TXDESCTO=BlankNum()
                          Campo= "I_DESCUNIT"
                     Else Campo="I_TPDESCTO"
                  EndIf
             Case Campo="I_TPDESCTO":
                  VSD_TPDESCTO=ControlValue("I_TPDESCTO")
                  If IsBlank(VSD_TPDESCTO)
                     Then VSD_TPDESCTO="I"
                  EndIf
                  If VSD_TPDESCTO="I"
                     Then Campo="I_TXDESCTO"
                     Else VSD_TXDESCTO=BlankNum()
                          Campo= "I_DESCUNIT"
                  EndIf
             Case Campo="I_TXDESCTO":
                  VSD_TXDESCTO=ControlValue("I_TXDESCTO")
                  Campo= "I_DESCUNIT"
             Case Campo="I_DESCUNIT":
                  VSD_DESCUNIT=ControlValue("I_DESCUNIT")
                  If IsBlank(VSD_DESCUNIT) Or
                     VSD_DESCUNIT="N"
                     Then VSD_DESCUNIT    ="N"
                          VSD_DESCTOUNIT  ="N"
                          VSD_TPDESCTOUNIT=""
                          VSD_TXDESCTOUNIT=BlankNum()
                          Campo="I_BLOQUEIA_NEG"
                     Else Campo="I_DESCTOUNIT"
                  EndIf
             Case Campo="I_DESCTOUNIT":
                  VSD_DESCTOUNIT=ControlValue("I_DESCTOUNIT")
                  If IsBlank(VSD_DESCTOUNIT)
                     Then VSD_DESCTOUNIT="N"
                  EndIf
                  If VSD_DESCTOUNIT="N"
                     Then VSD_TPDESCTOUNIT=""
                          VSD_TXDESCTOUNIT=BlankNum()
                          Campo="I_BLOQUEIA_NEG"
                     Else Campo="I_TPDESCTOUNIT"
                  EndIf
             Case Campo="I_TPDESCTOUNIT":
                  VSD_TPDESCTOUNIT=ControlValue("I_TPDESCTOUNIT")
                  If IsBlank(VSD_TPDESCTOUNIT)
                     Then VSD_TPDESCTOUNIT="I"
                  EndIf
                  If VSD_TPDESCTOUNIT="I"
                     Then Campo="I_TXDESCTOUNIT"
                     Else VSD_TXDESCTOUNIT=BlankNum()
                          Campo="I_BLOQUEIA_NEG"
                  EndIf
             Case Campo="I_TXDESCTOUNIT":
                  VSD_TXDESCTOUNIT=ControlValue("I_TXDESCTOUNIT")
                  Campo="I_BLOQUEIA_NEG"

             Case Campo="I_BLOQUEIA_NEG":
                  VSD_BLOQUEIA_NEG=ControlValue("I_BLOQUEIA_NEG")
                  If IsBlank(VSD_BLOQUEIA_NEG)
                     Then VSD_BLOQUEIA_NEG="N"
                  EndIf
                  If VSD_BLOQUEIA_NEG="S"
                     Then Campo="I_UTILIZA_BXPARCIAL"
                     Else Campo="I_UTILIZACDBARRA"
                  Endif
             Case Campo="I_UTILIZA_BXPARCIAL":
                  VSD_UTILIZA_BXPARCIAL=ControlValue("I_UTILIZA_BXPARCIAL")
                  If IsBlank(VSD_UTILIZA_BXPARCIAL)
                     Then VSD_UTILIZA_BXPARCIAL="N"
                  EndIf
                  Campo="I_UTILIZACDBARRA"
             Case Campo="I_UTILIZACDBARRA":
                  VSD_UTILIZACDBARRA=ControlValue("I_UTILIZACDBARRA")
                  If IsBlank(VSD_UTILIZACDBARRA)
                     Then VSD_UTILIZACDBARRA="N"
                  EndIf
                  Campo= "I_COR_TECIDO"
             Case Campo="I_COR_TECIDO":
                  VSD_COR_TECIDO=ControlValue("I_COR_TECIDO")
                  If IsBlank(VSD_COR_TECIDO)
                     Then VSD_COR_TECIDO="N"
                  EndIf
                  Campo= "I_TAMANHO"
             Case Campo="I_TAMANHO":
                  VSD_TAMANHO=ControlValue("I_TAMANHO")
                  If IsBlank(VSD_TAMANHO)
                     Then VSD_TAMANHO="N"
                  EndIf
                  Campo= "I_COMIS_ITEM"
             Case Campo="I_COMIS_ITEM":
                  VSD_COMIS_ITEM=ControlValue("I_COMIS_ITEM")
                  If IsBlank(VSD_COMIS_ITEM)
                     Then VSD_COMIS_ITEM="N"
                  EndIf
                  Campo="I_ALTERA_PRECO"
             Case Campo="I_ALTERA_PRECO":
                  VSD_ALTERA_PRECO=ControlValue("I_ALTERA_PRECO")
                  If IsBlank(VSD_ALTERA_PRECO)
                     Then VSD_ALTERA_PRECO="S"
                  EndIf
                  Campo= "I_IMPOSTOS"
             Case Campo="I_IMPOSTOS":
                  VSD_IMPOSTOS=ControlValue("I_IMPOSTOS")
                  If IsBlank(VSD_IMPOSTOS)
                     Then VSD_IMPOSTOS="S"
                  EndIf
                  Campo= "I_VOLUMES"
             Case Campo="I_VOLUMES":
                  VSD_VOLUMES=ControlValue("I_VOLUMES")
                  If IsBlank(VSD_VOLUMES)
                     Then VSD_VOLUMES="N"
                  EndIf
                  Campo= "I_COMIS_MARCA"
             Case Campo="I_COMIS_MARCA":
                  VSD_COMIS_MARCA=ControlValue("I_COMIS_MARCA")
                  If IsBlank(VSD_COMIS_MARCA)
                     Then VSD_COMIS_MARCA="N"
                  EndIf
                  Campo= "I_TPITEM"
             Case Campo="I_TPITEM":
                  VSD_TPITEM=ControlValue("I_TPITEM")
                  If IsBlank(VSD_TPITEM)
                     Then VSD_TPITEM="N"
                  EndIf
                  Campo= "I_CPITEM"
             Case Campo="I_CPITEM":
                  VSD_CPITEM=ControlValue("I_CPITEM")
                  If IsBlank(VSD_CPITEM)
                     Then VSD_CPITEM="N"
                  EndIf
                  Campo= "I_ULTCTT"
             Case Campo="I_ULTCTT":
                  VSD_ULTCTT=ControlValue("I_ULTCTT")
                  If IsBlank(VSD_ULTCTT)
                     Then VSD_ULTCTT="N"
                  EndIf
                  Campo="I_TABPR_CLIENTE"
             Case Campo="I_TABPR_CLIENTE":
                  VSD_TABPR_CLIENTE=ControlValue("I_TABPR_CLIENTE")
                  If IsBlank(VSD_TABPR_CLIENTE)
                     Then VSD_TABPR_CLIENTE="N"
                  EndIf
                  Campo="I_TABPR_REPRES"

             Case Campo="I_TABPR_REPRES":
                  VSD_TABPR_REPRES=ControlValue("I_TABPR_REPRES")
                  If IsBlank(VSD_TABPR_REPRES)
                     Then VSD_TABPR_REPRES="N"
                  EndIf
                  Campo="I_TABPR_CPAGTO"

             Case Campo="I_TABPR_CPAGTO":
                  VSD_TABPR_CPAGTO=ControlValue("I_TABPR_CPAGTO")
                  If IsBlank(VSD_TABPR_CPAGTO )
                     Then VSD_TABPR_CPAGTO ="N"
                  EndIf
                  Campo="I_BLOQUEIA_CANCEL"
                  
             Case Campo="I_BLOQUEIA_CANCEL":
                  VSD_BLOQUEIA_CANCEL=ControlValue("I_BLOQUEIA_CANCEL")
                  If IsBlank(VSD_BLOQUEIA_CANCEL)
                     Then VSD_BLOQUEIA_CANCEL="N"
                  EndIf     
                  Campo="I_BLOQUEIA_ALTERA"                  
             Case Campo="I_BLOQUEIA_ALTERA":
                  VSD_BLOQUEIA_ALTERA=ControlValue("I_BLOQUEIA_ALTERA")
                  If IsBlank(VSD_BLOQUEIA_ALTERA)
                     Then VSD_BLOQUEIA_ALTERA="N"
                  EndIf              
                  Campo="I_BLOQUEIA_NF"
             Case Campo="I_BLOQUEIA_NF":
                  VSD_BLOQUEIA_NF=ControlValue("I_BLOQUEIA_NF")
                  If IsBlank(VSD_BLOQUEIA_NF)
                     Then VSD_BLOQUEIA_NF="N"
                  EndIf               
                  Campo="I_BLOQUEIA_IMP"
             Case Campo="I_BLOQUEIA_IMP":      
                  VSD_BLOQUEIA_IMP=ControlValue("I_BLOQUEIA_IMP")
                  If IsBlank(VSD_BLOQUEIA_IMP)
                     Then VSD_BLOQUEIA_IMP="N"
                  EndIf               
                  Campo="I_ENTRADA" 
             Case Campo="I_ENTRADA" :
                  VSD_ENTRADA=ControlValue("I_ENTRADA")
                  If IsBlank(VSD_ENTRADA)
                     Then VSD_ENTRADA="3"
                  EndIf    
                  Campo="I_NBLOQUEIO_SPC" 
             Case Campo="I_NBLOQUEIO_SPC":
                  VSD_NBLOQUEIO_SPC=ControlValue("I_NBLOQUEIO_SPC")
                  If IsBlank(VSD_NBLOQUEIO_SPC)
                     Then VSD_NBLOQUEIO_SPC=BlankNum()
                  EndIf   
                  Campo="I_RESTR_CNPJCPF"
             Case Campo="I_RESTR_CNPJCPF":
                  VSD_RESTR_CNPJCPF=ControlValue("I_RESTR_CNPJCPF")
                  If IsBlank(VSD_RESTR_CNPJCPF)
                     Then VSD_RESTR_CNPJCPF="N"           
                  EndIf
                  Campo="I_CONDPAGTO"
             Case Campo="I_CONDPAGTO": 
                  VSD_CONDPAGTO=ControlValue("I_CONDPAGTO")
                  If IsBlank(VSD_CONDPAGTO)
                     Then VSD_CONDPAGTO="N"
                  EndIf
                  Campo="I_TPCONS_CLIENTE"
             Case Campo="I_TPCONS_CLIENTE":
                  VSD_TPCONS_CLIENTE=ControlValue("I_TPCONS_CLIENTE")
                  If IsBlank(VSD_TPCONS_CLIENTE)
                     Then VSD_TPCONS_CLIENTE="P"
                  EndIf
                  Campo="I_EXPEDET"
             Case Campo="I_EXPEDET":
                  VSD_EXPEDET=ControlValue("I_EXPEDET")
                  If IsBlank(VSD_EXPEDET)
                     Then VSD_EXPEDET="N"
                  EndIf
                  NewCampo="I_TITCRED"
                  Show_Tela=3
                  AcceptDialog      
             Case Campo="I_TITCRED":
                  VSD_TITCRED=ControlValue("I_TITCRED")
                  If IsBlank(VSD_TITCRED)
                     Then VSD_TITCRED="N"
                  EndIf
                  Campo="I_BLOQ_ITEM"
             Case Campo="I_BLOQ_ITEM" :
                  VSD_BLOQ_ITEM=ControlValue("I_BLOQ_ITEM")
                  If IsBlank(VSD_BLOQ_ITEM)
                     Then VSD_BLOQ_ITEM="S"
                  EndIf       
                  Campo="I_DADOS_ITEM_RESUMO"
             Case Campo="I_DADOS_ITEM_RESUMO" :
                  VSD_DADOS_ITEM_RESUMO=ControlValue("I_DADOS_ITEM_RESUMO")
                  If IsBlank(VSD_DADOS_ITEM_RESUMO)
                     Then VSD_DADOS_ITEM_RESUMO="N"
                  EndIf
                  Campo="I_OF"
             Case Campo="I_OF":
                  VSD_OF=ControlValue("I_OF")
                  ConfGeral("Confirma novos parametros ?")
                  If OK="S"
                     Then PARAM_OPCAO("Gravar")
                     Else If Chave=1
                             Then Del   ; Registro Novo
                             Else Undo  ; Registro Existente
                          EndIf
                  EndIf
                  Chave=9
                  Show_Tela=1
                  AcceptDialog 
           EndSwitch
      Case Evento["KeyCode"] = -73:   
           Switch
             Case Show_Tela=2 : 
                  Verifica2()
                  Show_Tela=1 
                  CancelDialog
                  NewCampo="I_DESTINACAO"
             Case Show_Tela=3 : 
                  Verifica3()
                  Show_Tela=2
                  CancelDialog
                  NewCampo="I_ROMANEIO"           
           EndSwitch
      Case Evento["KeyCode"] = -81: 
           If Show_Tela=1
              Then If Verifica() And Campo<>"I_EMPRESA"
                      Then Show_Tela=2
                           AcceptDialog
                   EndIf
              Else If Show_Tela=2
                       Then Verifica2()
                            Show_Tela=3
                            AcceptDialog
                       Else If Show_Tela=3
                               Then Verifica3()
                                    ConfGeral("Confirma novos parametros?")
                                    If OK="S"
                                        Then PARAM_OPCAO("Gravar")
                                        Else If Chave=1
                                                Then Del  ; Registro Novo
                                                Else Undo ; Registro Existente
                                             EndIf
                                     EndIf        
                           EndIf
                           Chave=9
                           Show_Tela=1
                           AcceptDialog
                   EndIf    
           EndIf
   EndSwitch
EndIf

TECLA="//Esc=Retornar  "
If Campo="I_EMPRESA"        Or
   Campo="I_DESTINACAO"     Or
   Campo="I_TABELA_PRECO"   Or
   Campo="I_TRANSPORTADORA" Or
   Campo="I_CONTA_CAIXA"    Or
   Campo="I_FORMA_PAGTO"    Or
   Campo="I_DOC_ROM"        Or
   Campo="I_DOC_NFEN"       Or
   Campo="I_DOC_DUPNFEN"    Or
   Campo="I_DOC_NSEN"       Or
   Campo="I_DOC_DUPNSEN"
   Then TECLA=TECLA+"F1=Tabelas  "
   Else TECLA=TECLA+"            "
EndIf

If Campo<>"I_EMPRESA"
   Then If Chave=0
           Then TECLA=TECLA+"Ctrl+Del=Excluir  "
           Else TECLA=TECLA+"                  "
        EndIf
        If Show_Tela=1 Or Show_Tela=2
           Then TECLA=TECLA+"PgDn=Avan‡ar                 "
           Else TECLA=TECLA+"PgUp=Voltar  PgDn=Finalizar  "
        EndIf
EndIf
MSGCAMPO="Utiliza este recurso? Sim/N„o"
Switch
  Case Campo="I_EMPRESA"       : MSGCAMPO="Codigo da Empresa Padr„o"
  Case Campo="I_DESTINACAO"    : MSGCAMPO="Codigo da Destina‡„o Padr„o"
  Case Campo="I_TABELA_PRECO"  : MSGCAMPO="Codigo da Tabela de Preco Padr„o"
  Case Campo="I_TRANSPORTADORA": MSGCAMPO="Codigo da Transportadora Padr„o"
  Case Campo="I_CONTA_CAIXA"   : MSGCAMPO="Codigo da Conta Caixa Padr„o"
  Case Campo="I_FORMA_PAGTO"   : MSGCAMPO="Codigo da Forma de Pagamento"

  Case Campo="I_DOC_ROM"       : MSGCAMPO="Codigo do Documento para gera‡„o de Romaneio"
  Case Campo="I_DOC_NFEN"      : MSGCAMPO="Codigo do Documento para gera‡„o de NF-e"
  Case Campo="I_DOC_DUPNFEN"   : MSGCAMPO="Codigo do Documento para gera‡„o de Duplicata/NF-e"
  Case Campo="I_DOC_NSEN"      : MSGCAMPO="Codigo do Documento para gera‡„o de NFS-e"
  Case Campo="I_DOC_DUPNSEN"   : MSGCAMPO="Codigo do Documento para gera‡„o de Duplicata/NFS-e"
  Case Campo="I_DATAS_VENCTOS" : MSGCAMPO="Data dos vencimentos c/ dias? Fixo/Continuo"
  Case Campo="I_DATA_BASE"     : MSGCAMPO="Informa data base para c lculo de vencimentos? Sim/NÆo"
  Case Campo="I_NVIAS_ROMANEIO": MSGCAMPO="Numero de Vias Romaneio a Imprimir"
  Case Campo="I_LIMITE_CREDITO": MSGCAMPO="Bloqueia Limite de Credito? Sim/N„o/Permiss„o"
  Case Campo="I_DIAS_ATRASO"   : MSGCAMPO="Bloqueia Dias em Atraso? Sim/N„o/Permiss„o"
  Case Campo="I_ALTERA_PRECO"  : MSGCAMPO="Utiliza Altera‡„o do Pre‡o Unitario do Item? Sim/N„o/Permiss„o"
  Case Campo="I_DUPLIC_NUMERO" : MSGCAMPO="Gera Numero da Duplicata? Igual/Diferente da nf"
  Case Campo="I_FORMA_TXJUROS" : MSGCAMPO="Forma da Taxa de Juros? Dia/Mes/Ano"
  Case Campo="I_TXJUROS"          : MSGCAMPO="Informe a Taxa de Juros"
  Case Campo="I_RATEIO_COMIS_VEND": MSGCAMPO="Forma de rateio comiss„o? N„o usa/Total nota/por Item"
  Case Campo="I_ROMANEIO"         : MSGCAMPO="Informe o Script para Impressao do Romaneio"
  Case Campo="I_ROMANEIO2"        : MSGCAMPO="Informe o Script para Impressao do Romaneio"  
  Case Campo="I_NPROMISSORIA"     : MSGCAMPO="Informe o Script para Impressao da Nota Promissoria"
  Case Campo="I_CARNE"            : MSGCAMPO="Informe o Script para Impressao do Carn‰"
  Case Campo="I_BOLETO"           : MSGCAMPO="Informe o Script para Impressao do Boleto"
  Case Campo="I_OF"               : MSGCAMPO="Informe o Script para Impressao da Ordem de Faturamento"     
  Case Campo="I_SENTREGA"         : MSGCAMPO="Informe o Script para Impressao do Comprovante de Entrega"
  Case Campo="I_PENTREGA"         : MSGCAMPO="Informe a Porta de Impressao do Comprovante de Entrega"
  Case Campo="I_TABPR_CPAGTO"     : MSGCAMPO="Utilizar Pre‡o da Tabela conforme Cond.Pagto ? Sim/N„o"
  Case Campo="I_UILIZA_BXPARCIAL" : MSGCAMPO="Utilizar baixa parcial para estoque insuficiente ? Sim/N„o"
  Case Campo="I_COMIS_ITEM"       : MSGCAMPO="Utiliza Altera‡„o da Comiss„o do Item? Sim/N„o/Permiss„o"
  Case Campo="I_DESCTO"           : MSGCAMPO="Utiliza Bloqueio Desconto Total? Sim/N„o/Permiss„o"
  Case Campo="I_TPDESCTO"         : MSGCAMPO="Qual Tipo Desconto Total? Informar/Condi‡„o Pagto"
  Case Campo="I_TXDESCTO"         : MSGCAMPO="Informe % M xima de Desconto Total Permitida"
  Case Campo="I_DESCTOUNIT"       : MSGCAMPO="Utiliza bloqueio desconto unit rio? Sim/N„o/Permiss„o"
  Case Campo="I_TPDESCTOUNIT"     : MSGCAMPO="Qual tipo desconto unit rio? Informar/Condi‡„o pagto/Produto"
  Case Campo="I_TXDESCTOUNIT"     : MSGCAMPO="Informe % m xima de desconto unit rio permitida"
  Case Campo="I_BLOQUEIA_CANCEL"  : MSGCAMPO="Bloqueia Cancelamento da Nota Fiscal? Sim/N„o/Permiss„o"
  Case Campo="I_BLOQUEIA_ALTERA"  : MSGCAMPO="Bloqueia Altera‡Æo da Nota Fiscal? Sim/N„o/Permiss„o"
  Case Campo="I_BLOQUEIA_NF"      : MSGCAMPO="Bloqueia Reemiss„o/Regera‡Æo da Nota Fiscal? Sim/N„o/Permiss„o"
  Case Campo="I_BLOQUEIA_IMP"     : MSGCAMPO="Bloqueia ImpressÆo 2¦ via da Nota Fiscal? Sim/N„o/Permiss„o"
  Case Campo="I_ENTRADA"          : MSGCAMPO="Altera Valor Primeira Parcela? 1=Valor/Entrada 2=Entrada 3=N„o"
  Case Campo="I_NBLOQUEIO_SPC"    : MSGCAMPO="N£mero de Dias p/ Bloqueio de Cadastro no SPC"  
  Case Campo="I_RESTR_CNPJCPF"    : MSGCAMPO="Utiliza restri‡Æo CNPJ/CPF? Sim/N„o/Permiss„o"
  Case Campo="I_CONDPAGTO"        : MSGCAMPO="Utiliza Condi‡„o de Pagto e Forma de Pagto do cliente? Sim/N„o"  
  Case Campo="I_TPCONS_CLIENTE"   : MSGCAMPO="Tipo consulta: P=padr„o  S=sele‡„o"
  Case Campo="I_TITCRED"          : MSGCAMPO="Utiliza T¡tulo de Cr‚dito ? N=NÆo  T=Valor Total"
  Case Campo="I_BLOQ_ITEM"        : MSGCAMPO="Bloqueia digita‡„o do item se pedido informado na nota? Sim/N„o"
  Case Campo="I_DADOS_ITEM_RESUMO": MSGCAMPO="Digita‡„o dos dados dos itens resumidamente? Sim/N„o"
EndSwitch
                 
Monta_Prompt(MSGCAMPO,TECLA)

Return TEMP
EndProc   ;(Param_Dialog)

;*******************************************************************************
;* Rotina para Verificar Parametros                                            *
;*******************************************************************************
Proc Verifica()
WV=True

VSD_EMPRESA=ControlValue("I_EMPRESA")

VSD_DESTINACAO=ControlValue("I_DESTINACAO")
If Not IsBlank(VSD_DESTINACAO)
   Then VSD_DESTINACAO=Alinhm(VSD_DESTINACAO,3)
        Moveto [Codigo_Destinacao]
        Ativa_Lookup()
        Locate VSD_DESTINACAO
        If Not RetVal
           Then Mensagem("Codigo da Destinac„o n„o Cadastrado !")
                Campo="I_DESTINACAO"
                KeyPress "ESC"
                Return False
           Else VSD_DESTINACAO=[Codigo da Destinacao]
        EndIf
        KeyPress "ESC"
EndIf

VSD_TABELA_PRECO=ControlValue("I_TABELA_PRECO")
If Not IsBlank(VSD_TABELA_PRECO)
   Then Moveto [Tabela_Preco]
        Ativa_Lookup()
        Locate VSD_TABELA_PRECO
        If Not RetVal
           Then Mensagem("Codigo da Tabela de Preco n„o Cadastrado !")
                Campo="I_TABELA_PRECO"
                KeyPress "ESC"
                Return False
           Else VSD_TABELA_PRECO=[Codigo da Tabela]
        EndIf
        KeyPress "ESC"
EndIf

VSD_TRANSPORTADORA=ControlValue("I_TRANSPORTADORA")
If Not IsBlank(VSD_TRANSPORTADORA)
   Then VSD_TRANSPORTADORA=Alinhm(VSD_TRANSPORTADORA,4)
        Moveto [Codigo_Transportadora]
        Ativa_Lookup()
        Moveto [Codigo da Transportadora]
        Locate VSD_TRANSPORTADORA
        If Not RetVal
           Then Mensagem("Transportadora n„o Cadastrada !")
                Campo="I_TRANSPORTADORA"
                KeyPress "ESC"
                Return False
           Else VSD_TRANSPORTADORA=[Codigo da Transportadora]
        EndIf
        KeyPress "ESC"
EndIf

VSD_CONTA_CAIXA=ControlValue("I_CONTA_CAIXA")
If Not IsBlank(VSD_CONTA_CAIXA)
   Then VSD_CONTA_CAIXA=AlinhM(ControlValue("I_CONTA_CAIXA"),4)
        Moveto [Codigo_Conta_Caixa]
        Ativa_Lookup()
        Locate VSD_CONTA_CAIXA
        If Not RetVal
           Then Mensagem("Codigo da Conta Caixa n„o Cadastrado !")
                Campo="I_CONTA_CAIXA"
                KeyPress "ESC"
                Return False
           Else Switch
                  Case [Tipo da Conta]<>"X":
                       Mensagem("Conta Invalida Somente Conta Caixa !")
                       Campo="I_CONTA_CAIXA"
                       KeyPress "ESC"
                       Return False
                EndSwitch
        EndIf
        KeyPress "ESC"
EndIf

VSD_FORMA_PAGTO=ControlValue("I_FORMA_PAGTO")
If Not IsBlank(VSD_FORMA_PAGTO)
   Then Moveto [Codigo_Forma_Pagto]
        Ativa_Lookup()
        Moveto [Tipo do Pagamento]
        Locate VSD_FORMA_PAGTO
        If Not RetVal
           Then Mensagem("Forma de Pagamento nÆo Cadastrada !")
                Campo="I_FORMA_PAGTO"
                KeyPress "ESC"
                Return False
           Else VSD_FORMA_PAGTO=[Tipo do Pagamento]
        EndIf
        KeyPress "ESC"
EndIf

VSD_DOC_ROM=ControlValue("I_DOC_ROM")
If Not IsBlanK(VSD_DOC_ROM)
   Then Moveto [Rom_Codigo Do Documento]
        Ativa_Lookup()
        Moveto [Codigo do Documento]
        Locate VSD_DOC_ROM
        If Not RetVal
           Then Mensagem("Tipo de Documento nÆo Cadastrado/Romaneio !")
                Campo="I_DOC_ROM"
                KeyPress "ESC"
                Return False
           Else VSD_DOC_ROM=[Codigo do Documento]
                VSD_TIP_ROM=[Tipo do Documento  ]
                VSD_SER_ROM=[Serie do Documento ]
                KeyPress "ESC"
        EndIf
EndIf

VSD_DOC_NFEN=ControlValue("I_DOC_NFEN")
If Not IsBlanK(VSD_DOC_NFEN)
   Then Moveto [NFEN_Codigo Do Docto]
        Ativa_Lookup()
        Moveto [Codigo do Documento]
        Locate VSD_DOC_NFEN
        If Not RetVal
           Then Mensagem("Tipo de Documento nÆo Cadastrado/NFe Normal !")
                Campo="I_DOC_NFEN"
                KeyPress "ESC"
                Return False
           Else VSD_DOC_NFEN=[Codigo do Documento]
                VSD_TIP_NFEN=[Tipo do Documento  ]
                VSD_SER_NFEN=[Serie do Documento ]
                KeyPress "ESC"
        EndIf
EndIf

VSD_DOC_DUPNFEN=ControlValue("I_DOC_DUPNFEN")
If Not IsBlanK(VSD_DOC_DUPNFEN)
   Then Moveto [NFEN DUP_Codigo Do Docto]
        Ativa_Lookup()
        Moveto [Codigo do Documento]
        Locate VSD_DOC_DUPNFEN
        If Not RetVal
           Then Mensagem("Tipo de Documento nÆo Cadastrado/Duplicata NFe Normal !")
                Campo="I_DOC_DUPNFEN"
                KeyPress "ESC"
                Return False
           Else VSD_DOC_DUPNFEN=[Codigo do Documento]
                VSD_TIP_DUPNFEN=[Tipo do Documento  ]
                VSD_SER_DUPNFEN=[Serie do Documento ]
                KeyPress "ESC"
        EndIf
EndIf

VSD_DOC_NSEN=ControlValue("I_DOC_NSEN")
If Not IsBlanK(VSD_DOC_NSEN)
   Then Moveto [NSEN_Codigo do Docto]
        Ativa_Lookup()
        Moveto [Codigo do Documento]
        Locate VSD_DOC_NSEN
        If Not RetVal
           Then Mensagem("Tipo de Documento nÆo Cadastrado/NFe Scan !")
                Campo="I_DOC_NSEN"
                KeyPress "ESC"
                Return False
           Else VSD_DOC_NSEN=[Codigo do Documento]
                VSD_TIP_NSEN=[Tipo do Documento  ]
                VSD_SER_NSEN=[Serie do Documento ]
                KeyPress "ESC"
        EndIf
EndIf

VSD_DOC_DUPNSEN=ControlValue("I_DOC_DUPNSEN")
If Not IsBlanK(VSD_DOC_DUPNSEN)
   Then Moveto [NSEN Dup_Codigo do Docto]
        Ativa_Lookup()
        Moveto [Codigo do Documento]
        Locate VSD_DOC_DUPNSEN
        If Not RetVal
           Then Mensagem("Tipo de Documento nÆo Cadastrado/Duplicata NSEN")
                Campo="I_DOC_DUPNSEN"
                KeyPress "ESC"
                Return False
           Else VSD_DOC_DUPNSEN=[Codigo do Documento]
                VSD_TIP_DUPNSEN=[Tipo do Documento  ]
                VSD_SER_DUPNSEN=[Serie do Documento ]
                KeyPress "ESC"
        EndIf
EndIf

 VSD_DATAS_VENCTOS=ControlValue("I_DATAS_VENCTOS")
 If IsBlank(VSD_DATAS_VENCTOS)
    Then VSD_DATAS_VENCTOS="C"
 EndIf

 VSD_DATA_BASE=ControlValue("I_DATA_BASE")
 If IsBlank(VSD_DATA_BASE)
    Then VSD_DATA_BASE="N"
 EndIf

 VSD_PEDIDO=ControlValue("I_PEDIDO")
 If IsBlank(VSD_PEDIDO)
    Then VSD_PEDIDO="N"
 EndIf
 If VSD_PEDIDO="S"
    Then VSD_ORCAMENTO="N"
         VSD_ORDEM_SERVICO="N"
 EndIf

 VSD_ORCAMENTO=ControlValue("I_ORCAMENTO")
 If IsBlank(VSD_ORCAMENTO)
    Then VSD_ORCAMENTO="N"
 EndIf
 If VSD_ORCAMENTO="S"
    Then VSD_PEDIDO="N"
         VSD_ORDEM_SERVICO="N"
 EndIf

 VSD_ORDEM_SERVICO=ControlValue("I_ORDEM_SERVICO")
 If IsBlank(VSD_ORDEM_SERVICO)
    Then VSD_ORDEM_SERVICO="N"
 EndIf
 If VSD_ORDEM_SERVICO="S"
    Then VSD_PEDIDO    = "N"
         VSD_ORCAMENTO = "N"
 EndIf

 VSD_CUPOM_FISCAL=ControlValue("I_CUPOM_FISCAL")
 If IsBlank(VSD_CUPOM_FISCAL)
    Then VSD_CUPOM_FISCAL="N"
 EndIf

 VSD_VISITA=ControlValue("I_VISITA")
 If IsBlank(VSD_VISITA)
    Then VSD_VISITA="N"
 EndIf

 VSD_LIMITE_CREDITO=ControlValue("I_LIMITE_CREDITO")
 If IsBlank(VSD_LIMITE_CREDITO)
    Then VSD_LIMITE_CREDITO="N"
 EndIf

 VSD_DIAS_ATRASO=ControlValue("I_DIAS_ATRASO")
 If IsBlank(VSD_DIAS_ATRASO)
    Then VSD_DIAS_ATRASO="N"
 EndIf

 VSD_BLOQAUT=ControlValue("I_BLOQAUT")
 If IsBlank(VSD_BLOQAUT)
    Then VSD_BLOQAUT="N"
 EndIf

 VSD_EMERC=ControlValue("I_EMERC")
 If IsBlank(VSD_EMERC)
    Then VSD_EMERC="N"
 EndIf

 VSD_FATURA_NUMERO=ControlValue("I_FATURA_NUMERO")
 If IsBlank(VSD_FATURA_NUMERO)
    Then VSD_FATURA_NUMERO="N"
 EndIf

 VSD_AVISTAAUTOMAT=ControlValue("I_AVISTAAUTOMAT")
 If IsBlank(VSD_AVISTAAUTOMAT)
    Then VSD_AVISTAAUTOMAT="N"
 EndIf

 VSD_APRAZOAUTOMAT=ControlValue("I_APRAZOAUTOMAT")
 If IsBlank(VSD_APRAZOAUTOMAT)
    Then VSD_APRAZOAUTOMAT="N"
 EndIf

 VSD_AVISTADUPLIC=ControlValue("I_AVISTADUPLIC")
 If IsBlank(VSD_AVISTADUPLIC)
    Then VSD_AVISTADUPLIC="N"
 EndIf

 VSD_DUPLIC_NUMERO=ControlValue("I_DUPLIC_NUMERO")
 If IsBlank(VSD_DUPLIC_NUMERO)
    Then VSD_DUPLIC_NUMERO="I"
 EndIf

 VSD_FORMA_TXJUROS=ControlValue("I_FORMA_TXJUROS")

 VSD_TXJUROS=ControlValue("I_TXJUROS")
 If IsBlank(VSD_TXJUROS)
    Then VSD_FORMA_TXJUROS=""
 EndIf

 VSD_COMIS_VENCTO=ControlValue("I_COMIS_VENCTO")
 If IsBlank(VSD_COMIS_VENCTO)
    Then VSD_COMIS_VENCTO="N"
 EndIf

 VSD_CHEQUES=ControlValue("I_CHEQUES")
 If IsBlank(VSD_CHEQUES)
    Then VSD_CHEQUES="N"
 EndIf

 VSD_NLINF=ControlValue("I_NLINF")
 If IsBlank(VSD_NLINF)
    Then VSD_NLINF="N"
 EndIf

 VSD_NVIAS_ROMANEIO=ControlValue("I_NVIAS_ROMANEIO")
 If IsBlank(VSD_NVIAS_ROMANEIO) Or VSD_NVIAS_ROMANEIO<=0
    Then VSD_NVIAS_ROMANEIO=1
 EndIf

 VSD_TRANSFERENCIA=ControlValue("I_TRANSFERENCIA")
 If IsBlank(VSD_TRANSFERENCIA)
    Then VSD_TRANSFERENCIA="N"
 EndIf

 VSD_UTILIZA_COMIS_VEND=ControlValue("I_UTILIZA_COMIS_VEND")
 If IsBlank(VSD_UTILIZA_COMIS_VEND)
    Then VSD_UTILIZA_COMIS_VEND="N"
 EndIf

 VSD_UTILIZA_COMIS_VEND_RT=ControlValue("I_UTILIZA_COMIS_VEND_RT")
 If IsBlank(VSD_UTILIZA_COMIS_VEND_RT)
    Then VSD_UTILIZA_COMIS_VEND_RT="N"
 EndIf

 VSD_RATEIO_COMIS_VEND=ControlValue("I_RATEIO_COMIS_VEND")
 If IsBlank(VSD_RATEIO_COMIS_VEND)
    Then VSD_RATEIO_COMIS_VEND="N"
 EndIf

Return WV

EndProc ; (Verifica)

;*******************************************************************************
;* Rotina Gravar                                                               *
;*******************************************************************************
Proc Verifica2()

   VSD_ROMANEIO=ControlValue("I_ROMANEIO")
   VSD_ROMANEIO2=ControlValue("I_ROMANEIO2")
   VSD_NPROMISSORIA=ControlValue("I_NPROMISSORIA")
   VSD_CARNE=ControlValue("I_CARNE")
   VSD_BOLETO=ControlValue("I_BOLETO")
   VSD_SENTREGA=ControlValue("I_SENTREGA")
   VSD_PENTREGA=ControlValue("I_PENTREGA")
   ;VSD_NITENS=ControlValue("I_NITENS")
   ;VSD_DITENS=ControlValue("I_DITENS")
   ;VSD_OBS=ControlValue("I_OBS")
    
   VSD_BLOQUEIA_NEG=ControlValue("I_BLOQUEIA_NEG")
   If IsBlank(VSD_BLOQUEIA_NEG)
      Then VSD_BLOQUEIA_NEG="N"
   EndIf

   VSD_UTILIZA_BXPARCIAL=ControlValue("I_UTILIZA_BXPARCIAL")
   If IsBlank(VSD_UTILIZA_BXPARCIAL)
      Then VSD_UTILIZA_BXPARCIAL="N"
   EndIf

   VSD_UTILIZACDBARRA=ControlValue("I_UTILIZACDBARRA")
   If IsBlank(VSD_UTILIZACDBARRA)
      Then VSD_UTILIZACDBARRA="N"
   EndIf

   VSD_COR_TECIDO=ControlValue("I_COR_TECIDO")
   If IsBlank(VSD_COR_TECIDO)
      Then VSD_COR_TECIDO="N"
   EndIf

   VSD_TAMANHO=ControlValue("I_TAMANHO")
   If IsBlank(VSD_TAMANHO)
      Then VSD_TAMANHO="N"
   EndIf

   VSD_COMIS_ITEM=ControlValue("I_COMIS_ITEM")
   If IsBlank(VSD_COMIS_ITEM)
      Then VSD_COMIS_ITEM="N"
   EndIf

   VSD_ALTERA_PRECO=ControlValue("I_ALTERA_PRECO")
   If IsBlank(VSD_ALTERA_PRECO)
      Then VSD_ALTERA_PRECO="S"
   EndIf

   VSD_IMPOSTOS=ControlValue("I_IMPOSTOS")
   If IsBlank(VSD_IMPOSTOS)
      Then VSD_IMPOSTOS="S"
   EndIf

   VSD_VOLUMES=ControlValue("I_VOLUMES")
   If IsBlank(VSD_VOLUMES)
      Then VSD_VOLUMES="N"
   EndIf

   VSD_COMIS_MARCA=ControlValue("I_COMIS_MARCA")
   If IsBlank(VSD_COMIS_MARCA)
      Then VSD_COMIS_MARCA="N"
   EndIf

   VSD_TPITEM=ControlValue("I_TPITEM")
   If IsBlank(VSD_TPITEM)
      Then VSD_TPITEM="N"
   EndIf

   VSD_CPITEM=ControlValue("I_CPITEM")
   If IsBlank(VSD_CPITEM)
      Then VSD_CPITEM="N"
   EndIf

   VSD_ULTCTT=ControlValue("I_ULTCTT")
   If IsBlank(VSD_ULTCTT)
      Then VSD_ULTCTT="N"
   EndIf

   VSD_TABPR_CLIENTE=ControlValue("I_TABPR_CLIENTE")
   If IsBlank(VSD_TABPR_CLIENTE)
      Then VSD_TABPR_CLIENTE="N"
   EndIf

   VSD_TABPR_REPRES=ControlValue("I_TABPR_REPRES")
   If IsBlank(VSD_TABPR_REPRES)
      Then VSD_TABPR_REPRES="N"
   EndIf

   VSD_TABPR_CPAGTO=ControlValue("I_TABPR_CPAGTO")
   If IsBlank(VSD_TABPR_CPAGTO)
      Then VSD_TABPR_CPAGTO="N"
   EndIf

  VSD_BLOQUEIA_CANCEL=ControlValue("I_BLOQUEIA_CANCEL")
  If IsBlank(VSD_BLOQUEIA_CANCEL)
     Then VSD_BLOQUEIA_CANCEL="N"
  EndIf

  VSD_NBLOQUEIO_SPC=ControlValue("I_NBLOQUEIO_SPC")
  If IsBlank(VSD_NBLOQUEIO_SPC)
     Then VSD_NBLOQUEIO_SPC=BlankNum()
  EndIf
  
  VSD_BLOQUEIA_ALTERA=ControlValue("I_BLOQUEIA_ALTERA")
  If IsBlank(VSD_BLOQUEIA_ALTERA)
     Then VSD_BLOQUEIA_ALTERA="N"
  EndIf

   VSD_DESCTO=ControlValue("I_DESCTO")
   If IsBlank(VSD_DESCTO)
      Then VSD_DESCTO="N"
   EndIf
   If VSD_DESCTO="N"
      Then VSD_TPDESCTO=""
           VSD_TXDESCTO=BlankNum()
   EndIf

   VSD_DESCUNIT=ControlValue("I_DESCUNIT")
   If IsBlank(VSD_DESCUNIT)
      Then VSD_DESCUNIT="N"
   EndIf

   VSD_DESCTOUNIT=ControlValue("I_DESCTOUNIT")
   If IsBlank(VSD_DESCTOUNIT)
      Then VSD_DESCTOUNIT="N"
   EndIf
   If VSD_DESCTOUNIT="N"
      Then VSD_TPDESCTOUNIT=""
           VSD_TXDESCTOUNIT=BlankNum()
   EndIf

   VSD_BLOQUEIA_NF=ControlValue("I_BLOQUEIA_NF")
   If IsBlank(VSD_BLOQUEIA_NF)
      Then VSD_BLOQUEIA_NF="N"
   EndIf
   
   VSD_BLOQUEIA_IMP=ControlValue("I_BLOQUEIA_IMP")
   If IsBlank(VSD_BLOQUEIA_IMP)
      Then VSD_BLOQUEIA_IMP="N"
   EndIf
   
   VSD_ENTRADA=ControlValue("I_ENTRADA")
   If IsBlank(VSD_ENTRADA)
      Then VSD_ENTRADA="3"
   EndIf

   VSD_RESTR_CNPJCPF=ControlValue("I_RESTR_CNPJCPF")
   If IsBlank(VSD_RESTR_CNPJCPF)
      Then VSD_RESTR_CNPJCPF="N"
   EndIf
   
   VSD_TPCONS_CLIENTE=ControlValue("I_TPCONS_CLIENTE")
   If IsBlank(VSD_TPCONS_CLIENTE)
      Then VSD_TPCONS_CLIENTE="P"
   EndIf
   
   VSD_EXPEDET=ControlValue("I_EXPEDET")
   If IsBlank(VSD_EXPEDET)
      Then VSD_EXPEDET="N"
   EndIf   
   

   
EndProc

;*******************************************************************************
;* Rotina Gravar                                                               *
;*******************************************************************************
Proc Verifica3()

   VSD_TITCRED=ControlValue("I_TITCRED")
   If IsBlank(VSD_TITCRED)
      Then VSD_TITCRED="N"
   EndIf
   
   VSD_BLOQ_ITEM=ControlValue("I_BLOQ_ITEM")
   If IsBlank(VSD_BLOQ_ITEM)
      Then VSD_BLOQ_ITEM="S"              
   EndIf                                  
   
   VSD_DADOS_ITEM_RESUMO=ControlValue("I_DADOS_ITEM_RESUMO")
   If IsBlank(VSD_DADOS_ITEM_RESUMO)
      Then VSD_DADOS_ITEM_RESUMO="N"
   EndIf
   
EndProc
;*******************************************************************************
;* Rotina Gravacao ou Leitura dos Parametros                                   *
;*******************************************************************************
Proc PARAM_OPCAO(OP)
Private OP
Switch
  Case OP = "Gravar":
       [Codigo_Destinacao        ] = VSD_DESTINACAO
       [Codigo_Conta_Caixa       ] = VSD_CONTA_CAIXA
       [Codigo_Forma_Pagto       ] = VSD_FORMA_PAGTO
       [Datas_Vencimentos        ] = VSD_DATAS_VENCTOS
       [Informa_Data_CalcVenctos ] = VSD_DATA_BASE
       [Cor_Tecido               ] = VSD_COR_TECIDO
       [Tamanho                  ] = VSD_TAMANHO
       [Desconto Unitario        ] = VSD_DESCUNIT
       [Volumes                  ] = VSD_VOLUMES
       [Utiliza_Pedido           ] = VSD_PEDIDO
       [Utiliza_Orcamento        ] = VSD_ORCAMENTO
       [Utiliza_OS               ] = VSD_ORDEM_SERVICO
       [Bloqueia_Estoque_Negativo] = VSD_BLOQUEIA_NEG
       [NVias_Romaneio           ] = VSD_NVIAS_ROMANEIO
       [Impostos                 ] = VSD_IMPOSTOS
       [Tabela_Preco             ] = VSD_TABELA_PRECO
       [Codigo_Transportadora    ] = VSD_TRANSPORTADORA
       [Utiliza_Limite_Credito   ] = VSD_LIMITE_CREDITO
       [Utiliza_Dias_Atraso      ] = VSD_DIAS_ATRASO
       [Bloqueia_Autorizados     ] = VSD_BLOQAUT
       [Utiliza_Alteracao_Preco  ] = VSD_ALTERA_PRECO
       [Utiliza_Cupom_Fiscal     ] = VSD_CUPOM_FISCAL
       [Utiliza_Transferencia    ] = VSD_TRANSFERENCIA
       [Utiliza_Controle_Cheques ] = VSD_CHEQUES
       [Gera_VendasVista_Automat ] = VSD_AVISTAAUTOMAT
       [Gera_VendasPrazo_Automat ] = VSD_APRAZOAUTOMAT
       [Gera_Duplicatas_AVista   ] = VSD_AVISTADUPLIC
       [Duplicata_TxJuros        ] = VSD_TXJUROS
       [Duplicata_Forma_TxJuros  ] = VSD_FORMA_TXJUROS
       [Gera_Duplicatas_Numero   ] = VSD_DUPLIC_NUMERO
       [Comissao_Item            ] = VSD_COMIS_ITEM
       [Utiliza_Comissao_Marca   ] = VSD_COMIS_MARCA
       [Utiliza_Tabela_Preco_Item] = VSD_TPITEM
       [Calcula_Comissao_Vencto  ] = VSD_COMIS_VENCTO
       [Utiliza_Codigo_Barras    ] = VSD_UTILIZACDBARRA
       [Entrega_Mercadoria       ] = VSD_EMERC
       [Script_Impressao_Romaneio] = VSD_ROMANEIO
       [Script_Impressao_Rom2    ] = VSD_ROMANEIO2
       [Script_Impressao_NP      ] = VSD_NPROMISSORIA
       [Script_Carne             ] = VSD_CARNE
       [Script_Impressao_Boleto  ] = VSD_BOLETO
       [Script_Impressao_Entrega ] = VSD_SENTREGA
       [Script_Impressao_OF      ] = VSD_OF
       [Porta_Impressao_Entrega  ] = VSD_PENTREGA
       [NLCheque_Igual_NF        ] = VSD_NLINF
       [Utiliza_Visita           ] = VSD_VISITA
       [Utiliza_Comissao_Vendedor] = VSD_UTILIZA_COMIS_VEND
       [Utiliza_Rateio_Comissao  ] = VSD_RATEIO_COMIS_VEND
       [Utiliza_UltCust_Transfer ] = VSD_ULTCTT
       [Utiliza_Comissao_VendReal] = VSD_UTILIZA_COMIS_VEND_RT
       [Utiliza_TabPreco_Cliente ] = VSD_TABPR_CLIENTE
       [Utiliza_TabPreco_Repres  ] = VSD_TABPR_REPRES
       [Pega_Preco_Tabela_CPagto ] = VSD_TABPR_CPAGTO
       [Utiliza_Baixa_Parcial_Ped] = VSD_UTILIZA_BXPARCIAL

       [Numero_Itens             ] = VSD_NITENS
       [Tamanho_Descricao_Item   ] = VSD_DITENS
       [NLinhas_Obs_Campo_Itens  ] = VSD_OBS

       [Utiliza_Bloqueio_Descto  ] = VSD_DESCTO
       [Tipo_Bloqueio_Descto     ] = VSD_TPDESCTO
       [Taxa_Bloqueio_Descto     ] = VSD_TXDESCTO

       [Utiliza_Bloqueio_DesctoUn] = VSD_DESCTOUNIT
       [Tipo_Bloqueio_DesctoUn   ] = VSD_TPDESCTOUNIT
       [Taxa_Bloqueio_DesctoUn   ] = VSD_TXDESCTOUNIT
       
       [Rom_Codigo do Documento  ] = VSD_DOC_ROM
       [Rom_Tipo do Documento    ] = VSD_TIP_ROM
       [Rom_Serie do Documento   ] = VSD_SER_ROM
       
       [NFEN_Codigo do Docto     ] = VSD_DOC_NFEN
       [NFEN_Tipo do Docto       ] = VSD_TIP_NFEN
       [NFEN_Serie do Docto      ] = VSD_SER_NFEN
       
       [NFEN Dup_Codigo do Docto ] = VSD_DOC_DUPNFEN
       [NFEN Dup_Tipo do Docto   ] = VSD_TIP_DUPNFEN
       [NFEN Dup_Serie do Docto  ] = VSD_SER_DUPNFEN
       
       [NSEN_Codigo do Docto     ] = VSD_DOC_NSEN   
       [NSEN_Tipo do Docto       ] = VSD_TIP_NSEN   
       [NSEN_Serie do Docto      ] = VSD_SER_NSEN 
       
       [NSEN Dup_Codigo do Docto ] = VSD_DOC_DUPNSEN  
       [NSEN Dup_Tipo do Docto   ] = VSD_TIP_DUPNSEN  
       [NSEN Dup_Serie do Docto  ] = VSD_SER_DUPNSEN          
       
       [Gera_Fatura_Igual_OF     ] = VSD_FATURA_NUMERO
       [Bloqueia Cancelamento    ] = VSD_BLOQUEIA_CANCEL
       [Bloqueia_Alteracao_NF    ] = VSD_BLOQUEIA_ALTERA
       [Bloqueia_Reemissao_NF    ] = VSD_BLOQUEIA_NF
       [Bloqueia_Impressao_2via  ] = VSD_BLOQUEIA_IMP
       [Utiliza_Entrada          ] = VSD_ENTRADA
       [NDias_Bloqueio_SPC       ] = VSD_NBLOQUEIO_SPC                 
       [Utiliza_Restricao_CNPJCPF] = VSD_RESTR_CNPJCPF  
       [Utiliza CP e FP Cliente  ] = VSD_CONDPAGTO
       [Tipo_Consulta_Cliente    ] = VSD_TPCONS_CLIENTE
       [Utiliza_Exped_Etiqueta   ] = VSD_EXPEDET
       [Utiliza_Titulo_Credito   ] = VSD_TITCRED
       [Bloqueia_Dig_ItemPedido  ] = VSD_BLOQ_ITEM
       [Dig_DadosItem_Resumo     ] = VSD_DADOS_ITEM_RESUMO
       
  Case OP = "Ler":
       VSD_EMPRESA          = [Codigo_Empresa           ]
       VSD_DESTINACAO       = [Codigo_Destinacao        ]
       VSD_CONTA_CAIXA      = [Codigo_Conta_Caixa       ]
       VSD_FORMA_PAGTO      = [Codigo_Forma_Pagto       ]
       VSD_DATAS_VENCTOS    = [Datas_Vencimentos        ]
       VSD_DATA_BASE        = [Informa_Data_CalcVenctos ]
       VSD_COR_TECIDO       = [Cor_Tecido               ]
       VSD_TAMANHO          = [Tamanho                  ]
       VSD_DESCUNIT         = [Desconto Unitario        ]
       VSD_VOLUMES          = [Volumes                  ]
       VSD_PEDIDO           = [Utiliza_Pedido           ]
       VSD_ORCAMENTO        = [Utiliza_Orcamento        ]
       VSD_ORDEM_SERVICO    = [Utiliza_OS               ]
       VSD_BLOQUEIA_NEG     = [Bloqueia_Estoque_Negativo]
       VSD_NVIAS_ROMANEIO   = [NVias_Romaneio           ]
       VSD_IMPOSTOS         = [Impostos                 ]
       VSD_TABELA_PRECO     = [Tabela_Preco             ]
       VSD_TRANSPORTADORA   = [Codigo_Transportadora    ]
       VSD_LIMITE_CREDITO   = [Utiliza_Limite_Credito   ]
       VSD_ALTERA_PRECO     = [Utiliza_Alteracao_Preco  ]
       VSD_DIAS_ATRASO      = [Utiliza_Dias_Atraso      ]
       VSD_BLOQAUT          = [Bloqueia_Autorizados     ]
       VSD_CUPOM_FISCAL     = [Utiliza_Cupom_Fiscal     ]
       VSD_TRANSFERENCIA    = [Utiliza_Transferencia    ]
       VSD_CHEQUES          = [Utiliza_Controle_Cheques ]
       VSD_AVISTAAUTOMAT    = [Gera_VendasVista_Automat ]
       VSD_APRAZOAUTOMAT    = [Gera_VendasPrazo_Automat ]
       VSD_AVISTADUPLIC     = [Gera_Duplicatas_AVista   ]
       VSD_TXJUROS          = [Duplicata_TxJuros        ]
       VSD_FORMA_TXJUROS    = [Duplicata_Forma_TxJuros  ]
       VSD_DUPLIC_NUMERO    = [Gera_Duplicatas_Numero   ]
       VSD_COMIS_ITEM       = [Comissao_Item            ]
       VSD_COMIS_MARCA      = [Utiliza_Comissao_Marca   ]
       VSD_CPITEM           = "N" ;nao utilizar mais condicao de pagto no item
       VSD_TPITEM           = [Utiliza_Tabela_Preco_Item]
       VSD_COMIS_VENCTO     = [Calcula_Comissao_Vencto  ]
       VSD_UTILIZACDBARRA   = [Utiliza_Codigo_Barras    ]
       VSD_EMERC            = [Entrega_Mercadoria       ]
       VSD_ROMANEIO         = [Script_Impressao_Romaneio]
       VSD_ROMANEIO2        = [Script_Impressao_Rom2    ]
       VSD_NPROMISSORIA     = [Script_Impressao_NP      ]
       VSD_CARNE            = [Script_Carne             ]
       VSD_BOLETO           = [Script_Impressao_Boleto  ]
       VSD_SENTREGA         = [Script_Impressao_Entrega ]
       VSD_OF               = [Script_Impressao_OF      ]
       VSD_PENTREGA         = [Porta_Impressao_Entrega  ]
       VSD_NLINF            = [NLCheque_Igual_NF        ]
       VSD_VISITA           = [Utiliza_Visita           ]
       VSD_UTILIZA_COMIS_VEND    = [Utiliza_Comissao_Vendedor]
       VSD_RATEIO_COMIS_VEND     = [Utiliza_Rateio_Comissao  ]
       VSD_ULTCTT                =[Utiliza_UltCust_Transfer  ]
       VSD_UTILIZA_COMIS_VEND_RT = [Utiliza_Comissao_VendReal]
       VSD_TABPR_CLIENTE    = [Utiliza_TabPreco_Cliente ]
       VSD_TABPR_REPRES     = [Utiliza_TabPreco_Repres  ]
       VSD_TABPR_CPAGTO     = [Pega_Preco_Tabela_CPagto ]
       VSD_UTILIZA_BXPARCIAL= [Utiliza_Baixa_Parcial_Ped]

       VSD_NITENS          = [Numero_Itens              ] 
       VSD_DITENS          = [Tamanho_Descricao_Item    ]
       VSD_OBS             = [NLinhas_Obs_Campo_Itens   ]

       VSD_DESCTO           = [Utiliza_Bloqueio_Descto  ]
       VSD_TPDESCTO         = [Tipo_Bloqueio_Descto     ]
       VSD_TXDESCTO         = [Taxa_Bloqueio_Descto     ]

       VSD_DESCTOUNIT       = [Utiliza_Bloqueio_DesctoUn]
       VSD_TPDESCTOUNIT     = [Tipo_Bloqueio_DesctoUn   ]
       VSD_TXDESCTOUNIT     = [Taxa_Bloqueio_DesctoUn   ]

       VSD_DOC_ROM = [Rom_Codigo do Documento  ]  
       VSD_TIP_ROM = [Rom_Tipo do Documento    ]  
       VSD_SER_ROM = [Rom_Serie do Documento   ]  

       VSD_DOC_NFEN= [NFEN_Codigo do Docto  ]  
       VSD_TIP_NFEN= [NFEN_Tipo do Docto    ]  
       VSD_SER_NFEN= [NFEN_Serie do Docto   ] 
       
       VSD_DOC_DUPNFEN = [NFEN Dup_Codigo do Docto  ]  
       VSD_TIP_DUPNFEN = [NFEN Dup_Tipo do Docto    ]  
       VSD_SER_DUPNFEN = [NFEN Dup_Serie do Docto   ]   
       
       VSD_DOC_NSEN= [NSEN_Codigo do Docto  ]  
       VSD_TIP_NSEN= [NSEN_Tipo do Docto    ]  
       VSD_SER_NSEN= [NSEN_Serie do Docto   ] 
       
       VSD_DOC_DUPNSEN = [NSEN Dup_Codigo do Docto  ]  
       VSD_TIP_DUPNSEN = [NSEN Dup_Tipo do Docto    ]  
       VSD_SER_DUPNSEN = [NSEN Dup_Serie do Docto   ]       
       
       VSD_FATURA_NUMERO =[Gera_Fatura_Igual_OF     ]

       VSD_BLOQUEIA_CANCEL=[Bloqueia Cancelamento    ]
       VSD_BLOQUEIA_ALTERA=[Bloqueia_Alteracao_NF    ]
       VSD_BLOQUEIA_NF    =[Bloqueia_Reemissao_NF    ]
       VSD_BLOQUEIA_IMP   =[Bloqueia_Impressao_2via  ]
       
       VSD_ENTRADA        =[Utiliza_Entrada          ]
       VSD_NBLOQUEIO_SPC  =[NDias_Bloqueio_SPC       ]
       VSD_RESTR_CNPJCPF  =[Utiliza_Restricao_CNPJCPF]
       VSD_CONDPAGTO      =[Utiliza CP e FP Cliente  ]
       VSD_TPCONS_CLIENTE =[Tipo_Consulta_Cliente    ]
       VSD_EXPEDET        =[Utiliza_Exped_Etiqueta   ]
       VSD_TITCRED        =[Utiliza_Titulo_Credito   ]
       VSD_BLOQ_ITEM      =[Bloqueia_Dig_ItemPedido  ]
       VSD_DADOS_ITEM_RESUMO = [Dig_DadosItem_Resumo ]  
 
   Case OP = "Inicio":
       NewCampo            ="I_EMPRESA"
       Moveto [Codigo_Empresa]
       End Down

EndSwitch
EndProc   ; (Param_Opcao)

;*******************************************************************************
;* Rotina Localiza_Registro                                                    *
;*******************************************************************************
Proc Chave()
Moveto [Codigo_Empresa]
Del
Locate VSD_EMPRESA
If RetVal
   Then While True
          If Not IsLockRecord() Then QuitLoop EndIf
        EndWhile
        Chave=0
        PARAM_OPCAO("Ler")
   Else Chave=1
        End Down
        [Codigo_Empresa]=VSD_EMPRESA
        PARAM_OPCAO("Inicio")
EndIf

EndProc  ; (Chave)

;*******************************************************************************
;* Rotina Primeira Tela                                                        *
;*******************************************************************************
Proc PriTela()
Show_Tela=1
INICIO_DIALOGO=True

Showdialog "Configura‡„o Fatura" Proc "Param_Dialog"
   Trigger "OPEN","ARRIVE"
    Key "F1","TAB","ReverseTab","ENTER","ESC","F4","ClearArea","PGDN"
     @ 01,0 height 22 width 80

   Label  @ 00,00 "Empresa" for "I_EMPRESA"
   Accept @ 01,01 Width 07 "A4" picture "#*#" Tag "I_EMPRESA" to VSD_EMPRESA

   Label  @ 00,10 "Destina‡„o" for "I_DESTINACAO"
   Accept @ 01,11 Width 06 "A3" picture "#*#" Tag "I_DESTINACAO" to VSD_DESTINACAO

   Label  @ 00,22 "Tabela Pre‡o" for "I_TABELA_PRECO"
   Accept @ 01,23 Width 08 "A5" picture "#*#" Tag "I_TABELA_PRECO" to VSD_TABELA_PRECO

   Label  @ 00,36 "Transportadora" for "I_TRANSPORTADORA"
   Accept @ 01,37 Width 07 "A4" picture "#*#" Tag "I_TRANSPORTADORA" to VSD_TRANSPORTADORA

   Label  @ 00,52 "Conta Caixa" for "I_CONTA_CAIXA"
   Accept @ 01,53 Width 07 "A4" picture "#*#" Tag "I_CONTA_CAIXA" to VSD_CONTA_CAIXA

   Label  @ 00,65 "F.Pagto" for "I_FORMA_PAGTO"
   Accept @ 01,66 Width 05 "A2" picture "&*&" Tag "I_FORMA_PAGTO" to VSD_FORMA_PAGTO  
   

   Label  @ 02,00 "Romaneio       [                 ]" for "I_DOC_ROM"
   Accept @ 02,17 Width 07 "A4" picture "!*!" Tag "I_DOC_ROM" to VSD_DOC_ROM
   Accept @ 02,23 Width 07 "A4" picture "!*!" Tag "I_TIP_ROM" to VSD_TIP_ROM
   Accept @ 02,28 Width 06 "A4" picture "!*!" Tag "I_SER_ROM" to VSD_SER_ROM

   Label  @ 03,00 "NF-e           [                 ]" for "I_DOC_NFEN"
   Accept @ 03,17 Width 07 "A4" picture "!*!" Tag "I_DOC_NFEN" to VSD_DOC_NFEN
   Accept @ 03,23 Width 07 "A4" picture "!*!" Tag "I_TIP_NFEN" to VSD_TIP_NFEN
   Accept @ 03,28 Width 06 "A4" picture "!*!" Tag "I_SER_NFEN" to VSD_SER_NFEN

   Label  @ 04,00 "DUP NF-e       [                 ]" for "I_DOC_DUPNFEN"
   Accept @ 04,17 Width 07 "A4" picture "!*!" Tag "I_DOC_DUPNFEN" to VSD_DOC_DUPNFEN
   Accept @ 04,23 Width 07 "A4" picture "!*!" Tag "I_TIP_DUPNFEN" to VSD_TIP_DUPNFEN
   Accept @ 04,28 Width 06 "A4" picture "!*!" Tag "I_SER_DUPNFEN" to VSD_SER_DUPNFEN

   Label  @ 05,00 "NFS-e          [                 ]" for "I_DOC_NSEN"
   Accept @ 05,17 Width 07 "A4" picture "!*!" Tag "I_DOC_NSEN" to VSD_DOC_NSEN
   Accept @ 05,23 Width 07 "A4" picture "!*!" Tag "I_TIP_NSEN" to VSD_TIP_NSEN
   Accept @ 05,28 Width 06 "A4" picture "!*!" Tag "I_SER_NSEN" to VSD_SER_NSEN

   Label  @ 06,00 "DUP NFS-e      [                 ]" for "I_DOC_DUPNSEN"
   Accept @ 06,17 Width 07 "A4" picture "!*!" Tag "I_DOC_DUPNSEN" to VSD_DOC_DUPNSEN
   Accept @ 06,23 Width 07 "A4" picture "!*!" Tag "I_TIP_DUPNSEN" to VSD_TIP_DUPNSEN
   Accept @ 06,28 Width 06 "A4" picture "!*!" Tag "I_SER_DUPNSEN" to VSD_SER_DUPNSEN

   Label  @ 07,00 "[    ] Data Vencimento" for "I_DATAS_VENCTOS"
   Accept @ 07,02 Width 04 "A1" picture "F,C" Tag "I_DATAS_VENCTOS" to VSD_DATAS_VENCTOS
   Label  @ 08,00 "[    ] Informa Data p/ Calc Venc." for "I_DATA_BASE"
   Accept @ 08,02 Width 04 "A1" picture "S,N" Tag "I_DATA_BASE" to VSD_DATA_BASE      
   Label  @ 09,00 "[    ] .." for "I_1"
   Accept @ 09,02 Width 04 "A1" picture "S,N" Tag "I_1" to VSD_1
   Label  @ 10,00 "[    ] .." for "I_2"
   Accept @ 10,02 Width 04 "A1" picture "S,N" Tag "I_2" to VSD_2
   Label  @ 11,00 "[    ] Utiliza Pedido" for "I_PEDIDO"
   Accept @ 11,02 Width 04 "A1" picture "S,N" Tag "I_PEDIDO" to VSD_PEDIDO
   Label  @ 12,00 "[    ] Utiliza Or‡amento" for "I_ORCAMENTO"
   Accept @ 12,02 Width 04 "A1" picture "S,N" Tag "I_ORCAMENTO" to VSD_ORCAMENTO
   Label  @ 13,00 "[    ] Utiliza Ordem de Servi‡o" for "I_ORDEM_SERVICO"
   Accept @ 13,02 Width 04 "A1" picture "S,N" Tag "I_ORDEM_SERVICO" to VSD_ORDEM_SERVICO
   Label  @ 14,00 "[    ] Utiliza Cupom Fiscal" for "I_CUPOM_FISCAL"
   Accept @ 14,02 Width 04 "A1" picture "S,N" Tag "I_CUPOM_FISCAL" to VSD_CUPOM_FISCAL
   Label  @ 15,00 "[    ] Utiliza Visita" for "I_VISITA"
   Accept @ 15,02 Width 4 "A1" picture "S,N" Tag "I_VISITA" to VSD_VISITA
   Label  @ 16,00 "[    ] Utiliza Limite de Credito" for "I_LIMITE_CREDITO"
   Accept @ 16,02 Width 04 "A1" picture "S,N,P" Tag "I_LIMITE_CREDITO" to VSD_LIMITE_CREDITO
   Label  @ 17,00 "[    ] Utiliza Dias de Atraso" for "I_DIAS_ATRASO"
   Accept @ 17,02 Width 04 "A1" picture "S,N,P" Tag "I_DIAS_ATRASO" to VSD_DIAS_ATRASO
   Label  @ 18,00 "[    ] Bloqueia Autorizados" for "I_BLOQAUT"
   Accept @ 18,02 Width 04 "A1" picture "S,N" Tag "I_BLOQAUT" to VSD_BLOQAUT
   Label  @ 19,00 "[    ] Entrega Mercadoria" for "I_EMERC"
   Accept @ 19,02  Width 04 "A1" picture "S,N" Tag "I_EMERC" to VSD_EMERC
   
   Label  @ 03,35 "[    ] Gerar Numera‡„o Fatura=OF" for "I_FATURA_NUMERO"
   Accept @ 03,37 Width 04 "A1" picture "S,N" Tag "I_FATURA_NUMERO" to VSD_FATURA_NUMERO
   Label  @ 04,35 "[    ] Gera Vendas a Vista Autom tica" for "I_AVISTAAUTOMAT"
   Accept @ 04,37 Width 04 "A1" picture "S,N" Tag "I_AVISTAAUTOMAT" to VSD_AVISTAAUTOMAT
   Label  @ 05,35 "[    ] Gera Vendas a Prazo Automatica" for "I_APRAZOAUTOMAT"
   Accept @ 05,37 Width 04 "A1" picture "S,N" Tag "I_APRAZOAUTOMAT" to VSD_APRAZOAUTOMAT
   Label  @ 06,35 "[    ] Gera Duplicatas a Vista" for "I_AVISTADUPLIC"
   Accept @ 06,37 Width 04 "A1" picture "S,N" Tag "I_AVISTADUPLIC" to VSD_AVISTADUPLIC
   Label  @ 07,35 "[    ] Gera Numero Duplicatas=NF" for "I_DUPLIC_NUMERO"
   Accept @ 07,37 Width 04 "A1" picture "I,D" Tag "I_DUPLIC_NUMERO" to VSD_DUPLIC_NUMERO
   Label  @ 08,35 "[    ] Forma Taxa de Juros Duplicata" for "I_FORMA_TXJUROS"
   Accept @ 08,37 Width 04 "A1" picture "D,M,A" Tag "I_FORMA_TXJUROS" to VSD_FORMA_TXJUROS
   Label  @ 09,35 "[       ] Taxa de Juros Duplicata" for "I_TXJUROS"
   Accept @ 09,37  Width 07 "N" picture "#*#.[##]" Tag "I_TXJUROS" to VSD_TXJUROS
   Label  @ 10,35 "[    ] Rateio de Comiss„o/Vencimentos" for "I_COMIS_VENCTO"
   Accept @ 10,37 Width 04 "A1" picture "S,N" Tag "I_COMIS_VENCTO" to VSD_COMIS_VENCTO
   Label  @ 11,35 "[    ] Controlar Cheques" for "I_CHEQUES"
   Accept @ 11,37 Width 04 "A1" picture "S,N" Tag "I_CHEQUES" to VSD_CHEQUES
   Label  @ 12,35 "[    ] No.Lancto Cheque Igual NF" for "I_NLINF"
   Accept @ 12,37 Width 4 "A1" picture "S,N" Tag "I_NLINF" to VSD_NLINF
   Label  @ 13,35 "[    ] N§ de Vias Romaneio" for "I_NVIAS_ROMANEIO"
   Accept @ 13,37 Width 04 "S"  picture "#*#" Tag "I_NVIAS_ROMANEIO" to VSD_NVIAS_ROMANEIO
   Label  @ 14,35 "[    ] Utiliza Transferˆncia" for "I_TRANSFERENCIA"
   Accept @ 14,37 Width 04 "A1" picture "S,N" Tag "I_TRANSFERENCIA" to VSD_TRANSFERENCIA
   Label  @ 15,35 "[    ] Utiliza Comiss„o/Repr/Desct" for "I_UTILIZA_COMIS_VEND"
   Accept @ 15,37 Width 04 "A1" picture "S,N" Tag "I_UTILIZA_COMIS_VEND" to VSD_UTILIZA_COMIS_VEND
   Label  @ 16,35 "[    ] Utiliza Comiss„o/Repr/Desct/Real" for "I_UTILIZA_COMIS_VEND_RT"
   Accept @ 16,37 Width 04 "A1" picture "S,N" Tag "I_UTILIZA_COMIS_VEND_RT" to VSD_UTILIZA_COMIS_VEND_RT
   Label  @ 17,35 "[    ] Rateio de Comiss„o/Vendedor" for "I_RATEIO_COMIS_VEND"
   Accept @ 17,37 Width 04 "A1" picture "N,T,I" Tag "I_RATEIO_COMIS_VEND" to VSD_RATEIO_COMIS_VEND

Enddialog

EndProc ;(PriTela)

;*******************************************************************************
;* Rotina Segunda Tela                                                        *
;*******************************************************************************
Proc SegTela()
Show_Tela=2
INICIO_DIALOGO=True
NewCampo="I_ROMANEIO"

Showdialog "Configura‡„o Fatura" Proc "Param_Dialog"
   Trigger "OPEN","ARRIVE"
    Key "F1","TAB","ReverseTab","ENTER","ESC","F4","ClearArea","PGDN","PGUP"
     @ 01,0 height 22 width 80

   Label  @ 00,01 "[           ] Script Romaneio" for "I_ROMANEIO"
   Accept @ 00,03 Width 11 "A8" picture "!*!" Tag "I_ROMANEIO" to VSD_ROMANEIO
   Label  @ 01,01 "[           ] Script Romaneio2" for "I_ROMANEIO2"
   Accept @ 01,03 Width 11 "A8" picture "!*!" Tag "I_ROMANEIO2" to VSD_ROMANEIO2
   Label  @ 02,01 "[           ] Script Promissoria" for "I_NPROMISSORIA"
   Accept @ 02,03 Width 11 "A8" picture "!*!" Tag "I_NPROMISSORIA" to VSD_NPROMISSORIA
   Label  @ 03,01 "[           ] Script Carnˆ" for "I_CARNE"
   Accept @ 03,03 Width 11 "A8" picture "!*!" Tag "I_CARNE" to VSD_CARNE
   Label  @ 04,01 "[           ] Script Boleto" for "I_BOLETO"
   Accept @ 04,03 Width 11 "A8" picture "!*!" Tag "I_BOLETO" to VSD_BOLETO
   Label  @ 05,01 "[           ] Script Entrega" for "I_SENTREGA"
   Accept @ 05,03 Width 11 "A8" picture "!*!" Tag "I_SENTREGA" to VSD_SENTREGA
   Label  @ 06,01 "[           ] Porta Imp. Entrega" for "I_PENTREGA"
   Accept @ 06,03 Width 11 "A4" picture "!*!" Tag "I_PENTREGA" to VSD_PENTREGA

   Label  @ 07,01 "[    ] Bloqueia Desconto Total" for "I_DESCTO"
   Accept @ 07,03 Width 04 "A1" picture "S,N,P" Tag "I_DESCTO" to VSD_DESCTO
   Label  @ 08,01 "[    ] Origem % Desconto Total" for "I_TPDESCTO"
   Accept @ 08,03 Width 04 "A1" picture "I,C" Tag "I_TPDESCTO" to VSD_TPDESCTO
   Label  @ 09,01 "[          ] % Desconto Total" for "I_TXDESCTO"
   Accept @ 09,03 Width 10 "N" picture "#*#.[####]" Tag "I_TXDESCTO" to VSD_TXDESCTO

   Label  @ 10,01 "[    ] Desconto Unitario" for "I_DESCUNIT"
   Accept @ 10,03 Width 04 "A1" picture "S,N" Tag "I_DESCUNIT" to VSD_DESCUNIT
   Label  @ 11,01 "[    ] Bloqueia Desconto Unit rio" for "I_DESCTOUNIT"
   Accept @ 11,03 Width 04 "A1" picture "S,N,P" Tag "I_DESCTOUNIT" to VSD_DESCTOUNIT
   Label  @ 12,01 "[    ] Origem % Desconto Unit rio" for "I_TPDESCTOUNIT"
   Accept @ 12,03 Width 04 "A1" picture "I,C,P" Tag "I_TPDESCTOUNIT" to VSD_TPDESCTOUNIT
   Label  @ 13,01 "[          ] % Desconto Unit rio" for "I_TXDESCTOUNIT"
   Accept @ 13,03 Width 10 "N" picture "#*#.[####]" Tag "I_TXDESCTOUNIT" to VSD_TXDESCTOUNIT
   Label  @ 14,01 "[    ] Bloqueia Estoque Negativo" for "I_BLOQUEIA_NEG"
   Accept @ 14,03 Width 04 "A1" picture "S,N" Tag "I_BLOQUEIA_NEG" to VSD_BLOQUEIA_NEG
   Label  @ 15,01 "[    ] Baixa Parcial do Pedido" for "I_UTILIZA_BXPARCIAL"
   Accept @ 15,03 Width 04 "A1" picture "S,N" Tag "I_UTILIZA_BXPARCIAL" to VSD_UTILIZA_BXPARCIAL
   Label  @ 16,01 "[    ] Utiliza C¢digo de Barras" for "I_UTILIZACDBARRA"
   Accept @ 16,03 Width 04 "A1" picture "S,N" Tag "I_UTILIZACDBARRA" to VSD_UTILIZACDBARRA
   Label  @ 17,01 "[    ] Cor Tecido" for "I_COR_TECIDO"
   Accept @ 17,03 Width 04 "A1" picture "S,N" Tag "I_COR_TECIDO" to VSD_COR_TECIDO
   Label  @ 18,01 "[    ] Tamanho" for "I_TAMANHO"
   Accept @ 18,03 Width 04 "A1" picture "S,N" Tag "I_TAMANHO" to VSD_TAMANHO
   Label  @ 19,01 "[    ] Altera Comiss„o Item" for "I_COMIS_ITEM"
   Accept @ 19,03 Width 04 "A1" picture "S,N,P" Tag "I_COMIS_ITEM" to VSD_COMIS_ITEM
   
   Label  @ 00,35 "[    ] Altera Pre‡o Unitario" for "I_ALTERA_PRECO"
	 Accept @ 00,37 Width 04 "A1" picture "S,N,P" Tag "I_ALTERA_PRECO" to VSD_ALTERA_PRECO
   Label  @ 01,35 "[    ] Utiliza Impostos" for "I_IMPOSTOS"
   Accept @ 01,37 Width 04 "A1" picture "S,N" Tag "I_IMPOSTOS" to VSD_IMPOSTOS
   Label  @ 02,35 "[    ] Volumes" for "I_VOLUMES"
   Accept @ 02,37 Width 04 "A1" picture "S,N" Tag "I_VOLUMES" to VSD_VOLUMES
   Label  @ 03,35 "[    ] Utiliza Comiss„o/Marca/Desct" for "I_COMIS_MARCA"
   Accept @ 03,37 Width 04 "A1" picture "S,N" Tag "I_COMIS_MARCA" to VSD_COMIS_MARCA
   Label  @ 04,35 "[    ] Utiliza Tabela Pre‡o no Item" for "I_TPITEM"
   Accept @ 04,37 Width 4 "A1" picture "S,N" Tag "I_TPITEM" to VSD_TPITEM
   Label  @ 05,35 "[    ] ..." for "I_CPITEM"  ; nÆo utiliza mais condi‡Æo pagto por item
   Accept @ 05,37 Width 4 "A1" picture "S,N" Tag "I_CPITEM" to VSD_CPITEM
   Label  @ 06,35 "[    ] Utiliza Ultimo Custo Transf." for "I_ULTCTT"
   Accept @ 06,37 Width 4 "A1" picture "S,N" Tag "I_ULTCTT" to VSD_ULTCTT
   Label  @ 07,35 "[    ] Utiliza Tab.Preco Cliente/Item" for "I_TABPR_CLIENTE"
   Accept @ 07,37 Width 4 "A1" picture "S,N" Tag "I_TABPR_CLIENTE" to VSD_TABPR_CLIENTE
   Label  @ 08,35 "[    ] Utiliza Tab.Preco Repres/Item" for "I_TABPR_REPRES"
   Accept @ 08,37 Width 4 "A1" picture "S,N" Tag "I_TABPR_REPRES" to VSD_TABPR_REPRES
   Label  @ 09,35 "[    ] Utiliza Pre‡o Tabela Cond.Pagto" for "I_TABPR_CPAGTO"
   Accept @ 09,37 Width 4 "A1" picture "S,N" Tag "I_TABPR_CPAGTO" to VSD_TABPR_CPAGTO
   Label  @ 10,35 "[    ] Bloqueia Cancelamento NF" for "I_BLOQUEIA_CANCEL"
   Accept @ 10,37 Width 4 "A1" picture "S,N,P" Tag "I_BLOQUEIA_CANCEL" to VSD_BLOQUEIA_CANCEL
   Label  @ 11,35 "[    ] Bloqueia Altera‡Æo NF" for "I_BLOQUEIA_ALTERA"
   Accept @ 11,37 Width 4 "A1" picture "S,N,P" Tag "I_BLOQUEIA_ALTERA" to VSD_BLOQUEIA_ALTERA  
   Label  @ 12,35 "[    ] Bloqueia Reemiss„o/Regera‡Æo NF" for "I_BLOQUEIA_NF"
   Accept @ 12,37 Width 04 "A1" picture "S,N,P" Tag "I_BLOQUEIA_NF" to VSD_BLOQUEIA_NF 
   Label  @ 13,35 "[    ] Bloqueia ImpressÆo 2¦ via NF" for "I_BLOQUEIA_IMP"
   Accept @ 13,37 Width 04 "A1" picture "S,N,P" Tag "I_BLOQUEIA_IMP" to VSD_BLOQUEIA_IMP
   Label  @ 14,35 "[    ] Altera Valor Primeira Parcela" for "I_ENTRADA"
   Accept @ 14,37 Width 04 "A1" picture "1,2,3" Tag "I_ENTRADA" to VSD_ENTRADA 
   Label  @ 15,35 "[      ] NDias de Bloqueio SPC" for "I_NBLOQUEIO_SPC"
   Accept @ 15,37 Width 06 "S" picture "#*#" Tag "I_NBLOQUEIO_SPC" to VSD_NBLOQUEIO_SPC
   Label  @ 16,35 "[    ] Utiliza Restri‡Æo CNPJ/CPF" for "I_RESTR_CNPJCPF"
   Accept @ 16,37 Width 4 "A1" picture "S,N,P" Tag "I_RESTR_CNPJCPF" to VSD_RESTR_CNPJCPF
   Label  @ 17,35 "[    ] Utiliza CP e FP do Cliente" for "I_CONDPAGTO"
   Accept @ 17,37 Width 04 "A1" picture "S,N" Tag "I_CONDPAGTO" to VSD_CONDPAGTO
   Label  @ 18,35 "[    ] Tipo Consulta Cliente [F1]" for "I_TPCONS_CLIENTE"
   Accept @ 18,37 Width 4 "A1" picture "P,S" Tag "I_TPCONS_CLIENTE" to VSD_TPCONS_CLIENTE
   Label  @ 19,35 "[    ] Utiliza Expedi‡„o com Etiqueta" for "I_EXPEDET"
   Accept @ 19,37 Width 04 "A1" picture "S,N" Tag "I_EXPEDET" to VSD_EXPEDET   
      
EndDialog

EndProc  ;(SegTela)

;*******************************************************************************
;* Rotina Terceira Tela                                                        *
;*******************************************************************************
Proc TerTela()

Show_Tela=3
INICIO_DIALOGO=True
NewCampo="I_TITCRED"

Showdialog "Configura‡„o Fatura" Proc "Param_Dialog"
   Trigger "OPEN","ARRIVE"
    Key "F1","TAB","ReverseTab","ENTER","ESC","F4","ClearArea","PGDN","PGUP"
     @ 01,0 height 22 width 80

   Label  @ 00,01 "[    ] Utiliza T¡tulo de Cr‚dito" for "I_TITCRED"
   Accept @ 00,03 Width 04 "A1" picture "N,T" Tag "I_TITCRED" to VSD_TITCRED
   
   Label  @ 01,01 "[    ] Bloqueia Digita‡„o do Item" for "I_BLOQ_ITEM"
   Accept @ 01,03 Width 04 "A1" picture "S,N" Tag "I_BLOQ_ITEM" to VSD_BLOQ_ITEM
   
   Label  @ 02,01 "[    ] Dados do Item Resumidos" for "I_DADOS_ITEM_RESUMO"
   Accept @ 02,03 Width 04 "A1" picture "S,N" Tag "I_DADOS_ITEM_RESUMO" to VSD_DADOS_ITEM_RESUMO
   
   Label  @ 03,01 "[           ] Script OF" for "I_OF"
   Accept @ 03,03 Width 11 "A8" picture "!*!" Tag "I_OF" to VSD_OF    
EndDialog

EndProc  ;(SegTela)

;*******************************************************************************
;* Rotina para posicionar registro                                             *
;*******************************************************************************
Proc Posiciona()
If IsBlank([Codigo_Empresa])
   Then Del
EndIf
Moveto [Codigo_Empresa]
End Down
EndProc    ;  (Posiciona)

;*******************************************************************************
;* Rotina Principal                                                            *
;*******************************************************************************
Autolib="\\Sistemas\\Cadastro\\Bibliot,\\Sistemas\\Cadastro\\Bib_Show"
If Not IsAssigned(SYS_EMPRESA_DEFAULT) Then SYS_EMPRESA_DEFAULT="" EndIf

VSD_EMPRESA=SYS_EMPRESA_DEFAULT
If Not Checa_Supervisor()
   Then Return
EndIf

CoEdit NoWindow "P_Fatura"
Chave=9
Finalizar=False
Show_Tela=1

While Not Finalizar
  If Chave=9
     Then PARAM_OPCAO("Inicio") ;Cria Registro Novo
          PARAM_OPCAO("Ler")    ;Limpa Tela
  EndIf
  Switch
    Case Show_Tela=1 : PriTela()
                       If Finalizar Then QuitLoop EndIf
                       If Chave=9   Then     Loop EndIf ; Volta na Chave I_EMPRESA
    Case Show_Tela=2 : SegTela()
    Case Show_Tela=3 : TerTela()
  EndSwitch  
EndWhile
Do_It!
ClearAll
Release Vars All
Release Procs All
