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.
Na página principal da rotina, estão disponíveis as opções:
|
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("MdFieldD4C", "D4C_PRODUT", cProdPai)
// Item 01
oModel:SetValue("MdGridD4C", "D4C_PRDATO", cProdFil1)
oModel:SetValue("MdGridD4C", "D4C_QTPRAT", 5)
oModel:GetModel("MdGridD4C"):AddLine()
// Item 02
oModel:SetValue("MdGridD4C", "D4C_PRDATO", cProdFil2)
oModel:SetValue("MdGridD4C", "D4C_QTPRAT", 10)
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 m019Alt()
Local oModel := Nil
Local cProdPai := "001 "
Local cProdFil := "002 "
Private lMsErroAuto := .F.
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_UPDATE)
oModel:Activate()
oModel:SetValue("MdGridD4C","D4C_QTPRAT",15)
If 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 m019Exc()
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 |
Na tela de cadastro da rotina, estão disponíveis as opções:
|
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

