01. DADOS GERAIS
Produto: |
TOTVS Backoffice
|
---|---|
Linha de Produto: | Linha Protheus |
Segmento: | Backoffice |
Módulo: | TOTVS Backoffice (Linha Protheus) - Estoque e Custos (SIGAEST)
|
Função: | CÁLCULO DA MÃO DE OBRA (MATA330MOD) |
País: | Brasil |
02. DESCRIÇÃO
LOCALIZAÇÃO: Function MA330Mod - Função que calcula o custo os saldos iniciais dos produtos de mão de obra para as requisições de mão de obra feitas no período.
EM QUE PONTO: O Ponto de entrada é executado no início da função MA330Mod, e utilizado para que se possa customizar o cálculo do custo das requisições de mão de obra feitas no período utilizando grupo e centro de custo.
OBSERVAÇÃO: Durante a execução do Cálculo da Mão de Obra, para produtos que o código não inicia por "MOD", este retornará no vetor "PARAMIXB" os respectivos conteúdos identificados nos campos B1_COD (Codigo do Produto), B1_CCCUSTO (Centro de Custo Custeio) e B1_GCCUSTO (Grupo Contábil Custeio).
Porém, caso seja identificado pelo menos um produto que possua o código iniciado por "MOD", ex: "MOD00001", este retornará no parâmetro "PARAMIXB[1]" apenas o código "MOD" seguido de conteúdo vazio nos parâmetros "PARAMIXB[2]" e "PARAMIXB[3]". Para estes cenários, o ponto de entrada busca apenas identificar se existe ou não algum código iniciado por "MOD" para cada filial.
Importante
Ao optar pelo uso do ponto de entrada MA330MOD, o calculo do custo da mão de obra deixará de ser feito pela rotina e o calculo da mão de obra passará a ser pela logica definida no ponto de entrada.
Com base nos parametros recebidos de produto (B1_COD), Centro de custo (B1_CCUSTO) e Grupo contabil de custeio (B1_GCCUSTO) do cadastro de produto, a logica do ponto de entrada deverá atualizar o custo médio dos saldos dos produtos de mão de obra atraves da tabela SB2 para utilização do recalculo de custo.
03. DEMAIS INFORMAÇÕES
PARÂMETROS
Nome | Tipo | Descrição | Retorno |
---|---|---|---|
PARAMIXB | Vetor | cCodPesq := PARAMIXB[1] ; CCodCC := PARAMIXB[2] ; cGrupo := PARAMIXB[3] | Nil |
EXEMPLO DE UTILIZAÇÃO ADVPL
#INCLUDE 'totvs.ch' /*/{Protheus.doc} User Function MA330MOD Utilizado para executar o ponto de entrada MA330MOD passando os produtos. @type User Function @author TOTVS /*/ Exemplos User Function MA330MOD() Local cCodPesq := PARAMIXB[1] //B1_COD Local cCodCC := PARAMIXB[2] //B1_CCUSTO Local cGrupo := PARAMIXB[3] //B1_GCCUSTO // Produtos SEM código iniciado por "MOD" If cCodPesq == 'EST00001' If cCodCC == '000001' If cGrupo == '000001' //--Tratamento lógico.... dbSelectArea("SB2") dbSetOrder(1) If dbSeek( xfilial("SB2")+cCodPesq +"01") Recklock("SB2", .F.) Replace B2_QFIM With 10 Replace B2_VFIM1 With 10 Replace B2_CMFIM1 With 1.00 SB2->(MsUnLock()) EndIf EndIf EndIf EndIf // Produtos COM código iniciado por "MOD" If cCodPesq == 'MOD' //--Tratamento lógico.... dbselectArea("SB1") dbSetorder(1) dbSeek( xfilial("SB1")+cCodPesq) //-- FILIAL+"MOD" While !eof() .AND. B1_FILIAL+substr(B1_COD,1,3) = xfilial("SB1")+cCodPesq If B1_COD = 'MOD010101' dbSelectArea("SB2") dbSetOrder(1) If dbSeek( xfilial("SB2")+SB1->B1_COD+"01") Recklock("SB2", .F.) Replace B2_QFIM With 10 Replace B2_VFIM1 With 20 Replace B2_CMFIM1 With 2.00 SB2->(MsUnLock()) EndIf EndIf SB1->(DBSKIP()) EndDo EndIf Return Nil
04. ASSUNTOS RELACIONADOS