Árvore de páginas


CONTEÚDO

  1. Visão Geral
  2. Exemplo de Utilização
  3. Rotina Automática
  4. Principais Campos
  5. Pré-condições para Utilização da Rotina
  6. Inclusão da Rotina no Menu
  7. Tabelas Utilizadas
  8. Assuntos Relacionados


01. VISÃO GERAL

O cadastro de Correlação de Produtos contém os produtos que serão listados na geração da obrigação acessória EFD ICMS/IPI no registro 0221.

A rotina permite a informação de N códigos correlacionados com os registros da tabela Produtos (SB1), com suas respectivas quantidades.

02. EXEMPLO DE UTILIZAÇÃO

Na página principal da rotina, estão disponíveis as opções:

    Permite a inclusão de informações de um produto.

    As informações devem ser preenchidas conforme as orientações descritas em Principais Campos.

    Cadastrar um Registro

    1. No módulo SIGAEST, acesse Atualizações → Cadastros → Produto → Correlação de Produtos
    2. Na tela Correlação de Produtos, clique em Incluir.
    3. Na tela Filiais, selecione o código da Filial.
    4. Na tela Correlação de Produtos - Incluir, informe os dados necessários para o cadastro em questão, definindo os dados do produto pai e produtos filhos.    
    5. Clique em Confirmar.

    Permite a alteração de informações do produto selecionado.

    As informações devem ser ajustadas conforme as orientações descritas em Principais Campos.

    Alterar as Informações do Registro Cadastrado

    1. Na tela Correlação de Produtos, selecione o registro cujas informações serão alteradas.
    2. Clique em Alterar.
    3. Na tela Correlação de Produtos - Alterar, efetue a alteração necessária.
    4. Clique em Confirmar.

    Permite a visualização de informações do produto.

    Visualizar um Registro Cadastrado

    1. Na tela Correlação de Produtos, selecione o registro cuja informação deseja visualizar.
    2. Clique em Outras Ações → Visualizar.
    4. Clique em Confirmar.

    Permite a exclusão um produto.

    Excluir um Registro Cadastrado

    1. Na tela Correlação de Produtos, selecione o registro cujas informações serão eliminadas.
    2. Clique em Outras Ações → Excluir.
    3. Em seguida será apresentada uma mensagem solicitando a confirmação da exclusão.
    4. Clique em Confirmar.

    03. ROTINA AUTOMÁTICA

    A rotina Correlação de Produtos permite a efetuação das operações por meio de rotina automática em MVC que podem ser utilizadas em suas customizações conforme exemplos abaixo:

    Rotina Automática MVC
    #INCLUDE "RWMAKE.CH"
    #INCLUDE "TBICONN.CH"
    #INCLUDE 'Protheus.ch'
    #INCLUDE 'FWMVCDef.ch'
    //------------------------------------------------------------------------
    /*
    EXEMPLO DE INCLUSÃO
    */
    //------------------------------------------------------------------------
    User Function m039Inc()
    Local oModel      := Nil
    Local cProdPai  := "001                           "
    Local cProdFil1 := "002                           "
    Local cProdFil2 := "003                           " 
    Private lMsErroAuto := .F.
      
    PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "EST"
      
        oModel := FwLoadModel("MATA039")
        oModel:SetOperation(MODEL_OPERATION_INSERT)
        oModel:Activate()
        // Cabeçalho
        oModel:SetValue("D4CMASTER", "D4C_PRODUT", cProdPai)
        // Item 01
        oModel:SetValue("D4CDETAILS", "D4C_PRDATO", cProdFil1)
        oModel:SetValue("D4CDETAILS", "D4C_QTPRAT", 2)
        oModel:GetModel("D4CDETAILS"):AddLine()
        // Item 02
        oModel:SetValue("D4CDETAILS", "D4C_PRDATO", cProdFil2)
        oModel:SetValue("D4CDETAILS", "D4C_QTPRAT", 7)
     
        If oModel:VldData()
            oModel:CommitData()
            MsgInfo("Registro INCLUIDO!", "Atenção")
        Else
            VarInfo("",oModel:GetErrorMessage())
        EndIf      
             
        oModel:DeActivate()
        oModel:Destroy()
     
        oModel := NIL
     
    RESET ENVIRONMENT
     
    Return Nil
     
    //------------------------------------------------------------------------
    /*
    EXEMPLO DE ALTERAÇÃO
    */
    //------------------------------------------------------------------------
    User Function m039Alt()
    Local oModel        := Nil
    Local oModelItem    := Nil
    Local cProdPai      := "001                           "
    Local cProdFil      := "002                           "
    Local cProdFil2     := "003                           "
    Private lMsErroAuto := .F.
      
    PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "EST"
      
    // Posiciona
    D4C->(DbSetOrder(1))
    If D4C->(DbSeek(xFilial("D4C") + cProdPai + cProdFil2))
        oModel := FwLoadModel("MATA039")
        oModel:SetOperation(MODEL_OPERATION_UPDATE)
        oModel:Activate()
        oModelItem := oModel:GetModel("D4CDETAILS")
        oModelItem:seekline({{"D4C_FILIAL",xFilial("D4C")},{"D4C_PRODUT", cProdPai}, {"D4C_PRDATO", cProdFil2}})
        lOk := oModel:SetValue("D4CDETAILS","D4C_QTPRAT",33)
      
        If lOk .AND. oModel:VldData()
            oModel:CommitData()
            MsgInfo("Registro ALTERADO!", "Atenção")
        Else
            VarInfo("",oModel:GetErrorMessage())
        EndIf
         
        oModel:DeActivate()
    Else
        MsgInfo("Registro NAO LOCALIZADO!", "Atenção")
    EndIf
     
    RESET ENVIRONMENT
     
    Return Nil
    
    //------------------------------------------------------------------------
    /*
    EXEMPLO DE EXCLUSÃO
    */
    //------------------------------------------------------------------------
    User Function m039Exc()
    Local oModel := Nil
    Local cProdPai := "001                           "
    Local cProdFil := "002                           "
    Private aRotina := {}
      
    PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "EST"
     
    // Posiciona
    D4C->(DbSetOrder(1))
    If D4C->(DbSeek(xFilial("D4C") + cProdPai + cProdFil))
        oModel := FwLoadModel ("MATA039")
        oModel:SetOperation(MODEL_OPERATION_DELETE)
        oModel:Activate()
      
        If oModel:VldData()
            oModel:CommitData()
            MsgInfo("Registro EXCLUIDO!", "Atenção")
        Else
            VarInfo("",oModel:GetErrorMessage())
        EndIf
     
        oModel:DeActivate()
    Else
        MsgInfo("Registro NAO LOCALIZADO!", "Atenção")
    EndIf
     
    RESET ENVIRONMENT
      
    Return Nil

    04. PRINCIPAIS CAMPOS

    Na tela de cadastro da rotina, estão disponíveis as opções:

      No cabeçalho são informados os dados de identificação do produto pai.

      Campo:

      Descrição

      Codigo do Produto Pai (D4C_PRODUT)

      Informe o código identificador do produto pai.

      Un. de medida Prod Pai (D4C_UM)

      Unidade de medida do produto pai obtido a partir da tabela Produtos (SB1), preenchido automaticamente após definição do código do produto pai.

      Nos itens são informados os dados de identificação dos produtos filhos.

      Campo:

      Descrição

      Codigo Produto Filho (D4C_PRDATO)

      Informe o código identificador do produto filho que será correlacionado com o produto pai.

      Unid. de medida Prd Filho (D4C_UMATO)

      Unidade de medida do produto filho obtido a partir da tabela Produtos (SB1), preenchido automaticamente após definição do código do produto filho.

      Quant. Prod. Filho (D4C_QTPRAT) Informe a quantidade do produto filho.

      05. PRÉ-CONDIÇÕES PARA UTILIZAÇÃO DA ROTINA

      06. INCLUSÃO DA ROTINA NO MENU

      Após aplicação do pacote de atualização, caso a rotina Correlação de Produtos não se encontre no menu Atualizações → Cadastros → Produto → Correlação de Produtos do módulo SIGAEST, é necessário incluir manualmente seguindo o seguinte passo a passo:

      1. Acesse o módulo Configurador (SIGACFG)

      2. Acesse o menu Ambiente → Cadastros → Menus (CFGX013)

      3. Desmarque a caixa de seleção Todos os menus

      4. Marque a caixa de seleção Estoque/Custos e clique no botão Ok

      5. Clique no botão Adicionar >> e aguarde a cópia dos itens para o novo menu

      6. Na aba Novo menu:, clique sobre a subpasta Produto e clique no botão Novo Item

      7. Preencha os campos Desc. Português: Correlação de Produtos, Programa: MATA039, Status: Habilitado, Módulo: Estoque/Custos e Tipo: Função Protheus

      8. Clique no botão OK

      9. Clique no botão Gerar

      10. No campo Arquivo, preencha SIGAEST e clique no botão Gerar

      11. Ao apresentar as telas de confirmação Clique no botão Sim e aguarde a geração do menu

      12. Ao acessar o módulo SIGAEST, observe que o menu Atualizações → Cadastros → Produto → Correlação de Produtos foi criado corretamente

      07. TABELAS UTILIZADAS

      • D4C - Correlação de Produtos     
      • NNR - Locais de Estoque
      • SAH - Unidades de Medida
      • SB1 - Produtos

      08. ASSUNTOS RELACIONADOS

              SPDFIS - Sped Fiscal