Árvore de páginas

Carregando...


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.

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.

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