Linha de Produto: | Microsiga Protheus® |
---|---|
Segmento: | Serviços |
Módulo: | Fiscal |
...
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:
|
Aviso | ||
---|---|---|
| ||
Caso o cliente possua o parâmetro MV_CSDXML (vínculo com o XML do fornecedor)ativado (.T.), algumas informações do ponto de entrada não serão considerados, priorizando os dados do XML de entrada. |
Não temos parâmetros e retorno para este registro, ele será um reflexo da unidade de medida informada para os demais.
Na chamada deste registo serão passados os parâmetros abaixo:
Nome | Tipo | Descrição |
---|---|---|
PARAMIXB | Array of Record | Array com dados de processamento com 3 elementos [1] = SB1; [2] = " "; [3] = "0220"; |
O retorno abaixo esperado:
Nome | Tipo | Descrição |
---|---|---|
Array of Record | Neste registro é utilizado somente a 5 posição do array, caso exista e esteja preenchido será utilizado. Exemplificação:
|
Na chamada deste registo serão passados os parâmetros abaixo:
Nome | Tipo | Descrição |
---|---|---|
PARAMIXB | Array of Record | Array com dados de processamento com 3 elementos [1] = cAliasSFT; (Alias da query principal posicionada na SFT e demais tabelas envolvidas na geração do arquivo) [2] = "E" ou "S"; [3] = "C170"; |
O retorno abaixo esperado:
Nome | Tipo | Descrição |
---|---|---|
Opção 1 | Array of Record | Neste registro é esperado um array com 4 posições. Exemplificação:
|
Opção 2 | String |
|
Informações | ||
---|---|---|
| ||
Este registro verifica se é um array para utilizar as 4 posições ou se é uma string para utilizar somente a unidade de medida. |
Na chamada deste registo serão passados os parâmetros abaixo:
Nome | Tipo | Descrição |
---|---|---|
PARAMIXB | Array of Record | Array com dados de processamento com 2 elementos [1] = cQryAlias; (Query posicionado nas tabelas, SFT, SD2, SB1, SLG, SFI) [2] = "S"; |
O retorno abaixo esperado:
Nome | Tipo | Descrição |
---|---|---|
Opção 1 | Array of Record | Neste registro é esperado um array com 2 posições. Exemplificação:
|
Opção 2 | String |
|
Informações | ||
---|---|---|
| ||
Este registro verifica se é um array para utilizar as 2 posições ou se é uma string para utilizar somente a unidade de medida. |
Na chamada deste registo serão passados os parâmetros abaixo:
Nome | Tipo | Descrição |
---|---|---|
PARAMIXB | Array of Record | Array com dados de processamento com 3 elementos [1] = SFT; [2] = "E" ou "S"; [3] = "G140"; |
O retorno abaixo esperado:
Nome | Tipo | Descrição |
---|---|---|
Opção 1 | Array of Record | Neste registro é esperado um array com 2 posições. Exemplificação:
|
Opção 2 | String |
|
Informações | ||
---|---|---|
| ||
Este registro verifica se é um array para utilizar as 2 posições ou se é uma string para utilizar somente a unidade de medida. |
Na chamada deste registo serão passados os parâmetros abaixo:
Nome | Tipo | Descrição |
---|---|---|
PARAMIXB | Array of Record | Array com dados de processamento com 3 elementos [1] = cAliBLH; (Tabela temporária, dependendo do motivo do inventário trará dados baseados nas tabelas CIL, F0M, SB1, SBZ) [2] = Nil; [3] = "H010"; |
O retorno abaixo esperado:
Nome | Tipo | Descrição |
---|---|---|
Opção 1 | Array of Record | Neste registro é esperado um array com 2 posições. Exemplificação:
|
Opção 2 | String |
|
Informações | ||
---|---|---|
| ||
Este registro verifica se é um array para utilizar as 4 posições ou se é uma string para utilizar somente a unidade de medida. |
Na chamada deste registo serão passados os parâmetros abaixo:
Nome | Tipo | Descrição |
---|---|---|
PARAMIXB | Array of Record | Array com dados de processamento com 3 elementos [1] = cAliK200; (Tabela temporária baseada em dados da SB9, D3E) [2] = Nil; [3] = "K200"; |
O retorno abaixo esperado:
Nome | Tipo | Descrição |
---|---|---|
Opção 1 | Array of Record | Neste registro é esperado um array com 2 posições. Exemplificação:
|
Opção 2 | String |
|
Informações | ||
---|---|---|
| ||
Este registro verifica se é um array para utilizar as 4 posições ou se é uma string para utilizar somente a unidade de medida. |
...
Aviso | ||
---|---|---|
| ||
Ao utilizar este ponto de entrada é importante se atentar para o tipo de dado retornado. Como este PE permite a utilização de tipos de retornos diferentes, array ou string, é aconselhável que utilizem este ponto de entrada com cautela pois ele é chamado em diversos registros. Também é fundamental que seja informado uma Unidade de Medida válida existente na tabela SAH, pois caso a mesma seja inexistente ou não informada, pode impactar na geração dos registros, especialmente para os casos em que é utilizada a opção 2 de retorno em formato string. |
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
#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) aRet[1] := "MM" aRet[2] := 0 aRet[3] := 4 //Fator aRet[4] := "M" //Tipo de Conversão 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 If cRegSped == "0220" Aadd(aRet,"8888888888888") // Posição 05 código de barras EndIf RestArea(aAreaAnt) Return aRet |
Dica | ||
---|---|---|
| ||
Foram disponibilizados exemplos de utilização deste ponto de entrada na pagina de suporte ao cliente em RDMAKES de livros fiscais. |
...