Línea de producto: | Microsiga Protheus® |
---|---|
Segmento: | Servicios |
Módulo: | Fiscal |
Programa: | SPEDFISCAL |
Este punto de entrada permite la modificación de los siguientes campos del registro C100 del SPED IPI/ICMS:
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 |
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 |
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.