| Linha de Produto: | Microsiga Protheus® |
|---|---|
| Segmento: | Serviços |
| Módulo: | Fiscal |
02. DESCRIÇÃO
Ponto de Entrada que define a unidade de medida e quantidade do item do documento. Por padrão é assumida sempre a primeira unidade de medida e a primeira quantidade (para gerar o registro 0190 e campo 06 do registro C170). Para utilizar a segunda unidade de medida e a segunda quantidade, é preciso realizar o tratamento utilizando este ponto de entrada.
| Nome | Tipo | Descrição | ||
|---|---|---|---|---|
| PARAMIXB | Array of Record | Array com dados de processamento com 3 elementos [1] = Alias da tabela; [2] = Tipo Movimento - Que pode ser E de Entrada ou S de Saída; [3] = Registro em que ocorre a alteração;
|
| Nome | Tipo | Descrição |
|---|---|---|
| Array of Record | Retorna Array com conversão da unidade de medida. Importante:
|
#include "rwmake.ch"
#include "Topconn.ch"
#include "protheus.ch"
User Function
SPDFIS02()
Local aAliasIT := ParamIXB[1] // Recebe o Alias principal
Local cTipoMov := ParamIXB[2] // Recebe o tipo de movimento - E = ENTRADA / S = SAIDA, para registros gerados a partir de notas fiscais. Para registros não originados de notas esta posição terá conteúdo Nil.
Local cRegSped := Iif (Len(ParamIXB) > 2,ParamIXB[3],"") // Recebe o nome do registro, quando passado(1105, G140, H010, K200).
Local aRet := Array(4) // Array para armazenar dados do retorno da função
Local cPrefix := Iif (ValType(cTipoMov)=='C',Iif (cTipoMov$"E","D1","D2"),"") // Prefixo da tabela - D1_ / D2_
Local aAreaAnt := GetArea()
If !Empty(cPrefix)
If (aAliasIT)->&(cPrefix+"_DOC") == "000000813"
aRet[1] := (aAliasIT)->&(cPrefix+"_SEGUM")
aRet[2] := (aAliasIT)->&(cPrefix+"_QTSEGUM")
aRet[3] := 6 //Fator
aRet[4] := "M" //Tipo de Conversão
Else
aRet[1] := "MM"
aRet[2] := 0
aRet[3] := 4 //Fator
aRet[4] := "M" //Tipo de Conversão
EndIf
Else
If cRegSped == "K200"
If ("SB1")->(dbSeek(xFilial("SB1")+(aAliasIT)->COD_ITEM))
aRet[1] := ("SB1")->B1_SEGUM
aRet[2] := (aAliasIT)->&("QTD")
aRet[3] := ("SB1")->B1_CONV //Fator
aRet[4] := ("SB1")->B1_TIPCONV //Tipo de Conversão
Else
aRet[1] := "MM"
aRet[2] := 0
aRet[3] := 4 //Fator
aRet[4] := "M" //Tipo de Conversão
Endif
Endif
Endif
RestArea(aAreaAnt)
Return aRet
|
Foram disponibilizados exemplos de utilização deste ponto de entrada na pagina de suporte ao cliente em RDMAKES de livros fiscais. |