01. DATOS GENERALES
Línea de producto: | Microsiga Protheus® |
---|
Segmento: | Servicios |
Módulo: | Fiscal |
Programa: | SPEDFISCAL |
02. VISIÓN GENERAL
Este punto de entrada permite la modificación de los siguientes campos del registro C100 del SPED IPI/ICMS:
- 13 - IND_PGTO (Indicador del tipo de pago).
- 17 - IND_FRT (Indicador del tipo de flete) y/o
- 03 - IND_EMIT (Indicador del emisor del documento fiscal).
03. ESPECIFICACIÓN
Parámetros del punto de entrada
Nombre | Tipo | Descripción | Obligatorio |
---|
PARAMIXB | Array of Record | [1] = Alias de la tabla temporal de procesamiento del SPED [2] = Array con los datos del documento final [3] = Array con los datos para grabación del registro C100 del Sped Fiscal. | X |
Devolución
Nombre | Tipo | Descripción |
---|
aRet | Array | Array con la información aRet [01] = Indicación de pago aRet [02] = Indicador del tipo de flete aRet [03] = Indicador del emisor del documento fiscal |
04. EJEMPLO DE UTILIZACIÓN
Ejemplo 1: Al modificar solamente los campos 13 - IND_PGTO y17 - IND_FRT
#Include "Protheus.ch"
#Include "TopConn.ch"
User Function SPDFIS05()
Local cAlias := ParamixB[1]
Local aDoc := ParamixB[2]
Local aC100 := ParamixB[3]
Local cIndpagto := ""
Local cIndfrt := ""
//contenido del array del documento fiscal
//01-docto fiscal
//02-serie fact
//03-cliente/proveedor
//04-código tienda
//05-fecha docto
//06-fecha emision
//07-fecha anulacion
//08-formulario propio
//09-CFOP
//10-vacio
//11-alicuota ICMS
//12-numero PDV
//13-base ICMS
//14-alicuota ICMS
//15-valor ICMS
//16-valor exento ICMS
//17-otros ICMS
//18-ICMS retenido ST
//19-Cuenta contable
//20-tipo asto
//21-tipo flete
//22-sucursal
//23-estado
//24-observacion
//25-clave NFE
//26-tipo emision
//27-prefijo
//28-factura de credito
//29-comprobante fiscal
//30-Empresa de transportes
//31-peso bruto
//32-peso neto
//33-vehiculo 1
//34-vehiculo 2
//35-vehiculo 3
//36-optante por el simples nacional
//37-regimen Paraiba
//38-Fact original
//39-serie fact original
If (cAlias)->FT_NFISCAL == "000000001"
cIndpagto := "0"
cIndfrt := "0"
Endif
Return {cIndpagto,cIndfrt}
Ejemplo 2: Al modificar solamente el campo 03 - IND_EMIT
#Include "Protheus.ch"
#Include "TopConn.ch"
User Function SPDFIS05()
//Local cAlias := ParamixB[1]
Local aDoc := ParamixB[2]
Local aC100 := ParamixB[3]
Local aRet := {}
Local nPos := Len(aC100)
aAdd(aRet, aC100[nPos][13]) //se mantiene el valor informado para el campo 13-IND_PGTO
aAdd(aRet, aC100[nPos][17]) //se mantiene el valor informado para el campo 17-IND_FRT
If aC100[nPos][6] == "08" .And.; // 06 - COD_SIT
aDoc[3] == "SP0001" .And.; // Cliente
aDoc[4] == "01" .And.; // Tienda
AllTrim(aDoc[9]) == "5101" // CFOP
aAdd(aRet, "1") //modifica el valor que se presentará en el campo 03-IND_EMIT
Endif
Return aRet
No hay.