
O cadastro de Produtos contém as principais informações sobre produtos e serviços adquiridos, fabricados ou fornecidos pela empresa, realizando o controle desses produtos em todos os módulos do Sistema.
As empresas exclusivamente comerciais tem, possivelmente, apenas produtos para revenda e materiais de consumo.
As empresas industriais tem, possivelmente, todos os tipos de produtos ou materiais utilizados para produção: Produtos Acabados, Produtos Intermediários, Matérias-primas, Materiais de Consumo e Outros, inclusive Mão de Obra ou Serviços Agregados a fabricação que devem compor o custo do produto final.
A definição de produto é genérica e abrange muitos conceitos que podem variar de acordo com o ramo de atuação da organização.
A rotina Produtos permite onde as operações podem ser utilizadas em suas customizações confome exemplos abaixo:
#INCLUDE "RWMAKE.CH"
#INCLUDE "TBICONN.CH"
User Function TMata010()
Local aVetor := {}
private lMsErroAuto := .F.
PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "EST"
//--- Exemplo: Inclusao --- //
aVetor:= { {"B1_COD" ,"9994" ,NIL},;
{"B1_DESC" ,"PRODUTO TESTE - ROTINA AUTOMATICA" ,NIL},;
{"B1_TIPO" ,"PA" ,Nil},;
{"B1_UM" ,"UN" ,Nil},;
{"B1_LOCPAD" ,"01" ,Nil},;
{"B1_PICM" ,0 ,Nil},;
{"B1_IPI" ,0 ,Nil},;
{"B1_CONTRAT" ,"N" ,Nil},;
{"B1_LOCALIZ" ,"N" ,Nil}}
MSExecAuto({|x,y| Mata010(x,y)},aVetor,3)
//--- Exemplo: Alteracao --- //
aVetor:= { {"B1_COD" ,"9994" ,NIL},;
{"B1_DESC" ,"PRODUTO TESTE - ALTERADO" ,NIL}}
MSExecAuto({|x,y| Mata010(x,y)},aVetor,4)
//--- Exemplo: Exclusao --- //
aVetor:= { {"B1_COD" ,"9994" ,NIL},;
{"B1_DESC" ,"PRODUTO TESTE - ROTINA AUTOMATICA" ,NIL}}
MSExecAuto({|x,y| Mata010(x,y)},aVetor,5)
If lMsErroAuto
MostraErro()
Else
Alert("Ok")
Endif
Return |
#INCLUDE "RWMAKE.CH"
#INCLUDE "TBICONN.CH"
#INCLUDE 'Protheus.ch'
#INCLUDE 'FWMVCDef.ch'
//------------------------------------------------------------------------
/*
EXEMPLO DE INCLUSÃO MODELO 1
*/
//------------------------------------------------------------------------
User Function m010IncRa()
Local oModel := Nil
Private lMsErroAuto := .F.
PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "EST"
oModel := FwLoadModel ("MATA010")
oModel:SetOperation(MODEL_OPERATION_INSERT)
oModel:Activate()
oModel:SetValue("SB1MASTER","B1_COD" ,"RASB100")
oModel:SetValue("SB1MASTER","B1_DESC" ,"PRODUTO TESTE 00")
oModel:SetValue("SB1MASTER","B1_TIPO" ,"PA")
oModel:SetValue("SB1MASTER","B1_UM" ,"UN")
oModel:SetValue("SB1MASTER","B1_LOCPAD" ,"01")
oModel:SetValue("SB1MASTER","B1_LOCALIZ" ,"N")
If oModel:VldData()
oModel:CommitData()
MsgInfo("Registro INCLUIDO!", "Atenção")
Else
VarInfo("",oModel:GetErrorMessage())
EndIf
oModel:DeActivate()
oModel:Destroy()
oModel := NIL
Return Nil
//------------------------------------------------------------------------
/*
EXEMPLO DE INCLUSÃO MODELO 1 (Utilizando a função FwMvcRotAuto apenas em caráter didático)
*/
//------------------------------------------------------------------------
User Function m010Inc1Ra()
Local aDadoscab := {}
Local aDadosIte := {}
Local aItens := {}
Private oModel := Nil
Private lMsErroAuto := .F.
Private aRotina := {}
PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "EST"
oModel := FwLoadModel ("MATA010")
//Adicionando os dados do ExecAuto cab
aAdd(aDadoscab, {"B1_COD" ,"RASB101" , Nil})
aAdd(aDadoscab, {"B1_DESC" ,"PRODUTO TESTE" , Nil})
aAdd(aDadoscab, {"B1_TIPO" ,"PA" , Nil})
aAdd(aDadoscab, {"B1_UM" ,"UN" , Nil})
aAdd(aDadoscab, {"B1_LOCPAD" ,"01" , Nil})
aAdd(aDadoscab, {"B1_LOCALIZ" ,"N" , Nil})
//Chamando a inclusão - Modelo 1
lMsErroAuto := .F.
FWMVCRotAuto( oModel,"SB1",MODEL_OPERATION_INSERT,{{"SB1MASTER", aDadoscab}})
//Se houve erro no ExecAuto, mostra mensagem
If lMsErroAuto
MostraErro()
//Senão, mostra uma mensagem de inclusão
Else
MsgInfo("Registro incluido!", "Atenção")
EndIf
Return Nil
//------------------------------------------------------------------------
/*
EXEMPLO DE INCLUSÃO MODELO 2 (Utilizando a função FwMvcRotAuto apenas em caráter didático)
*/
//------------------------------------------------------------------------
User Function m010Inc2Ra()
Local aDadoscab := {}
Local aDadosIte := {}
Local aItens := {}
Private oModel := Nil
Private lMsErroAuto := .F.
Private aRotina := {}
PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "EST"
oModel := FwLoadModel ("MATA010")
//Adicionando os dados do ExecAuto cab
aAdd(aDadoscab, {"B1_COD" ,"RASB102" , Nil})
aAdd(aDadoscab, {"B1_DESC" ,"PRODUTO TESTE" , Nil})
aAdd(aDadoscab, {"B1_TIPO" ,"PA" , Nil})
aAdd(aDadoscab, {"B1_UM" ,"UN" , Nil})
aAdd(aDadoscab, {"B1_LOCPAD" ,"01" , Nil})
aAdd(aDadoscab, {"B1_LOCALIZ" ,"N" , Nil})
//Adicionando os dados do ExecAuto Item
//Produtos alternativos (já deve existir na base)
If "SGI" $ SuperGetMv("MV_CADPROD",,"|SA5|SBZ|SB5|DH5|SGI|")
aAdd(aDadosIte, {"GI_PRODALT" , "RASB101" , Nil})
aAdd(aDadosIte, {"GI_ORDEM" , "1" , Nil})
//no item o array precisa de um nivel superior.
aAdd(aItens,aDadosIte)
EndIf
//Chamando a inclusão - Modelo 2
lMsErroAuto := .F.
FWMVCRotAuto( oModel,"SB1",MODEL_OPERATION_INSERT,{{"SB1MASTER", aDadoscab},{"SGIDETAIL", aItens}})
//Se houve erro no ExecAuto, mostra mensagem
If lMsErroAuto
MostraErro()
//Senão, mostra uma mensagem de inclusão
Else
MsgInfo("Registro incluido!", "Atenção")
EndIf
Return Nil
//------------------------------------------------------------------------
/*
EXEMPLO DE ALTERAÇÃO
*/
//------------------------------------------------------------------------
User Function m010AltRa()
Local oModel := Nil
Private lMsErroAuto := .F.
PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "EST"
//Posiciona
SB1->(DbSetOrder(1))
If SB1->(DbSeek(xFilial("SB1") + "RASB101"))
oModel := FwLoadModel ("MATA010")
oModel:SetOperation(MODEL_OPERATION_UPDATE)
oModel:Activate()
oModel:SetValue("SB1MASTER","B1_DESC","PRODUTO ALTERADO")
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
Return Nil
//------------------------------------------------------------------------
/*
EXEMPLO DE EXCLUSÃO
*/
//------------------------------------------------------------------------
User Function m010ExcRa()
Local oModel := Nil
Private aRotina := {}
PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "EST"
//Posiciona
SB1->(DbSetOrder(1))
If SB1->(DbSeek(xFilial("SB1") + "RASB101"))
oModel := FwLoadModel ("MATA010")
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
Return Nil |
Através da janela principal é possivel consultar os saldos em estoque dos produtos cadastrados. Basta posicionar no produto desejado e pressionar a tecla [F4] para realizar a consulta Saldos em Estoque.
Potência de Lote (MATA010As opções das operações do menu podem ser diferentes se acessados pelo modulo CRM ou com o parâmetro de sistema MV_QALOGIX igual a 1. |
Na página principal da rotina, estão disponíveis as opções:
|
|
| Nome | Propósito | Link da documentação |
MV_HISTTAB | Descrição: Histórico de alterações do Cadastro de Produtos Tipo: Lógico Conteudo Padrão: .F. | Histórico de alterações do Cadastro de Produtos -- 36773 |
MV_A010FAC | Informa os campos da tabela SB1 que não são considerados no padrão. | <em elaboração> |
| MV_MASCGRD | Indica a máscara da grade. O primeiro item indica o tamanho do Código Fixo do Produto. O segundo e terceiro parâmetros indicam o tamanho dos Códigos Variáveis | Grades de Produtos (MATA550 - SIGAEST) |
| MV_VEICULO | Se existe o módulo de veículos integrado | MV_VEICULO - Verifica a integração com SIGAVEI |
| MV_LJGRINT | Define se está ativa a integração Protheus | <em elaboração> |
| MV_DCLNEW | Utiliza funcionalidade que utiliza no produto padrão as funcionalidades do antigo Template de DCL | <em elaboração> |
| MV_PIMSINT | Habilita integração Protheus x PimsGraos | <em elaboração> |
| MV_GRADE | T = Utiliza Grade / F = Nao Utiliza Grade Caso usuario ative grade incluir tabelas 18 e 19 | <em elaboração> |
| MV_DAMARCT | Desconsidera checagem da amarracao contabil na inclusao de documento de entrada. .T. = Desconsidera | Criação do Parâmetro MV_DAMARCT -- 118124 |
| MV_QALOGIX | Indica se teremos integracao entre o ambiente Protheus Quality e Logix. | <em elaboração> |
| MV_EIC0011 | Define se a N.V.A.E será utilizada na fase de PLI e cadastro de produto. Se habilita a opção "Classificação N.V.E." no menu de Produtos | N.V.E na fase de PLI |
| MV_INTSFC | Indica se há integração entre os módulos de Planejamento e Controle de Produção (PCP) e Chão de Fábrica (SFC). | MV_INTSFC |
| MV_INTDPR | Define se existe integracao entre o Modulo SIGADPR e outros modulos (0=Não integra; 1=Protheus; 2=Datasul) | Integração PCP X Desenvolvedor de Produtos |
| MV_CQ | Local (Armazém) do Controle de Qualidade. | MP - SIGAEST - Controle de Qualidade Materiais – Baixas do CQ – MATA175 (revisar) |
| MV_ACDVLBA | Valida se será apresentado mensagem de validação do digito verificador do código de barras. | <em elaboração> |
| MV_INTPMS | Habilita integração de Gestão de Projetos para outros módulos do Protheus. | <em elaboração> |
| MV_RMCOLIG | Código da Coligada do TOP | <em elaboração> |
| MV_INTACD | Integra ACD 0-Nao 1-SIM | <em elaboração> |
| MV_LJECOMM | Identifica que o sistema utiliza eCommerce. .T. (Ativo) .F. (Desativado) | DT_Integracao_ECommerce_CiaShop_versão 11 |
| MV_CADPROD | Determina os cadastros complementares que serão apresentados no cadastro de produto | PEST018 - MV_CADPROD - Parâmetro para informar quais cadastros complementares devem ser apresentados no cadastro de produto |
| Nome | Propósito | Equivalente em MVC | Link da documentação |
|---|---|---|---|
| A010BPE | Utilizado para tratamentos de validações de conteúdo de caracteres especiais no código do produto ou descrição, ou validações especificas. | Não alterado | PEST07675 - A010BPE Ponto utilizado para tratamentos de validações de conteúdo de caracteres especiais no código do produto |
| A010TOK | Validação para inclusão ou alteração do Produto | FORMPRE | A010TOK - Validação para inclusão ou alteração do Produto |
| M010B5CP | Permite limpar o conteúdo dos campos de complemento de produto | MODELPRE | PEST01023 - M010B5CP - Ponto de entrada para manipulação dos campos de Comp. de Produtos |
| M010FILB | Permitir que o usuário filtre os dados a serem exibidos | Não alterado | M010FILB - Cadastro de Produtos |
| MA010BUT | Inclusão de botões do usuário na barra de ferramentas do cadastro de Produtos. | BUTTONBAR | MA010BUT - Inclusão de Botões de usuário no Cadastro de Produtos |
| MA010FIL | Adiciona filtro para o registro do cadastro de produtos | Não alterado | MA010FIL - Adiciona filtro para o registro do cadastro de produtos |
| MT010ALT | Grava/altera Campos de usuário | MODELCOMMITTTS | MT010ALT - Gravaaltera Campos de usuário |
| MT010BRW | Adiciona mais opções de menu na Mbrowse | Não alterado | MT010BRW - Adiciona mais opções de menu na Mbrowse |
| MT010CAN | Executa customizações conforme retorno | MODELCOMMITNTTS | MT010CAN - Executa customizações conforme retorno |
| MT010COR | Ponto de entrada que adiciona legenda de cores na tela de Cadastro de Produtos | Não alterado | MT010COR - Legenda na rotina Cadastro de Produtos |
| MT010EXC | Validação de usuário após a validação de exclusão do cadastro de produtos antes da exclusão efetiva | FORMCOMMITTTSPRE | MT010EXC - Validação de Usuário Após Exclusão do Cadastro de Produtos |
| MT010GETD | Adiciona Novos Campos na Getdados | Não alterado | MT010GETD - Adiciona Novos Campos na Getdados |
| MT010INC | Grava arquivos e campos de usuário | MODELCOMMITTTS | MT010INC - Grava arquivos e campos do usuário |
| MT010LIN | Efetua validações complementares por linha do registro inserido | FORMLINEPOS | MT010LIN - Efetua validações complementares por linha do registro inserido |
| MT010MEM | Permite ao usuário que monte um vetor contendo a relação dos campos virtuais do tipo MEMO criados. | MODELPRE | MT010MEM - Vetor dos campos virtuais criados |
| MT010SIZ | Utilizado para ajustar o percentual de tamanho do cabeçalho e GetDados na tela de produtos alternativos. | Não alterado | MT010SIZ - Ajuste no tamanho do Cabeçalho e Itens do cadastro de produtos alternativos. |
| MT010VCP | Visualização do cadastro de produtos | MODELPRE | MT010VCP - Visualização do Cadastro de Produtos |
| MT010VLD | Verifica se a cópia do produto está apta para utilização. | MODELPRE | MT010VLD - Verifica se a copia do produto está apta para utilização. |
| MTA010E | Ponto de Entrada para complementar a exclusão no cadastro do Produto. | MODELCOMMITTTS | MTA010E - Grava arquivos campos do usuário, após exclusão do produto |
| MTA010MNU | Ponto de entrada utilizado para inserir novas opções no array aRotina | Não alterado | MTA010MNU - Novas opções no Menu MATA010 |
| MTA010NC | Relaciona campos que não devem ser copiados na inclusão | MODELPRE | MTA010NC - Relaciona campos que não devem ser copiados na inclusão |
| MTA010OK | Valida adicionais para a exclusão do produto | FORMCOMMITTTSPRE | MTA010OK - Valida adicionais para a exclusão do produto |
O recurso Adapter EAI permite estabelecer integrações entre o Microsiga e outro ERP. Utilizando esse recurso, o Administrador do Sistema passa a definir quais rotinas devem ser integradas, marcando condições de Envio e Recebimento de procedimentos e transações a serem efetuadas entre os dois Sistemas relacionados, e orientando os métodos a serem aplicados.
Para que seja possivel utilizar em Produto, deve ser considerada as informações:
Saiba mais EAI
O recurso do m-messenger esta disponível para rotina de produtos o seguinte evento:
Saiba mais: M-Messenger - MATA045
<!-- esconder o menu -->
<style>
div.theme-default .ia-splitter #main {
margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
display: none;
}
#main {
padding-left: 10px;
padding-right: 10px;
overflow-x: hidden;
}
.aui-header-primary .aui-nav, .aui-page-panel {
margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
margin-left: 0px !important;
}
</style>
|