Histórico da Página
...
- 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
...
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.
...
Deck of Cards | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||
|
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:
Bloco de código | ||||
---|---|---|---|---|
| ||||
#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 |
04. PRINCIPAIS CAMPOS
Na tela de cadastro da rotina, estão disponíveis as opções:
Deck of Cards | |||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||
|
...
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 deProdutos, 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
Não se aplica SPDFIS - Sped Fiscal