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:

#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

08. ASSUNTOS RELACIONADOS

        SPDFIS - Sped Fiscal