Árvore de páginas

Carregando...


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

NomeTipoDescriçãoRetorno
PARAMIXBVetorcCodPesq := PARAMIXB[1] ; CCodCC := PARAMIXB[2] ; cGrupo := PARAMIXB[3]Nil


EXEMPLO DE UTILIZAÇÃO ADVPL

MA330MOD (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