Árvore de páginas
Ir para o final dos metadados
Ir para o início dos metadados

ESPECIFICAÇÃO DO PONTO DE ENTRADA SPEDRTMS - SPED FISCAL

Descrição:

Este ponto de entrada tem como finalidade retornar um array com as informações dos conhecimentos de transportes para os clientes que não utilizam o módulo Gestão de Transportes.
É utilizado na geração do "Bloco documentos fiscais II serviço (ICMS)" para os Registros:D100, D110, D120, D130, D140, D150, D160, D161, D162 e D190.

Localização:

SPEDFISCAL

Eventos:

SPEDRTMS 

Programa Fonte:

SPEDFISCAL

Função:

SPEDRTMS 
Parâmetro
PARAMIXB[1]nPosNuméricoPosição do Array
PARAMIXB[2]cRegCaracterRegistro do Documento
PARAMIXB[3]cAliasCaracterContendo alias da tabela temporária de processamento do SPED.
PARAMIXB[4]aDocArray of RecordContendo dados do documento fiscal

Retorno:

Nome

Tipo

Descrição

aRet

 Array

 Retorna um array com as informações para geração do bloco do documento fiscal.

 

Exemplo de uso do Ponto de Entrada (SPEDRTMS):

User Function SPEDRTMS()


Local vLinha := {}
Local nPos := ParamIXB[1]
Local cReg := ParamIXB[2]
Local cAlias := ParamIXB[3]
Local aDoc := ParamIXB[4]
Local vRet := {}
//01 - Doc. Fiscal
//02 - Serie NF
//03 - Cliente/Fornecedor
//04 - Codigo Loja
//05 - Data Docto.
//06 - Data Emissao
//07 - Data Canc.
//08 - Formulario Proprio
//09 - CFOP
//10 - Reservado
//11 - Aliq. ICMS
//12 - Nro. PDV
//13 - Base ICMS
//14 - Aliq. ICMS
//15 - Valor ICMS
//16 - Valor Isento ICMS
//17 - Outros ICMS
//18 - ICMS Retido ST
//19 - Conta Contabil
//20 - Tipo Lancamento
//21 - Tipo Frete
//22 - Filial
//23 - Estado
//24 - Observacao
//25 - Chave NFE
//26 - Tipo Emissao
//27 - Prefixo
//28 - Duplicata
//29 - Cupom Fiscal
//30 - Transportadora
//31 - Peso Bruto
//32 - Peso Liquido
//33 - Veiculo1
//34 - Veiculo2
//35 - Veiculo3
//36 - Optante Simples Nacional
//37 - Regime Paraiba

SA1->(dbSetOrder(1))
SA1->(dbSeek(XFILIAL("SA1")+aCmpAntSFT[2] + aCmpAntSFT[3] )) O correto é 3 e 4

If cReg == "D140"
AAdd( vLinha , "D140" ) // 01 - REG
AAdd( vLinha , "SA1"+SA1->(A1_FILIAL+A1_CLIENTE+A1_LOJA) ) // 02 - COD_PART_CONSG
AAdd( vLinha , Formata2(RetCodEst(SA1->A1_EST)+SA1->A1_COD_MUN) ) // 03 - COD_MUN_ORIG
AAdd( vLinha , Formata2(RetCodEst(SA1->A1_EST)+SA1->A1_COD_MUN) ) // 04 - COD_MUN_DEST
AAdd( vLinha , "1" ) // 05 - IND_VEIC
AAdd( vLinha , "") // 06 - VEIC_ID
AAdd( vLinha , "0") // 07 - IND_NAV
AAdd( vLinha , "" ) // 08 - VIAGEM
AAdd( vLinha , LTrim(Transform(SF2->F2_VALMERC,"@E 99999999.99")) ) // 09 - VL_FRT_LIQ
AAdd( vLinha , "" ) // 10 - VL_DESP_PORT
AAdd( vLinha , "" ) // 11 - VL_DESP_CAR_DESC
AAdd( vLinha , "" ) // 12 - VL_OUT
AAdd( vLinha , LTrim(Transform(SF2->F2_VALBRUT,"@E 99999999.99")) ) // 13 - VL_FRT_BRT
AAdd( vLinha , LTrim(Transform(SF2->(F2_AFRMM1+F2_AFRMM2),"@E 99999999.99")) ) // 14 - VL_FRT_MM
AAdd( vRet , vLinha )

ElseIf == "D100"

SA1->(dbSetOrder(1))
SA1->(dbSeek(XFILIAL("SA1")+aCmpAntSFT[3] + aCmpAntSFT[4] ))

aAdd(vLinha, "D100") //01 REG
aAdd(vLinha, "0") //02 IND_OPER
aAdd(vLinha, "0") //03 IND_EMIT
aAdd(vLinha, "SA1"+(SA1)->(A1_FILIAL+A1_COD+A1_LOJA)) //04 COD_PART
aAdd(vLinha, "57") //05 COD_MOD
aAdd(vLinha, "05") //06 COD_SIT - Inutilizado
aAdd(vLinha, aCmpAntSFT[2]) //07 SER
aAdd(vLinha, "") //08 SUB
aAdd(vLinha, aCmpAntSFT[1]) //09 NUM_DOC
aAdd(vLinha, aCmpAntSFT[25]) //10 CHV_CTE
aAdd(vLinha, aCmpAntSFT[5]) //11 DT_DOC
aAdd(vLinha, aCmpAntSFT[5]) //12 DT_A_P
aAdd(vLinha, 0) //13 TP_CTe
aAdd(vLinha, "") //14 CHV_CTe_REF
aAdd(vLinha, aCmpAntSFT[13]) //15 VL_DOC
aAdd(vLinha, 0) //16 VL_DESC
aAdd(vLinha, "2") //17 IND_FRT
aAdd(vLinha, aCmpAntSFT[13]) //18 VL_SERV
aAdd(vLinha, aCmpAntSFT[13]) //19 VL_BC_ICMS
aAdd(vLinha, aCmpAntSFT[15]) //20 vL_ICMS
aAdd(vLinha, 0) //21 VL_NT
aAdd(vLinha, "") //22 COD_INF
aAdd(vLinha, "") //23 COD_CTA
aAdd(vRet,vLinha)

EndIf

Return(vRet)