Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

01. 

...

DATOS GENERALES

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:

  • 0190
  • 0220
  • C170
  • C425
  • G140
  • H010
  • K200

03. 

...

ESPECIFICACIÓN

Parámetros del punto

...

de entrada:


Nome

Nombre

Tipo

Descrição

Descripción

PARAMIXBArray 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

Movimento 

de 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.


Dica
titleObservaçãoObservación

Es posible efectuar un tratamiento específico al marcar el producto, o simplemente devolver la segunda unidad de medida y la segunda cantidad de este É possível fazer um tratamento específico ao posicionar o produto, ou simplesmente retornar a segunda unidade de medida e a segunda quantidade deste documento (D1_SEGUM ou o D2_SEGUM). 

Aviso
titleImportante

Na chamada do En la activación del SPDFIS02 para alguns algunos registros K200, H010(SPED Fiscal)  não ocorrerá tratamento para o Tipo Movimento, pois estes registros não são gerados com base na movimentação das notas do período e sim com base na produção(K200) e no inventário(H010) do no ocurrirá el tratamiento para el Tipo de movimiento, pues estos registros no se generan con base en el movimiento de las facturas del período y sí con base en la producción(K200) y en el inventario(H010) del período respectivamente. 

...

Devolució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:


  • aRet[1] => Unidade de Medida do item do Unidad de medida del ítem del documento (string)
  • aRet[2] => Quantidade do item do Cantidad del ítem del documento (numérico)
  • aRet[3] => Fator Factor de Conversão conversión (numérico)
  • aRet[4] => Tipo de Conversão conversión M=MultiplicaçãoMultiplicación/D=Divisão División (string)
  • aRet[5] => Código de Barras barras (numérico)


A terceira posição do array é o Fator de Conversão, essa posição do array é opcional.
A quarta posição do array é o Tipo de Conversão , essa posição do array é opcional.
A quinta posição do array é o Código de Barras, essa posição do array é La tercera posición del array es el Factor de conversión, esta posición del array es opcional.
La cuarta posición del array es el Tipo de conversión , esta posición del array es opcional.
La quinta posición del array es el Código de barras, esta posición del array es opcional
.


Aviso
titleImportante

O retorno em La devolución en formato array, deve ser realizado conforme o tipo de dado em sua posição.
A personalização dos debe realizarse de acuerdo con el tipo de dato en su posición.
La personalización de los P.E., devem ser adequadas a regra de negócio deben adecuarse a la regla de negocio de cada cliente, sendo de sua responsabilidade a utilizaçãosiendo responsables por su utilización.

Aviso
titleImportante

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.

Entradas

...

y Salidas esperadas por registro:


  • 0190
    • 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.


  • 0220
    • 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

      PARAMIXBArray 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:

      • aRet[1] => ""
      • aRet[2] => ""
      • aRet[3] => ""
      • aRet[4] => ""
      • aRet[5] => Código de Barras barras (string)



  • C170
    • 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

      PARAMIXBArray 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";.

    • Siguiente devolución esperadaO retorno abaixo esperado:

      Nome

      Nombre

      Tipo

      Descrição

      Descripción

      Opção Opción 1Array of Record

      En este registro se espera un array con 4 posiciones.

      Ejemplo

      Neste registro é esperado um array com 4 posições.

      Exemplificação:

      • aRet[1] => Unidade de Medida do item do Unidad de medida del ítem del documento (string)
      • aRet[2] => Quantidade do item do Cantidad del ítem del documento (numérico)
      • aRet[3] => Fator Factor de Conversão conversión (numérico)
      • aRet[4] => Tipo de Conversão conversión M=MultiplicaçãoMultiplicación/D=Divisão División (string)
      Opção Opción 2String
      • cRet => Unidade de Medida do item do documento Unidad de medida del ítem del (string)

      Informações
      titleObservaçãoObservación

      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.

  • C425
    • 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

      PARAMIXBArray 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 1Array of Record

      En este registro se espera un array con 2 posiciones.

      Ejemplo

      Neste registro é esperado um array com 2 posições.

      Exemplificação:

      • aRet[1] => Unidade de Medida do item do Unidad de medida del ítem del documento (string)
      • aRet[2] => Quantidade do item do Cantidad del ítem del documento (numérico)
      Opção Opción 2String
      • cRet => Unidade de Medida do item do Unidad de medida del ítem del documento (string)
      Informações
      titleObservaçãoObservación

      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.

  • G140
    • 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

      PARAMIXBArray 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 1Array of Record

      En este registro se espera un array con 2 posiciones.

      Ejemplo

      Neste registro é esperado um array com 2 posições.

      Exemplificação:

      • aRet[1] => Unidade de Medida do item do Unidad de medida del ítem del documento (string)
      • aRet[2] => Quantidade do item do Cantidad del ítem del documento (numérico)
      Opção Opción 2String
      • cRet => Unidade de Medida do item do Unidad de medida del ítem del documento (string)
      Informações
      titleObservaçãoObservación

      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.

  • H010
    • 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

      PARAMIXBArray 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 1Array of Record

      En este registro se espera un array con 2 posiciones.

      Ejemplo

      Neste registro é esperado um array com 2 posições.

      Exemplificação:

      • aRet[1] => Unidade de Medida do item do Unidad de medida del ítem del documento (string)
      • aRet[2] => Quantidade do item do Cantidad del ítem del documento (numérico)
      • aRet[3] => Fator Factor de Conversão conversión (numérico)
      • aRet[4] => Tipo de Conversão conversión M=MultiplicaçãoMultiplicación/D=Divisão División (string)
      Opção Opción 2String
      • cRet => Unidade de Medida do item do Unidad de medida del ítem del documento (string)
      Informações
      titleObservaçãoObservación

      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.

  • K200
    • 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

      PARAMIXBArray 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 1Array of Record

      Neste registro é esperado um array com 2 posiçõesEn este registro se espera un array con 2 posiciones.

      Exemplificação:

      • aRet[1] => Unidade de Medida do item do Unidad de medida del ítem del documento (string)
      • aRet[2] => Quantidade do item do Cantidad del ítem del documento (numérico)
      • aRet[3] => Fator Factor de Conversão conversión (numérico)
      • aRet[4] => Tipo de Conversão M=Multiplicação/D=Divisão (string)
      Opção Opción 2String
      • cRet => Unidade de Medida do item do Unidad de medida del ítem del documento (string)
      Informações
      titleObservaçãoObservación

      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
titleImportante

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.

04. 

...

EJEMPLO DE

...

UTILIZACIÓN


Bloco de código
languagejava
themeMidnight
titleSPED1300
#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 


05.

...

OTRAS INFORMACIONES

Dica
titleDicaImportante

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.