Á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

...

Deck of Cards
effectDuration0.5
historyfalse
idsamples
effectTypefade
Card
defaulttrue
id1
labelCabeçalho

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.
Card
defaulttrue
id2
labelItens

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)

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