Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

  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

...

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 do Bloco K.

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

...

Bloco de código
titleRotina Automática MVC
linenumberstrue
#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("MdFieldD4CD4CMASTER", "D4C_PRODUT", cProdPai)
    // Item 01
    oModel:SetValue("MdGridD4CD4CDETAILS", "D4C_PRDATO", cProdFil1)
    oModel:SetValue("MdGridD4CD4CDETAILS", "D4C_QTPRAT", 52)
    oModel:GetModel("MdGridD4CD4CDETAILS"):AddLine()
    // Item 02
    oModel:SetValue("MdGridD4CD4CDETAILS", "D4C_PRDATO", cProdFil2)
    oModel:SetValue("MdGridD4CD4CDETAILS", "D4C_QTPRAT", 107)
 
    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 m019Altm039Alt()
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 + cProdFilcProdFil2))
    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("MdGridD4CD4CDETAILS","D4C_QTPRAT",1533)
  
    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 m019Excm039Exc()
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

...

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)

Image Added

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

Image Added

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

Image Added

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

Image Added

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

Image Added

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

Image Added

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

Image Added

8. Clique no botão OK

Image Added

9. Clique no botão Gerar

Image Added

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

Image Added

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

Image Added

Image Added

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

Image AddedImage Added

07. TABELAS UTILIZADAS

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

...

08. ASSUNTOS RELACIONADOS

        Não se aplica SPDFIS - Sped Fiscal