...
Linha Línea de Produtoproducto: | Microsiga Protheus® |
---|---|
Segmento: | ServiçosServicios |
Módulo: | Fiscal |
02. DESCRIÇÃODESCRIPCIÓN
Este punto Este ponto de entrada permite alternar a unidade la unidad de medida e respetiva quantidade do item no y respectiva cantidad del ítem del documento.
Por padrão é assumida sempre a primeira unidade de medida e a primeira quantidade (cadastradas na tabela SB1). No entanto, alguns registros do SPED FISCAL permitem a apresentação utilizando uma unidade de medida diferente daquela definida como unidade de estoque. Para utilizar a segunda unidade de medida e a segunda quantidade, é preciso realizar o tratamento utilizando este ponto de entrada.estándar se asume siempre la primera unidad de medida y la primera cantidad (registradas en la tabla SB1). Sin embargo, algunos registros del SPED FISCAL permiten la presentación utilizando una unidad de medida diferente de aquella definida como unidad de stock. Para utilizar la segunda unidad de medida y la segunda cantidad, es necesario realizar el tratamiento utilizando este punto de entrada.
Los siguientes registros/campos tienen soporte para la utilización del punto Os seguintes registros/campos possuem suporte para a utilização do ponto de entrada SPDFIS02:
...
...
Nome Nombre | Tipo | Descrição Descripción | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PARAMIXB | Array of Record | Array com dados de processamento com Array con datos del procesamiento con 3 elementos [1] = Alias da tabela;de la tabla. [2] = Tipo Movimentode movimiento - Que pode ser E de Entrada ou S de Saída;puede ser E de Entrada o S de Salida. [3] = Registro em que ocorre a alteração;Registro en el que ocurre la modificación.
|
...
Nome Nombre | Tipo | Descrição Descripción | |||||
---|---|---|---|---|---|---|---|
Array of Record | Retorna Array com conversão da unidade Devuelve Array con conversión de la unidad de medida. Importante:
|
Aviso | ||
---|---|---|
| ||
Caso o cliente possua o parâmetro Si el cliente tuviera el parámetro MV_CSDXML (vínculo com o XML do fornecedor)ativado con el XML del proveedor)activado (.T.), algumas informações do ponto de entrada não serão considerados, priorizando os dados do algunas informaciones del punto de entrada no se consideran, priorizando los datos del XML de entrada. |
...
Não temos parâmetros e retorno No tenemos parámetros y devolución para este registro, ele será um reflexo da unidade este será un reflejo de la unidad de medida informada para os demaislos otros.
En la activación de este registro se transferirán los siguientes parámetros:
Nombre |
---|
Na chamada deste registo serão passados os parâmetros abaixo:
Nome | Tipo | Descrição Descripción |
---|---|---|
PARAMIXB | Array of Record | Array com dados de processamento com con datos del procesamiento con 3 elementos [1] = SB1; [2] = " "; [3] = "0220"; |
O retorno abaixo esperadoSiguiente devolución esperada:
Nome Nombre | Tipo | Descrição Descripción |
---|---|---|
Array of Record | En este registro solamente se utiliza la 5 posición del array, si existiera y estuviera completado se utilizará. Ejemplo Neste registro é utilizado somente a 5 posição do array, caso exista e esteja preenchido será utilizado. Exemplificação:
|
En la activación de este registro se transferirán los siguientes parámetros:
Nombre |
---|
Na chamada deste registo serão passados os parâmetros abaixo:
Nome | Tipo | Descrição Descripción |
---|---|---|
PARAMIXB | Array of Record | Array com dados de processamento com con datos del procesamiento con 3 elementos [1] = cAliasSFT; (Alias da de la query principal posicionada na SFT e demais tabelas envolvidas na geração do arquivomarcada en la SFT y otras tablas involucradas en la generación del archivo) [2] = "E" ou o "S"; [3] = "C170"; |
O retorno abaixo esperadoSiguiente devolución esperada:
Nome Nombre | Tipo | Descrição Descripción |
---|---|---|
Opção Opción 1 | Array of Record | En este registro se espera un array con 4 posiciones. Ejemplo Neste registro é esperado um array com 4 posições. Exemplificação:
|
Opção Opción 2 | String |
|
Informações | ||
---|---|---|
| ||
Este registro verifica se é um si es un array para utilizar as 4 posições ou se é uma las 4 posiciones o si es una string para utilizar somente a unidade solamente la unidad de medida. |
En la activación de este registro se transferirán los siguientes parámetros:
Nombre |
---|
Na chamada deste registo serão passados os parâmetros abaixo:
Nome | Tipo | Descrição Descripción |
---|---|---|
PARAMIXB | Array of Record | Array com dados de processamento com con datos del procesamiento con 2 elementos [1] = cQryAlias; (Query posicionado nas tabelasmarcado en las tablas, SFT, SD2, SB1, SLG, SFI) [2] = "S"; |
O retorno abaixo esperadoSiguiente devolución esperada:
Nome Nombre | Tipo | Descrição Descripción |
---|---|---|
Opção Opción 1 | Array of Record | En este registro se espera un array con 2 posiciones. Ejemplo Neste registro é esperado um array com 2 posições. Exemplificação:
|
Opção Opción 2 | String |
|
Informações | ||
---|---|---|
| ||
Este registro verifica se é um si es un array para utilizar as 2 posições ou se é uma las 2 posiciones o si es una string para utilizar somente a unidade solamente la unidad de medida. |
En la activación de este registro se transferirán los siguientes parámetros:
Nombre |
---|
Na chamada deste registo serão passados os parâmetros abaixo:
Nome | Tipo | Descrição Descripción |
---|---|---|
PARAMIXB | Array of Record | Array com dados de processamento com con datos del procesamiento con 3 elementos [1] = SFT; [2] = "E" ou o "S"; [3] = "G140"; |
O retorno abaixo esperadoSiguiente devolución esperada:
Nome Nombre | Tipo | Descrição Descripción |
---|---|---|
Opção Opción 1 | Array of Record | En este registro se espera un array con 2 posiciones. Ejemplo Neste registro é esperado um array com 2 posições. Exemplificação:
|
Opção Opción 2 | String |
|
Informações | ||
---|---|---|
| ||
Este registro verifica se é um si es un array para utilizar as 2 posições ou se é uma las 2 posiciones o si es una string para utilizar somente a unidade solamente la unidad de medida. |
En la activación de este registro se transferirán los siguientes parámetros:
Nombre |
---|
Na chamada deste registo serão passados os parâmetros abaixo:
Nome | Tipo | Descrição Descripción |
---|---|---|
PARAMIXB | Array of Record | Array com dados de processamento com con datos del procesamiento con 3 elementos [1] = cAliBLH; (Tabela temporária, dependendo do motivo do inventário trará dados baseados nas tabelas Tabla temporal, dependiendo del motivo del inventario traerá datos basados en las tablas CIL, F0M, SB1, SBZ) [2] = Nil; [3] = "H010"; |
O retorno abaixo esperadoSiguiente devolución esperada:
Nome Nombre | Tipo | Descrição Descripción |
---|---|---|
Opção Opción 1 | Array of Record | En este registro se espera un array con 2 posiciones. Ejemplo Neste registro é esperado um array com 2 posições. Exemplificação:
|
Opção Opción 2 | String |
|
Informações | ||
---|---|---|
| ||
Este registro verifica se é um si es un array para utilizar as 4 posições ou se é uma las 4 posiciones o si es una string para utilizar somente a unidade solamente la unidad de medida. |
En la activación de este registro se transferirán los siguientes parámetros:
Nombre |
---|
Na chamada deste registo serão passados os parâmetros abaixo:
Nome | Tipo | Descrição Descripción |
---|---|---|
PARAMIXB | Array of Record | Array com dados de processamento com con datos del procesamiento con 3 elementos [1] = cAliK200; (Tabela temporária baseada em dados da Tabla temporal basada en datos de SB9, D3E) [2] = Nil; [3] = "K200"; |
O retorno abaixo esperadoSiguiente devolución esperada:
Nome Nombre | Tipo | Descrição Descripción |
---|---|---|
Opção Opción 1 | Array of Record | Neste registro é esperado um array com 2 posiçõesEn este registro se espera un array con 2 posiciones. Exemplificação:
|
Opção Opción 2 | String |
|
Informações | ||
---|---|---|
| ||
Este registro verifica se é um si es un array para utilizar as 4 posições ou se é uma las 4 posiciones o si es una string para utilizar somente a unidade solamente la unidad de medida. |
Aviso | ||
---|---|---|
| ||
Ao Al utilizar este ponto punto de entrada é importante se atentar para o es importante observar el tipo de dado retornadodato devuelto. Como este PE permite a utilização la utilización de tipos de retornos devoluciones diferentes, array ou o string, é aconselhável se aconseja que utilizem utilicen este ponto punto de entrada com cautela pois ele é chamado em diversos registros.con cautela, pues este se activa en diferentes registros.
También es fundamental que se informe una Unidad de medida válida existente en la tabla SAH, pues si esta fuera inexistente o no informada, puede impactar en la generación de los registros, especialmente para los casos en los que se utiliza la opción 2 de devolución en 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] // RecebeRecibe oel Alias principal Local cTipoMov := ParamIXB[2] // RecebeRecibe oel tipo de movimentomovimiento - E = ENTRADA / S = SAIDASALIDA, para registros geradosgenerados a partir de notas fiscaisfacturas. Para registros nãono originados de notasfacturas esta posiçãoposición terátendrá conteúdocontenido Nil. Local cRegSped := Iif (Len(ParamIXB) > 2,ParamIXB[3],"") // RecebeRecibe oel nomenombre dodel registro, quandoal passadotransferirse(1105, G140, H010, K200). Local aRet := Array(4) // Array para almacenar datos armazenarde dadosla dodevolución retornode dala funçãofunción Local cPrefix := Iif (ValType(cTipoMov)=='C',Iif (cTipoMov$"E","D1","D2"),"") // Prefijo Prefixode dala tabelatabla - D1_ / D2_ Local aAreaAnt := GetArea() If !Empty(cPrefix) aRet[1] := "MM" aRet[2] := 0 aRet[3] := 4 //FatorFactor aRet[4] := "M" //Tipo de Conversãoconversión 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 //FatorFactor aRet[4] := ("SB1")->B1_TIPCONV //Tipo de Conversãoconversión Else aRet[1] := "MM" aRet[2] := 0 aRet[3] := 4 //FatorFactor aRet[4] := "M" //Tipo de Conversãoconversión Endif Endif Endif If cRegSped == "0220" Aadd(aRet,"8888888888888") // PosiçãoPosición 05 código de barras EndIf RestArea(aAreaAnt) Return aRet |
...
Dica | |||
---|---|---|---|
| |||
Se pusieron a disposición ejemplos de utilización de este punto de entrada en la página de soporte al cliente en RDMAKES de libros fiscalesForam disponibilizados exemplos de utilização deste ponto de entrada na pagina de suporte ao cliente em RDMAKES de livros fiscais. |