;** P_Entra ********************************************************************
;*  Configuracao de Paramentos p/ Entrada                                      *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 08/02/2002 por Douglas Rodrigues
;Alterado em     : 18/02/2005 por Davi Pereira Carrano
;Motivo Alteracao: Inclusao de Parametro Conta Caixa
;Alterado em     : 21/06/2007 por Anivel Augusto Rodrigues
;Motivo Alteracao: Inclusao de Parametro Impressao
;Alterado em     : 26/11/2009 por Bruno Carvalho
;Motivo Alteracao: Inclusao do Parametro Controla Pe‡a por Item
;Alterado em     : 30/11/2009 por Bruno Carvalho
;Motivo Alteracao: Inclusao Parametro PIS/COFINS HF Tecidos  
;Ultima Alteracao: 17/06/2011 por Karina Andrade
;Motivo Alteracao: Ajustes TECLAS
;Ultima Alteracao: 26/02/2015 por Kamila Gomes
;Motivo Alteracao: Adicionado parametro acresce dif. aliquota no custo item T e s/ ST
;Ultima Alteracao: 03/03/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes tirar sombra janela e layout
;Ultima Alteracao: 15/07/2016 por Bruno Carvalho
;Motivo Alteracao: Adicionado [Utiliza_Transferencia] e [Data_Transferencia]
;Ultima Alteracao: 12/12/2016 por Bruno Carvalho
;Motivo Alteracao: Adicionado VSD_CORTECIDO
;Ultima Alteracao: 21/12/2016 por Rafael Matos
;Motivo Alteracao: Ajustes erro QuerDesfazer()
;Ultima Alteracao: 05/08/2019 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes %COFINS,%PIS,%LUCRATIVIDADE obrigat¢rio = SIM

;*******************************************************************************
;* Rotina de Controle de Paramentros                                           *
;*******************************************************************************
Proc PARAM_DIALOG(Disparo,Campo,Evento,Elemento)
Temp=True

TECLA   =""
MSGCAMPO=""

If INICIO_DIALOGO
   Then 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"] = -59:
            If Campo="I_EMPRESA" Or
               Campo="I_TABELA_PRECO" Or
               Campo="I_CONTA_CAIXA"
               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_TABELA_PRECO" Then Moveto [Tabela_Preco]       EndIf
                    If Campo="I_CONTA_CAIXA"  Then Moveto [Codigo_Conta_Caixa] 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_TABELA_PRECO":
                           VSD_TABELA_PRECO=[Tabela_Preco]
                      Case Campo="I_CONTA_CAIXA":
                           VSD_CONTA_CAIXA=[Codigo_Conta_Caixa]
                    EndSwitch
           EndIf
      Case (Evento["KeyCode"] = -6 Or Evento["KeyCode"] = -147):
           If CHAVE=0
              Then If QuerExcluir("")
                      Then Del
                           CancelDialog
                   EndIf
           EndIf
      Case Evento["KeyCode"] = -81: 
           If Campo<>"I_EMPRESA" And IsAssigned(Chave) And Chave=0
              Then ;---- Parametros ativados apenas para DIVINA PANELA --------- 
                   If SYS_CODIGO_CLIENTE<>"0294" And VSD_UTILIZA_TRANSFERENCIA = "S"
                      Then VSD_UTILIZA_TRANSFERENCIA = "N"
                           VSD_DATA_TRANSFERENCIA = Blankdate()
                           Mensagem("Usu rio sem permiss„o p/ utilizar transferˆncia do estoque!")
                   EndIf    
                   If VSD_UTILIZA_TRANSFERENCIA="S" And IsBlank(VSD_DATA_TRANSFERENCIA) 
                      Then VSD_DATA_TRANSFERENCIA = Today()
                           MSG = Completa("A data a partir da qual ocorrer  a transferˆncia de estoque n„o foi",67," ")+"//"+
                                 Completa("informada.",67," ")+"//"+
                                 Completa("Deseja informar a data a partir de "+StrVal(VSD_DATA_TRANSFERENCIA)+"?",67," ")
                           If ConfGeral(MSG)
                             Then ConfirmaGravar() 
                          EndIf
                      Else ConfirmaGravar()
                   EndIf   
           EndIf
      Case Evento["KeyCode"] = 27:
           Switch
             Case Campo="I_EMPRESA"             :
                  If IsBlank([Codigo_Empresa])
                     Then Del
                  EndIf
                  CHAVE=9
                  CancelDialog
             Case Campo="I_TABELA_PRECO"      : 
                  If QuerDesfazer("")
                     Then
                          If Chave=1
                             Then Del  ; Registro Novo
                                  CancelDialog
                             Else Undo ; Registro Existente
                                  CancelDialog
                          EndIf   
                  EndIf   
                                    
             Case Campo="I_CONTA_CAIXA"           : Campo="I_TABELA_PRECO"
             Case Campo="I_CCE_SUBTRAI_ICMS"      : Campo="I_CONTA_CAIXA"
             Case Campo="I_ATTAB_PRECO"           : Campo="I_CCE_SUBTRAI_ICMS"
             Case Campo="I_BCPV_SUBTRAI_ICMS"     : Campo="I_ATTAB_PRECO"
             Case Campo="I_AC_DIFALIQ_CUSTO"      : Campo="I_BCPV_SUBTRAI_ICMS"
             Case Campo="I_COR_TECIDO"            : Campo="I_AC_DIFALIQ_CUSTO"
             
             Case Campo="I_CCE_SUBTRAI_COFINS"    : Campo="I_COR_TECIDO"
             Case Campo="I_CCE_SUBTRAI_PIS"       : Campo="I_CCE_SUBTRAI_COFINS"
             Case Campo="I_CALC_COFLUCR"          : Campo="I_CCE_SUBTRAI_PIS"
             Case Campo="I_COFINS_DC"             : Campo="I_CALC_COFLUCR"

             Case Campo="I_TX_COFINS"             : Campo="I_CCE_SUBTRAI_COFINS"
             Case Campo="I_TX_PIS"                : Campo="I_TX_COFINS"  
             Case Campo="I_TX_LUCRAT"             : Campo="I_TX_PIS"  

             Case Campo="I_ATU_CXBC"              : Campo="I_CCE_SUBTRAI_COFINS"
						 Case Campo="I_ATU_CAPG"              : Campo="I_ATU_CXBC"
						 Case Campo="I_IMPRESSAO"             : Campo="I_ATU_CAPG"
						 Case Campo="I_CPCIT"                 : Campo="I_IMPRESSAO"
						 Case Campo="I_UTILIZA_TRANSFERENCIA" : Campo="I_CPCIT" 
						 Case Campo="I_DATA_TRANSFERENCIA"    : Campo="I_UTILIZA_TRANSFERENCIA"
           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_TABELA_PRECO"
                          EndIf
                  EndIf           
             Case Campo="I_TABELA_PRECO":
                  VSD_TABELA_PRECO=ControlValue("I_TABELA_PRECO")
                  If Not IsBlank(VSD_TABELA_PRECO)
                     Then Moveto [Tabela_Preco]
                          Ativa_Lookup()
                          Moveto [Codigo da Tabela]
                          Locate VSD_TABELA_PRECO
                          If RetVal
                             Then Campo= "I_CONTA_CAIXA"
                             Else Mensagem("Tabela de Pre‡o n„o Cadastrada !")
                          EndIf
                          KeyPress "ESC"
                     Else Campo= "I_CONTA_CAIXA"
                  EndIf

             Case Campo="I_CONTA_CAIXA":
                  VSD_CONTA_CAIXA=ControlValue("I_CONTA_CAIXA")
                  If Not IsBlank(VSD_CONTA_CAIXA)
                     Then Moveto [Codigo_Conta_Caixa]
                          Ativa_Lookup()
                          Moveto [Codigo da Conta]
                          Locate VSD_CONTA_CAIXA
                          If RetVal
                             Then EMPRESA=[Codigo da Empresa]
                                  KeyPress "Esc"
                                  If [Codigo_Empresa]<>EMPRESA
                                     Then Mensagem("Conta nÆo configurada para Empresa")
                                          VSD_CONTA_CAIXA=""
                                     Else Campo= "I_CCE_SUBTRAI_ICMS"
                                  EndIf
                             Else Mensagem("Conta n„o Cadastrada !")
                                  KeyPress "ESC"
                                  VSD_CONTA_CAIXA=""
                          EndIf
                     Else Campo= "I_CCE_SUBTRAI_ICMS"
                  EndIf

             Case Campo="I_CCE_SUBTRAI_ICMS":
                  VSD_CCE_SUBTRAI_ICMS=ControlValue("I_CCE_SUBTRAI_ICMS")
                  If IsBlank(VSD_CCE_SUBTRAI_ICMS)
                     Then VSD_CCE_SUBTRAI_ICMS="N"
                  EndIf
                  Campo="I_ATTAB_PRECO"
             Case Campo="I_ATTAB_PRECO":
                  VSD_ATTAB_PRECO=ControlValue("I_ATTAB_PRECO")
                  If IsBlank(VSD_ATTAB_PRECO)
                     Then VSD_ATTAB_PRECO="N"
                  EndIf
                  If VSD_ATTAB_PRECO="N"
                     Then VSD_BCPV_SUBTRAI_ICMS="N"
                          Campo="I_AC_DIFALIQ_CUSTO"        
                     Else Campo="I_BCPV_SUBTRAI_ICMS"
                  EndIf
             Case Campo="I_BCPV_SUBTRAI_ICMS":
                  VSD_BCPV_SUBTRAI_ICMS=ControlValue("I_BCPV_SUBTRAI_ICMS")
                  If IsBlank(VSD_BCPV_SUBTRAI_ICMS)
                     Then VSD_BCPV_SUBTRAI_ICMS="N"
                  EndIf
                  Campo="I_AC_DIFALIQ_CUSTO"
             Case Campo="I_AC_DIFALIQ_CUSTO":
                  VSD_AC_DIFALIQ_CUSTO=ControlValue("I_AC_DIFALIQ_CUSTO")
                  If IsBlank(VSD_AC_DIFALIQ_CUSTO)
                     Then VSD_AC_DIFALIQ_CUSTO="S"
                  EndIf     
                  Campo="I_COR_TECIDO"
             Case Campo="I_COR_TECIDO" :
                  VSD_CORTECIDO = ControlValue("I_COR_TECIDO")
                  If IsBlank(VSD_CORTECIDO)
                     Then VSD_CORTECIDO="N"
                  EndIf  
                  Campo="I_CCE_SUBTRAI_COFINS"
             Case Campo="I_CCE_SUBTRAI_COFINS":
                  VSD_CCE_SUBTRAI_COFINS=ControlValue("I_CCE_SUBTRAI_COFINS")
                  If IsBlank(VSD_CCE_SUBTRAI_COFINS)
                     Then VSD_CCE_SUBTRAI_COFINS="N"
                  EndIf
                  Campo="I_CCE_SUBTRAI_PIS"
             Case Campo="I_CCE_SUBTRAI_PIS":
                  VSD_CCE_SUBTRAI_PIS=ControlValue("I_CCE_SUBTRAI_PIS")
                  If IsBlank(VSD_CCE_SUBTRAI_PIS)
                     Then VSD_CCE_SUBTRAI_PIS="N"
                  EndIf
                  Campo="I_CALC_COFLUCR"
             Case Campo="I_CALC_COFLUCR":
                  VSD_CALC_COFLUCR=ControlValue("I_CALC_COFLUCR")
                  If IsBlank(VSD_CALC_COFLUCR)
                     Then VSD_CALC_COFLUCR="N"
                  EndIf
                  Campo="I_COFINS_DC"
             Case Campo="I_COFINS_DC":
                  VSD_COFINS_DC=ControlValue("I_COFINS_DC")
                  If IsBlank(VSD_COFINS_DC)
                     Then VSD_COFINS_DC="N"
                  EndIf
                  Campo="I_TX_COFINS"

             Case Campo="I_TX_COFINS":
                  VSD_TX_COFINS=ControlValue("I_TX_COFINS")
                  Campo="I_TX_PIS"
             Case Campo="I_TX_PIS":
                  VSD_TX_PIS=ControlValue("I_TX_PIS")
                  Campo="I_TX_LUCRAT"
             Case Campo="I_TX_LUCRAT":
                  VSD_TX_LUCRAT=ControlValue("I_TX_LUCRAT")
                  Campo="I_ATU_CXBC"
             Case Campo="I_ATU_CXBC":
                  VSD_ATU_CXBC=ControlValue("I_ATU_CXBC")
                  If IsBlank(VSD_ATU_CXBC)
                     Then VSD_ATU_CXBC="N"
                  EndIf
                  Campo="I_ATU_CAPG"
             Case Campo="I_ATU_CAPG":
                  VSD_ATU_CAPG=ControlValue("I_ATU_CAPG")
                  If IsBlank(VSD_ATU_CAPG)
                     Then VSD_ATU_CAPG="N"
                  EndIf
                  Campo="I_IMPRESSAO"
             Case Campo="I_IMPRESSAO":
                  VSD_IMPRESSAO=ControlValue("I_IMPRESSAO")
                  Campo="I_CPCIT"
             Case Campo="I_CPCIT" : 
                  VSD_CPCIT=ControlValue("I_CPCIT")
                  Campo="I_UTILIZA_TRANSFERENCIA"
             Case Campo="I_UTILIZA_TRANSFERENCIA" : 
                  VSD_UTILIZA_TRANSFERENCIA=ControlValue("I_UTILIZA_TRANSFERENCIA")
                  If IsBlank(VSD_UTILIZA_TRANSFERENCIA)
                     Then VSD_UTILIZA_TRANSFERENCIA="N"     
                  EndIf
                  If VSD_UTILIZA_TRANSFERENCIA="N"
                     Then VSD_DATA_TRANSFERENCIA = Blankdate()
                          ConfirmaGravar()
                     Else If SYS_CODIGO_CLIENTE<>"0294"
                             Then VSD_UTILIZA_TRANSFERENCIA = "N"
                                  VSD_DATA_TRANSFERENCIA = Blankdate()
                                  Mensagem("Usu rio sem permiss„o p/ utilizar transferˆncia do estoque!")
                             Else Campo="I_DATA_TRANSFERENCIA"      
                          EndIf
                  EndIf
             Case Campo="I_DATA_TRANSFERENCIA" :     
                  VSD_DATA_TRANSFERENCIA    = ControlValue("I_DATA_TRANSFERENCIA")
                  If IsBlank(VSD_DATA_TRANSFERENCIA)
                     Then VSD_DATA_TRANSFERENCIA=Today()
                          MSG = Completa("A data a partir da qual ocorrer  a transferˆncia de estoque n„o foi",67," ")+"//"+
                                Completa("informada.",67," ")+"//"+
                                Completa("Deseja informar a data a partir de "+StrVal(VSD_DATA_TRANSFERENCIA)+"?",67," ")
                          If ConfGeral(MSG)
                             Then ConfirmaGravar() 
                          EndIf
                     Else ConfirmaGravar()
                  EndIf
           EndSwitch
   EndSwitch
EndIf

TECLA="//Esc=Retornar  "
If Campo="I_EMPRESA" Or
   Campo="I_TABELA_PRECO" Or
   Campo="I_CONTA_CAIXA"
   Then TECLA=TECLA+"F1=Tabelas  "
   Else TECLA=TECLA+"            "
EndIf

If Campo<>"I_EMPRESA" And IsAssigned(Chave) And Chave=0
   Then TECLA=TECLA+"Ctrl+Del=Excluir  PgDn=Finalizar  "
EndIf

MSGCAMPO="Sim/N„o"
Switch
  Case Campo="I_EMPRESA":
       MSGCAMPO="Codigo da Empresa Padr„o"
  Case Campo="I_TABELA_PRECO":
       MSGCAMPO="Codigo da Tabela de Preco Padr„o"
  Case Campo="I_CONTA_CAIXA":
       MSGCAMPO="Codigo da Conta Caixa Padr„o"
  Case Campo="I_ATTAB_PRECO":
       MSGCAMPO="Utiliza este recurso? Sim/N„o"
	Case Campo="I_IMPRESSAO":
       MSGCAMPO="Script de Impressao da NE"
	Case Campo="I_CALC_COFLUCR":
       MSGCAMPO="Calcula COFINS sobre lucratividade. Sim/N„o"
  Case Campo="I_AC_DIFALIQ_CUSTO":
       MSGCAMPO="Acresce Diferencial de Aliquota no custo de item de Terceiros e Sem ST. Sim/N„o"
  Case Campo="I_UTILIZA_TRANSFERENCIA" :
       MSGCAMPO="Utiliza Transferˆncia de Estoque. Sim/N„o"        
  Case Campo="I_DATA_TRANSFERENCIA" :
       MSGCAMPO="Data a partir da qual ocorrer  a Transferˆncia de Estoque"
  Case Campo="I_COR_TECIDO" : 
       MSGCAMPO="Digita a Cor do Tecido? Sim/N„o"      
       
  Case Campo="I_TX_COFINS" : MSGCAMPO="Informe a aliquota de COFINS referente"      
  Case Campo="I_TX_PIS"    : MSGCAMPO="Informe a aliquota de PIS referente"      
  Case Campo="I_TX_LUCRAT" : MSGCAMPO="Informe a aliquota de Lucrativadade referente"      
  
EndSwitch

Monta_Prompt(MSGCAMPO,TECLA)

Return TEMP
EndProc   ;(Param_Dialog)

;*******************************************************************************
;* 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
   Else CHAVE=1
        End Down
        [Codigo_Empresa]=VSD_EMPRESA
EndIf
PARAM_OPCAO("Ler")
EndProc  ; (Chave)

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

VSD_CCE_SUBTRAI_ICMS  =ControlValue("I_CCE_SUBTRAI_ICMS")
VSD_ATTAB_PRECO       =ControlValue("I_ATTAB_PRECO")
VSD_BCPV_SUBTRAI_ICMS =ControlValue("I_BCPV_SUBTRAI_ICMS")

VSD_CCE_SUBTRAI_COFINS=ControlValue("I_CCE_SUBTRAI_COFINS")
VSD_CCE_SUBTRAI_PIS   =ControlValue("I_CCE_SUBTRAI_PIS")
VSD_CALC_COFLUCR      =ControlValue("I_CALC_COFLUCR") 
VSD_COFINS_DC         =ControlValue("I_COFINS_DC")

VSD_TX_COFINS         =ControlValue("I_TX_COFINS")
VSD_TX_PIS            =ControlValue("I_TX_PIS")
VSD_TX_LUCRAT         =ControlValue("I_TX_LUCRAT")

VSD_ATU_CXBC          =ControlValue("I_ATU_CXBC")
VSD_ATU_CAPG          =ControlValue("I_ATU_CAPG")
VSD_IMPRESSAO         =ControlValue("I_IMPRESSAO")
VSD_CPCIT             =ControlValue("I_CPCIT")

if VSD_CCE_SUBTRAI_COFINS="S"  and VSD_TX_COFINS<=0
   then Mensagem("%COFINS inv lida para \"Subtrair COFINS no Custo de Entrada\"=[SIM] !")
        WV=False
endif    
if VSD_CCE_SUBTRAI_PIS="S"     and VSD_TX_PIS<=0
   then Mensagem("%PIS inv lida para \"Subtrair PIS no Custo de Entrada\"=[SIM] !")
        WV=False
endif    

if VSD_CALC_COFLUCR="S"        and VSD_TX_LUCRAT<=0
   then Mensagem("%Lucrativade inv lida para \"Calcular COFINS/Lucratividade\"=[SIM] !")
        WV=False
endif    

if VSD_COFINS_DC="S"           and VSD_TX_COFINS<=0
   then Mensagem("%COFINS inv lida para \"Utiliza COFINS D‚bito/Cr‚dito\"=[SIM] !")
        WV=False
endif    

Return WV

EndProc ; (Verifica)

;*******************************************************************************
;* Rotina Gravacao ou Leitura dos Parametros                                   *
;*******************************************************************************
Proc PARAM_OPCAO(OP)
Private OP
Switch
  Case OP = "Gravar":
       [Codigo_Empresa           ] = VSD_EMPRESA
       [Tabela_Preco             ] = VSD_TABELA_PRECO
       [Codigo_Conta_Caixa       ] = VSD_CONTA_CAIXA
       [Atualiza_Tabela_Preco    ] = VSD_ATTAB_PRECO
       [Subtrai_ICMS_CustoEntrada] = VSD_CCE_SUBTRAI_ICMS
       [Subtrai_ICMS_BC_PrVenda  ] = VSD_BCPV_SUBTRAI_ICMS
       [Atualiza_Caixa_Banco     ] = VSD_ATU_CXBC
       [Atualiza_Contas_Pagar    ] = VSD_ATU_CAPG
       [Taxa_Cofins              ] = VSD_TX_COFINS
       [Taxa_Lucratividade       ] = VSD_TX_LUCRAT
       [Calcular_COFINS_Lucrativ ] = VSD_CALC_COFLUCR
       [Utiliza_COFINS_DBCR      ] = VSD_COFINS_DC
       [Script_Impressao         ] = VSD_IMPRESSAO
       [Controla_Pecas_Item      ] = VSD_CPCIT
       [Subtrai_COFINS_CustoEntra] = VSD_CCE_SUBTRAI_COFINS
       [Subtrai_PIS_CustoEntrada ] = VSD_CCE_SUBTRAI_PIS   
       [Taxa_PIS                 ] = VSD_TX_PIS 
       [Acresce_DifAliq_Custo    ] = VSD_AC_DIFALIQ_CUSTO
       [Utiliza_Transferencia    ] = VSD_UTILIZA_TRANSFERENCIA
       [Data_Transferencia       ] = VSD_DATA_TRANSFERENCIA
       [Digita Cor_Tecido        ] = VSD_CORTECIDO
               
       UnLockRecord

  Case OP = "Ler":
       VSD_TABELA_PRECO            = [Tabela_Preco             ]
       VSD_CONTA_CAIXA             = [Codigo_Conta_Caixa       ]
       VSD_ATTAB_PRECO             = [Atualiza_Tabela_Preco    ]
       VSD_CCE_SUBTRAI_ICMS        = [Subtrai_ICMS_CustoEntrada]
       VSD_BCPV_SUBTRAI_ICMS       = [Subtrai_ICMS_BC_PrVenda  ]
       VSD_ATU_CXBC                = [Atualiza_Caixa_Banco     ]
       VSD_ATU_CAPG                = [Atualiza_Contas_Pagar    ]
       VSD_TX_COFINS               = [Taxa_Cofins              ]
       VSD_TX_LUCRAT               = [Taxa_Lucratividade       ]
       VSD_CALC_COFLUCR            = [Calcular_COFINS_Lucrativ ]
       VSD_COFINS_DC               = [Utiliza_COFINS_DBCR      ]
       VSD_IMPRESSAO               = [Script_Impressao         ]
       VSD_CPCIT                   = [Controla_Pecas_Item      ]
       VSD_CCE_SUBTRAI_COFINS      = [Subtrai_COFINS_CustoEntra]
       VSD_CCE_SUBTRAI_PIS         = [Subtrai_PIS_CustoEntrada ]
       VSD_TX_PIS                  = [Taxa_PIS                 ]
       VSD_AC_DIFALIQ_CUSTO        = [Acresce_DifAliq_Custo    ]
       VSD_UTILIZA_TRANSFERENCIA   = [Utiliza_Transferencia    ]  
       VSD_DATA_TRANSFERENCIA      = [Data_Transferencia       ]
       VSD_CORTECIDO               = [Digita Cor_Tecido        ]
       
   Case OP = "Inicio":
       VSD_EMPRESA                 = ""
       VSD_TABELA_PRECO            = ""
       VSD_CONTA_CAIXA             = ""
       VSD_ATTAB_PRECO             = ""
       VSD_CCE_SUBTRAI_ICMS        = ""
       VSD_BCPV_SUBTRAI_ICMS       = ""
       VSD_ATU_CXBC                = ""
       VSD_ATU_CAPG                = ""
       VSD_TX_COFINS               = blanknum()
       VSD_TX_LUCRAT               = blanknum()
       VSD_CALC_COFLUCR            = ""
       VSD_COFINS_DC               = ""
       VSD_IMPRESSAO               = ""
       VSD_CPCIT                   = ""
       VSD_CCE_SUBTRAI_COFINS      = ""
       VSD_CCE_SUBTRAI_PIS         = ""
       VSD_TX_PIS                  = blanknum()
       VSD_AC_DIFALIQ_CUSTO        = ""
       VSD_UTILIZA_TRANSFERENCIA   = ""
       VSD_DATA_TRANSFERENCIA      = blankdate()
       VSD_CORTECIDO               = ""
EndSwitch
EndProc   ; (Param_Opcao)

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

;*******************************************************************************
;* Rotina Gravacao dos dados                                                   *
;*******************************************************************************
Proc ConfirmaGravar()

if verifica()
   then 
        If ConfGeral("Confirma novos parametros?")
           Then PARAM_OPCAO("Gravar")
        EndIf
        AcceptDialog
endif    

endproc

;*******************************************************************************
;* Rotina Principal                                                            *
;*******************************************************************************
Autolib="\\Sistemas\\Cadastro\\Bibliot,\\Sistemas\\Cadastro\\Bib_Show"
SYS_VALOR()
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_Entra"
While True
  INICIO_DIALOGO  = True
  Posiciona()
  PARAM_OPCAO("Ler")

  Showdialog "Configura‡„o Notas de Entrada" Proc "Param_Dialog"
     Trigger "OPEN","ARRIVE"
      Key "F1","TAB","ReverseTab","ENTER","ESC","F4","ClearArea","PGDN"
       @ 01,00 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,09 "Tabela Pre‡o" for "I_TABELA_PRECO"
     Accept @ 01,10 Width 08 "A5" picture "#*#" Tag "I_TABELA_PRECO" to VSD_TABELA_PRECO

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

     Label  @ 03,00 "[    ] Subtrair ICMS no Custo de Entrada" for "I_CCE_SUBTRAI_ICMS"
     Accept @ 03,02 Width 04 "A1" picture "S,N" Tag "I_CCE_SUBTRAI_ICMS" to VSD_CCE_SUBTRAI_ICMS

     Label  @ 04,00 "[    ] Calcula Pre‡o de Venda e Atualiza Tabela de Pre‡o" for "I_ATTAB_PRECO"
     Accept @ 04,02 Width 04 "A1" picture "S,N" Tag "I_ATTAB_PRECO" to VSD_ATTAB_PRECO

     Label  @ 05,00 "[    ] Subtrair ICMS da Base de Calculo do Pre‡o de Venda" for "I_BCPV_SUBTRAI_ICMS"
     Accept @ 05,02 Width 04 "A1" picture "S,N" Tag "I_BCPV_SUBTRAI_ICMS" to VSD_BCPV_SUBTRAI_ICMS
     
     Label  @ 06,00 "[    ] Acrescentar Dif. de Al¡q. no Custo de Item de Terceiros e S/ ST" for "I_AC_DIFALIQ_CUSTO"
     Accept @ 06,02 Width 04 "A1" picture "S,N" Tag "I_AC_DIFALIQ_CUSTO" to VSD_AC_DIFALIQ_CUSTO
     
     Label  @ 07,00 "[    ] Cor do Tecido" for "I_COR_TECIDO"
     Accept @ 07,02 Width 04 "A1" picture "S,N" Tag "I_COR_TECIDO" to VSD_CORTECIDO

     Label  @ 09,00 "[    ] Subtrair COFINS no Custo de Entrada" for "I_CCE_SUBTRAI_COFINS"
     Accept @ 09,02 Width 04 "A1" picture "S,N" Tag "I_CCE_SUBTRAI_COFINS" to VSD_CCE_SUBTRAI_COFINS

     Label  @ 09,44 "[        ]%COFINS" for "I_TX_COFINS"
     Accept @ 09,46 Width 08 "N" Tag "I_TX_COFINS" to VSD_TX_COFINS

     Label  @ 10,00 "[    ] Subtrair PIS no Custo de Entrada" for "I_CCE_SUBTRAI_PIS"
     Accept @ 10,02 Width 04 "A1" picture "S,N" Tag "I_CCE_SUBTRAI_PIS" to VSD_CCE_SUBTRAI_PIS

     Label  @ 10,44 "[        ]%PIS" for "I_TX_PIS"
     Accept @ 10,46 Width 08 "N" Tag "I_TX_PIS" to VSD_TX_PIS

     Label  @ 11,00 "[    ] Calcular COFINS/Lucratividade" for "I_CALC_COFLUCR"
     Accept @ 11,02 Width 04 "A1" picture "S,N" Tag "I_CALC_COFLUCR" to VSD_CALC_COFLUCR

     Label  @ 11,44 "[        ]%Lucratividade" for "I_TX_LUCRAT"
     Accept @ 11,46 Width 08 "N" Tag "I_TX_LUCRAT" to VSD_TX_LUCRAT

     Label  @ 12,00 "[    ] Utiliza COFINS D‚bito/Cr‚dito" for "I_COFINS_DC"
     Accept @ 12,02 Width 04 "A1" picture "S,N" Tag "I_COFINS_DC" to VSD_COFINS_DC


     Label  @ 14,00 "[    ] Atualizar Caixa/Banco" for "I_ATU_CXBC"
     Accept @ 14,02 Width 04 "A1" picture "S,N" Tag "I_ATU_CXBC" to VSD_ATU_CXBC

     Label  @ 15,00 "[    ] Atualizar Contas a Pagar" for "I_ATU_CAPG"
     Accept @ 15,02 Width 04 "A1" picture "S,N" Tag "I_ATU_CAPG" to VSD_ATU_CAPG

     Label  @ 16,00 "[           ] Script Impressao NE" for "I_IMPRESSAO"
     Accept @ 16,02 Width 11 "A8" picture "!*!" Tag "I_IMPRESSAO" to VSD_IMPRESSAO

     Label  @ 17,00 "[    ] Controla Pe‡as por Item" for "I_CPCIT"
     Accept @ 17,02 Width 04 "A1" picture "S,N" Tag "I_CPCIT" to VSD_CPCIT
     
     Label  @ 14,44 "[    ] Utiliza Transf. Estoque" for "I_UTILIZA_TRANSFERENCIA"
     Accept @ 14,46 Width 04 "A1" picture "S,N" Tag "I_UTILIZA_TRANSFERENCIA" to VSD_UTILIZA_TRANSFERENCIA
     
     Label  @ 15,44 "[             ] Data Transf." for "I_DATA_TRANSFERENCIA"
     Accept @ 15,46 Width 13 "D"  Picture "#[#];.##;.##[##]" Tag "I_DATA_TRANSFERENCIA" To VSD_DATA_TRANSFERENCIA    

  Enddialog
  If Not RetVal
     Then If CHAVE=9 Then QuitLoop EndIf
  EndIf
EndWhile
Do_It!
ClearAll
Release Vars All
Release Procs All
