CONTEÚDO
- Visão Geral
- Exemplo de Utilização
- Rotina Automática
- Principais Campos
- Pré-condições para Utilização da Rotina
- Inclusão da Rotina no Menu
- Tabelas Utilizadas
- 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
- D4C - Correlação de Produtos
- NNR - Locais de Estoque
- SAH - Unidades de Medida
- SB1 - Produtos