Árvore de páginas

CONTEÚDO

  1. Descrição
  2. Localização
  3. Programa Fonte
  4. Parâmetros
  5. Retorno
  6. Exemplo de utilização

01. DESCRIÇÃO

Este Ponto de Entrada permite alterar o custo de terceiros (SB6) durante o recálculo do custo médio.

02. LOCALIZAÇÃO

Localizado na função A330PegaSB6, no final da função. 

03. PROGRAMA FONTE

SIGACUSB.PRX

04. Parâmetros

ParâmetroDescriçãoConteúdo Padrão
ParamIXB[1]Alias - Indica qual tabela está sendo processada no recálculo do custo médioCaractere - "SD1" ou "SD2"
ParamIXB[2]Custo Fifo - Indica se o Custo Fifo está habilitadoLógico - .T. ou .F.
ParamIXB[3]Programa - Indica de qual programa a função A330PegaSB6 foi chamado, do MATA330 ou outrosCaractere - "330" ou vazio
ParamIXB[4]Custo em Partes - Indica se o custo em partes está habilitadoLógico - .T. ou .F.
ParamIXB[5]Número de Partes - Indica o número de partes do custo em partes, se habilitadoNumérico
ParamIXB[6]Custo de Reposição - Indica se usa o custo de reposiçãoLógico - .T. ou .F.


05. RETORNO

Retorno: Nil (Nulo)


06. EXEMPLO DE UTILIZAÇÃO

Exemplo
#Include 'Totvs.ch'

/*/{Protheus.doc} User Function M330PSB6 
Valoriza o retorno das remessas em 10%
/*/
User Function M330PSB6()
    Local cAlias   := ParamIXB[1]
    Local lCusFIFO := ParamIXB[2]
    Local cProg    := ParamIXB[3]
    Local lCstPart := ParamIXB[4]
    Local nRegras  := ParamIXB[5]
    Local lCusRep  := ParamIXB[6]
	Local nMoeda   := 0
	Local nReg     := 0

    If cAlias == 'SD1' .And. SB6->B6_PODER3 = 'D' .And. cProg == '330'
		RecLock('SB6', .F.)
		SB6->B6_CUSTO1 *= 1.1
		SB6->B6_CUSTO2 *= 1.1
		SB6->B6_CUSTO3 *= 1.1
		SB6->B6_CUSTO4 *= 1.1
		SB6->B6_CUSTO5 *= 1.1
		 If lCusFIFO
			SB6->B6_CUSFF1 *= 1.1
			SB6->B6_CUSFF2 *= 1.1
			SB6->B6_CUSFF3 *= 1.1
			SB6->B6_CUSFF4 *= 1.1
			SB6->B6_CUSFF5 *= 1.1
		EndIf
		If lCusRep
			SB6->B6_CUSRP1 *= 1.1
			SB6->B6_CUSRP2 *= 1.1
			SB6->B6_CUSRP3 *= 1.1
			SB6->B6_CUSRP4 *= 1.1
			SB6->B6_CUSRP5 *= 1.1
		EndIf
		If lCstPart
			For nReg := 1 to nRegras
				For nMoeda := 1 to 5
					cCampo := 'B6_CP'+StrZero(nReg, 2)+StrZero(nMoeda, 2)
					If SB6->(FieldPos(cCampo)) > 0
						SB6->(FieldPut(FieldPos(cCampo), FieldGet(FieldPos(cCampo))*1.1))
					EndIf
				Next nMoeda
			Next nReg
		EndIf 
		SB6->(MsUnlock())
    EndIf

Return