Histórico da Página
...
Parâmetros do 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;
|
Retorno:
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. |
Entradas e Saídas esperadas por registro:
- 0190
Não temos parâmetros e retorno para este registro, ele será um reflexo da unidade de medida informada para os demais.
- 0220
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:
- aRet[1] => ""
- aRet[2] => ""
- aRet[3] => ""
- aRet[4] => ""
- aRet[5] => Código de Barras (string)
- C170
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:
- aRet[1] => Unidade de Medida do item do documento (string)
- aRet[2] => Quantidade do item do documento (numérico)
- aRet[3] => Fator de Conversão (numérico)
- aRet[4] => Tipo de Conversão M=Multiplicação/D=Divisão (string)
Opção 2 String - cRet => Unidade de Medida do item do documento (string)
Informações title Observação Este registro verifica se é um array para utilizar as 4 posições ou se é uma string para utilizar somente a unidade de medida.
- C425
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:
- aRet[1] => Unidade de Medida do item do documento (string)
- aRet[2] => Quantidade do item do documento (numérico)
Opção 2 String - cRet => Unidade de Medida do item do documento (string)
Informações title Observação Este registro verifica se é um array para utilizar as 2 posições ou se é uma string para utilizar somente a unidade de medida.
- G140
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:
- aRet[1] => Unidade de Medida do item do documento (string)
- aRet[2] => Quantidade do item do documento (numérico)
Opção 2 String - cRet => Unidade de Medida do item do documento (string)
Informações title Observação Este registro verifica se é um array para utilizar as 2 posições ou se é uma string para utilizar somente a unidade de medida.
- H010
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:
- aRet[1] => Unidade de Medida do item do documento (string)
- aRet[2] => Quantidade do item do documento (numérico)
- aRet[3] => Fator de Conversão (numérico)
- aRet[4] => Tipo de Conversão M=Multiplicação/D=Divisão (string)
Opção 2 String - cRet => Unidade de Medida do item do documento (string)
Informações title Observação Este registro verifica se é um array para utilizar as 4 posições ou se é uma string para utilizar somente a unidade de medida.
- K200
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:
- aRet[1] => Unidade de Medida do item do documento (string)
- aRet[2] => Quantidade do item do documento (numérico)
- aRet[3] => Fator de Conversão (numérico)
- aRet[4] => Tipo de Conversão M=Multiplicação/D=Divisão (string)
Opção 2 String - cRet => Unidade de Medida do item do documento (string)
Informações title Observação 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. |
04. EXEMPLO DE UTILIZAÇÃO
...
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 |
...