Árvore de páginas

Versões comparadas

Chave

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

...

Producto

Solucoes_espanhol
SolucaoTOTVS Backoffice

Línea de producto: 

Linhas_totvs_espanhol
LinhaLínea Protheus

Segmento:

Segmentos_totvs_espanhol
SegmentoBackoffice

Módulo:SIGAFAT - Facturación
Función:
Generación de Remitos0604
RutinaNombreFecha
MATA486Documentos Electrónicos.18/03/2022
LOCXNFNotas Fiscales.18/0301/04/2022MATA462AN
LOCXEQUFunciones Genéricas para documentos fiscales para Ecuador.18/03/2022
M486XFUNEQFunciones Genéricas de Facturación Electrónica de Ecuador.0618/0403/2022
LOCXFUNAFunciones generales de documentos fiscales.0118/0403/2022
MATV410ALOCXNF2Funciones Genéricas para Pedidos de VentaDocumentos fiscales.3018/03/2022
FATGRECU.INIScript de generación de los archivos XML para Guías de Remisión de Venta.30/03/2022
FATGDECU.INIScript de generación de los archivos XML para Guías de Remisión de Devolución.18/03/2022
País:Ecuador (Pacote ATUSX: 010341)
Ticket:12744531
Requisito/Story/Issue (informe el requisito vinculado):DMINA-14415

...

En la función principal (MATA486), se habilita para el país Ecuador el tipo de documento Guía de Remisiónlos tipos de documento Rem Norm y Tras(Remisión Normal y Transferencia) y Remisión Devol..

En la función encargada de Obtener información de los documentos de TSS (M486GETTSS), se habilita el tipo de documento Guía de Remisión al los tipos de documento Rem Norm y Tras(Remisión Normal y Transferencia) y Remisión Devol. al momento de consultar el estado de un documento mediante la opción "Monitor".

Se realizan ajustes en la función encargada de Obtener los documentos dentro del rango informado por el usuario(M486VLDDOC), para obtener correctamente los documentos de la especie Remisión(RFN) y Remisión de Transferencia(RTS) para el país Ecuador.

Funciones Genéricas de Funciones Genéricas de Facturación Electrónica de Ecuador (M486XFUNEQ):

En la función encargada de la Generación de nombre para archivo .XML a enviar a Stupendo (M486NOMARC), se agrega el documento Guía de Remisión agregan los documentos Remisión de Transferencia (especie "RTS") y Remisión de Devolución (especie "RFNRFD") para generar el nombre del archivo XML.

Se crea una nueva función que Recupera la Información del Documento Sustento para Guía de Remisión (fgetDocEqu), la cual es utilizada en el Script de generación de los archivos XML para Guías de Remisión de Venta (FATGRECU.INI)

Se agrega una nueva función que Valida los campos del pedido requeridos en la generación del XML para guías de remisión (fVldEqu).

Funciones generales de documentos fiscales (LOCXFUNA):

Funciones generales de documentos fiscales (LOCXFUNA):

En la función  que En la función  que Detona la generación del archivo XML para documento electrónicos (CFDGerXml), se habilita el uso del Script de generación de los archivos XML para Guías de Remisión de VentaDevolución(FATGRECUFATGDECU.INI) por medio del parámetro MV_CFDFTGR CFDFTGD para el país Ecuador. 

Se realiza el ajuste para habilitar el uso del Script de generación de los archivos XML para Guías de Remisión de Venta(FATGRECU.INI) para el documento Remisión de Transferencia (especie "RTS").

Notas Fiscales (LOCXNFGeneración de Remitos (MATA462AN):

En la función que detona la Generación de remito (A462ANGera), se hace ajuste para guardar los nuevos campos utilizados para la generación del XML de la Guía de Remisión de la tabla de Pedidos de Venta (SC5) a la tabla de Documentos de Salida (SF2) para el país Ecuador.

Se agrega una nueva función que Obtiene datos de tabla Control de Formularios (M462GETSFP), la cual es utilizada para guardar la información en los campos Punto Emisión (F2_PTOEMIS) y Establecimiento (F2_ESTABL).

Funciones Genéricas para Pedidos de Venta(MATV410A):

En la función que detona las Validaciones de los campos para el pedido de venta (A410TudOk), se agrega llamada a la nueva función fVldEqu() para el país Ecuador.

...

Monta el browse para los documentos fiscales(LocxDlgNF), se agrega el tipo de documento Remisión de Devolución(tipo documento 51) para agregar los nuevos campos(tabla Documentos de Entrada - SF1) utilizados en la trasmisión de guías de remisión.

Funciones Genéricas para notas fiscales (LOCXNF2):

En la función para obtener datos adicionales para documentos a partir de campos DOC y SERIE(LxExAdic), se realiza ajuste para agregar los tipos de documento Remisión de Transferencia (especie "RTS"), Remisión de Devolución (especie "RFD") y Remisión Normal (especie "RFN") para obtener el Punto de Emisión(FP_PTOEMIS) y el Establecimiento(FP_ESTABL) informados en la tabla Control de Formularios - SFP

Funciones Genéricas para notas fiscales para Ecuador (LOCXEQU):

En la función utilizada para agregar campos al encabezado de Notas Fiscales para el país Ecuador(LxCposEqu), se realiza ajuste para agregar los campos necesarios para la trasmisión electrónica de guías de remisión para los tipos de documento Remisión de Transferencia (especie "RTS"), Remisión de Devolución (especie "RFD") y Remisión Normal (especie "RFN").

FATGRECU.INI

A continuación se muestra el Script de generación de los archivos XML para Guías de Remisión de Venta (FATGRECU.INI):

Painel
titleBGColorlightblue
borderStyledashed
titleFATGRECU.INI

[XXX POSICIONAMENTOS]
(PRE) If(AllTrim(SF2->F2_ESPECIE)<>"NDI",SA1->(MSSeek(xFilial("SA1")+SF2->F2_CLIENTE+SF2->F2_LOJA)) , .T.)
(PRE) (AI0->(MSSeek(xFilial("AI0")+SF2->F2_CLIENTE+SF2->F2_LOJA)) , .T.)

[XXX INICIALIZACION]
(PRE) SD2->(DbSetOrder(1))
(PRE) SB1->(DbSetOrder(1))
(PRE) SYA->(DbSetOrder(1))
(PRE) SC6->(DbSetOrder(1))
(PRE) SE4->(DbSetOrder(1)) 
(PRE) CTO->(DbSetOrder(1)) 
(PRE) SAH->(DbSetOrder(1))
(PRE) SA1->(DbSetOrder(1))
(PRE) DA3->(DbSetOrder(1))
(PRE) SA4->(DbSetOrder(1))

(PRE) _aTotal[002] := chr(13) + chr(10)
(PRE) _aTotal[003] := "99999999999999.99"
(PRE) _aTotal[004] := {"SD2",""}
(PRE) _aTotal[006] := M486NOMARC(SF2->F2_FILIAL, SF2->F2_DOC, SF2->F2_SERIE, SF2->F2_CLIENTE, SF2->F2_LOJA)
(PRE) _aTotal[007] := SuperGetMV("MV_CFDIAMB",.F.,"1")
(PRE) _aTotal[009] := TamSX3("F2_DOC")[1]
(PRE) _aTotal[012] := Iif(!Empty(SF2->F2_DOCMAN) .Or. !Empty(SF2->F2_SERMAN),fgetDocEqu(SF2->F2_FILIAL, SF2->F2_DOCMAN, SF2->F2_SERMAN,"NF"),"")
(PRE) lDocSust     := !Empty(_aTotal[012])
(PREREG) FsQuery(_aTotal[004],1,"D2_DOC='" + SF2->F2_DOC + "' AND D2_SERIE='" + SF2->F2_SERIE + "' AND D2_CLIENTE='" + SF2->F2_CLIENTE + "' AND D2_LOJA='" + SF2->F2_LOJA + "'","SD2->D2_DOC=SF2->F2_DOC .AND. SD2->D2_SERIE=SF2->F2_SERIE .AND. SD2->D2_CLIENTE=SF2->F2_CLIENTE .AND. SD2->D2_LOJA=SF2->F2_LOJA","D2_ITEM") .And. .T.

[XXX EMISOR]
(PREREG) (_aTotal[001] := '<?xml version="1.0" encoding="UTF-8" ?>' + _aTotal[002],.T.) 
(PREREG) (_aTotal[001] += '<guiaRemision id="comprobante" version="1.0.0">' + _aTotal[002],.T.) 
(PREREG) (_aTotal[001] += '    <infoTributaria>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <ambiente>' + _aTotal[007] + '</ambiente>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <tipoEmision>' + "1" + '</tipoEmision>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <razonSocial>' + Alltrim(SM0->M0_NOMECOM) + '</razonSocial>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += IIF(_aTotal[018],'        <nombreComercial>' + Alltrim(SM0->M0_NOME) + '</nombreComercial>'+ _aTotal[002],"") ,.T.)
(PREREG) (_aTotal[001] += '        <ruc>' + Alltrim(SM0->M0_CGC) + '</ruc>' + _aTotal[002],.T.) 
(PREREG) (_aTotal[001] += '        <codDoc>06</codDoc>' + _aTotal[002],.T.) 
(PREREG) (_aTotal[001] += '        <estab>' + Alltrim(SF2->F2_ESTABL) + '</estab>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <ptoEmi>' + Alltrim(SF2->F2_PTOEMIS) + '</ptoEmi>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <secuencial>' + Alltrim(Substr(SF2->F2_DOC,(_aTotal[009]-8),9)) + '</secuencial>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <dirMatriz>' + Alltrim(SM0->M0_ENDENT) + " " + Alltrim(SM0->M0_COMPENT) + '</dirMatriz>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '    </infoTributaria>',.T.)
(PREREG) ENCODEUTF8(_aTotal[001])

[XXX RECEPTOR]
(PREREG) (SA4->(MSSeek(xFilial("SA4")+SF2->F2_TRANSP)) , .T.)
(PREREG) (DA3->(MSSeek(xFilial("DA3")+SF2->F2_VEICULO)) , .T.)
(PREREG) (_aTotal[001] := '    <infoGuiaRemision>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <dirEstablecimiento>' + Alltrim(SA1->A1_END) + '</dirEstablecimiento>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <dirPartida>' + Alltrim(SA1->A1_END) + '</dirPartida>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <razonSocialTransportista>' + Alltrim(SA4->A4_NOME) + '</razonSocialTransportista>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <tipoIdentificacionTransportista>' + Alltrim(SA4->A4_TIPOTRA) + '</tipoIdentificacionTransportista>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <rucTransportista>' + Alltrim(SA4->A4_CGC) + '</rucTransportista>' + _aTotal[002],.T.)
(PREREG) (IIf(!Empty(_aTotal[008]), _aTotal[001] += '        <contribuyenteEspecial>' + Alltrim(_aTotal[008]) + '</contribuyenteEspecial>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[001] += '        <obligadoContabilidad>SI</obligadoContabilidad >' + _aTotal[002],.T.) 
(PREREG) (_aTotal[001] += '        <fechaIniTransporte>' + cValtoChar(SF2->F2_FECDSE) + '</fechaIniTransporte >' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <fechaFinTransporte>' + cValtoChar(SF2->F2_FECANTF) + '</fechaFinTransporte>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <placa>' + Alltrim(DA3->DA3_PLACA) + '</placa>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '    </infoGuiaRemision>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '    <destinatarios>',.T.)
(PREREG) ENCODEUTF8(_aTotal[001])

[XXX DESTINATARIO]
(PRE) lDocSust         := !Empty(_aTotal[012])
(PREREG) (_aTotal[001] := '         <destinatario>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '                <identificacionDestinatario>' + Alltrim(SA1->A1_CGC) + '</identificacionDestinatario>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '                <razonSocialDestinatario>' + Alltrim(SA1->A1_NOME) + '</razonSocialDestinatario>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '                <dirDestinatario>' + Alltrim(SA1->A1_ENDENT) + '</dirDestinatario>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '                <motivoTraslado>' + Alltrim(SF2->F2_OBS) + '</motivoTraslado>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += Iif(!Empty(SA1->A1_CODLOC),'                <codEstabDestino>'+SA1->A1_CODLOC + '</codEstabDestino>' + _aTotal[002],""),.T.)
(PREREG) (_aTotal[001] += Iif(!Empty(Alltrim(SF2->F2_RUTDOC)),'                <ruta>' + Alltrim(SF2->F2_RUTDOC) + '</ruta>' + _aTotal[002],""),.T.)
(PREREG) (_aTotal[001] += Iif(lDocSust,'                <codDocSustento>01</codDocSustento>' + _aTotal[002],""),.T.)
(PREREG) (_aTotal[001] += Iif(lDocSust,'                <numDocSustento>' + Alltrim(_aTotal[012][3])+"-"+ Alltrim(_aTotal[012][2])+"-" + IIf(Len(Alltrim(_aTotal[012][1])) > 9, Alltrim(Substr(_aTotal[012][1],(_aTotal[009]-8),9)), Alltrim(_aTotal[012][1])) + '</numDocSustento>' + _aTotal[002],""),.T.)
(PREREG) (_aTotal[001] += Iif(lDocSust .And. !Empty(_aTotal[012][4]) ,'                <numAutDocSustento>' + _aTotal[012][4] + '</numAutDocSustento>' + _aTotal[002],""),.T.)
(PREREG) (_aTotal[001] += Iif(lDocSust,'                <fechaEmisionDocSustento>' + _aTotal[012][5] + '</fechaEmisionDocSustento>' + _aTotal[002],""),.T.)
(PREREG) (_aTotal[001] += '               <detalles>'+ _aTotal[002],.T.)
(PREREG) ENCODEUTF8(_aTotal[001])

[SD2 DETALLE]
(PREREG) (SB1->(MSSeek(xFilial("SB1") + SD2->D2_COD)),.T.)
(PREREG) (_aTotal[001] := '                   <detalle>'+ _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '                        <codigoInterno>' + Alltrim(SD2->D2_COD) + '</codigoInterno>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '                        <codigoAdicional>' + Alltrim(SD2->D2_COD) + '</codigoAdicional>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '                        <descripcion>' + Alltrim(SB1->B1_DESC) + '</descripcion>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '                        <cantidad>' + Alltrim(TRANSFORM(SD2->D2_QUANT,_aTotal[003])) + '</cantidad>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '                </detalle>'+ _aTotal[002],.T.)
(PREREG) ENCODEUTF8(_aTotal[001])

[XXX INFOADICIONAL]
(PREREG) (_aTotal[001] := '            </detalles>'+ _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '         </destinatario>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '    </destinatarios>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '    <infoAdicional>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <campoAdicional nombre="Email">' + Alltrim(SA1->A1_EMAIL) + '</campoAdicional>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <campoAdicional nombre="TELEFONO">' + Alltrim(SA1->A1_TEL) + '</campoAdicional>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '    </infoAdicional>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += ' </guiaRemision>' + _aTotal[002],.T.)
(PREREG) ENCODEUTF8(_aTotal[001])
(POS) FsQuery(_aTotal[004],2)

[XXX FACTURA]
(PRE) _aTotal[094] := _aTotal[006] + ".XML"

(ARQ) _aTotal[094]


FATGDECU.INI

A continuación se muestra el Script de generación de los archivos XML para Guías de Remisión de Venta Devolución(FATGRECUFATGDECU.INI):

Painel
titleBGColorlightblue
borderStyledashed
titleFATGRECUFATGDECU.INI

[XXX POSICIONAMENTOS]
(PRE) If(AllTrim(SF2SF1->F2>F1_ESPECIE) <> "NDI", SA1->(MSSeek(xFilial("SA1") + SF2SF1->F2>F1_CLIENTEFORNECE + SF2SF1->F2>F1_LOJA)) , .T.)
(PRE) (AI0->(MSSeek(xFilial("AI0") + SF2SF1->F2>F1_CLIENTEFORNECE + SF2SF1->F2>F1_LOJA)) , .T.)

[XXX INICIALIZACION]
(PRE) SD2SD1->(DbSetOrder(1))
(PRE) SB1->(DbSetOrder(1))
(PRE) SYA->(DbSetOrder(1))
(PRE) SC6->(DbSetOrder(1))
(PRE) SE4->(DbSetOrder(1)) 
(PRE) CTO->(DbSetOrder(1)) 
(PRE) SAH->(DbSetOrder(1))
(PRE) SA1->(DbSetOrder(1))
(PRE) DA3->(DbSetOrder(1))
(PRE) SA4->(DbSetOrder(1))

(PRE) _aTotal[002] := chr(13) + chr(10)
(PRE) _aTotal[003] := "99999999999999.99"
(PRE) _aTotal[004] := {"SD2SD1",""}
(PRE) _aTotal[006] := M486NOMARC(SF2SF1->F2>F1_FILIAL, SF2SF1->F2>F1_DOC, SF2SF1->F2>F1_SERIE, SF2SF1->F2>F1_CLIENTEFORNECE, SF2SF1->F2>F1_LOJA)
(PRE) _aTotal[007] := SuperGetMV("MV_CFDIAMB",.F.,"1")
(PRE) _aTotal[009] := TamSX3("F2F1_DOC")[1]
(PRE) _aTotal[012] := Iif(!Empty(SF2SF1->F2>F1_DOCMAN) .Or. !Empty(SF2SF1->F2>F1_SERMAN),fgetDocEqu(SF2SF1->F2>F1_FILIAL, SF2SF1->F2>F1_DOCMAN, SF2SF1->F2>F1_SERMAN,"NF"),"")
(PRE) lDocSust     := !Empty(_aTotal[012])
(PREREG) FsQuery(_aTotal[004],1,"D2D1_DOC='" + SF2SF1->F2>F1_DOC + "' AND D2D1_SERIE='" + SF2SF1->F2>F1_SERIE + "' AND D2D1_CLIENTEFORNECE='" + SF2SF1->F2>F1_CLIENTE FORNECE + "' AND D2D1_LOJA='" + SF2SF1->F2>F1_LOJA + "'","SD2SD1->D2>D1_DOC=SF2SF1->F2>F1_DOC .AND. SD2SD1->D2>D1_SERIE=SF2SF1->F2>F1_SERIE .AND. SD2SD1->D2>D1_CLIENTEFORNECE=SF2SF1->F2>F1_CLIENTE FORNECE .AND. SD2SD1->D2>D1_LOJA=SF2SF1->F2>F1_LOJA","D2D1_ITEM") .And. .T.

[XXX EMISOR]
(PREREG) (_aTotal[001] := '<?xml version="1.0" encoding="UTF-8" ?>' + _aTotal[002],.T.) 
(PREREG) (_aTotal[001] += '<guiaRemision id="comprobante" version="1.0.0">' + _aTotal[002],.T.) 
(PREREG) (_aTotal[001] += '    <infoTributaria>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <ambiente>' + _aTotal[007] + '</ambiente>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <tipoEmision>' + "1" + '</tipoEmision>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <razonSocial>' + Alltrim(SM0->M0_NOMECOM) + '</razonSocial>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += IIF(_aTotal[018],'        <nombreComercial>' + Alltrim(SM0->M0_NOME) + '</nombreComercial>'+ _aTotal[002],"") ,.T.)
(PREREG) (_aTotal[001] += '        <ruc>' + Alltrim(SM0->M0_CGC) + '</ruc>' + _aTotal[002],.T.) 
(PREREG) (_aTotal[001] += '        <codDoc>06</codDoc>' + _aTotal[002],.T.) 
(PREREG) (_aTotal[001] += '        <estab>' + Alltrim(SF2SF1->F2>F1_ESTABL) + '</estab>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <ptoEmi>' + Alltrim(SF2SF1->F2>F1_PTOEMIS) + '</ptoEmi>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <secuencial>' + Alltrim(Substr(SF2SF1->F2>F1_DOC,(_aTotal[009]-8),9)) + '</secuencial>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <dirMatriz>' + Alltrim(SM0->M0_ENDENT) + " " + Alltrim(SM0->M0_COMPENT) + '</dirMatriz>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '    </infoTributaria>',.T.)
(PREREG) ENCODEUTF8(_aTotal[001])

[XXX RECEPTOR]
(PREREG) (SA4->(MSSeek(xFilial("SA4")+SF2SF1->F2>F1_TRANSP)) , .T.)
(PREREG) (DA3->(MSSeek(xFilial("DA3")+SF2SF1->F2>F1_VEICULOVEICUL1)) , .T.)
(PREREG) (_aTotal[001] := '    <infoGuiaRemision>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <dirEstablecimiento>' + Alltrim(SA1->A1_END) + '</dirEstablecimiento>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <dirPartida>' + Alltrim(SA1->A1_END) + '</dirPartida>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <razonSocialTransportista>' + Alltrim(SA4->A4_NOME) + '</razonSocialTransportista>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <tipoIdentificacionTransportista>' + Alltrim(SA4->A4_TIPOTRA) + '</tipoIdentificacionTransportista>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <rucTransportista>' + Alltrim(SA4->A4_CGC) + '</rucTransportista>' + _aTotal[002],.T.)
(PREREG) (IIf(!Empty(_aTotal[008]), _aTotal[001] += '        <contribuyenteEspecial>' + Alltrim(_aTotal[008]) + '</contribuyenteEspecial>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[001] += '        <obligadoContabilidad>SI</obligadoContabilidad >' + _aTotal[002],.T.) 
(PREREG) (_aTotal[001] += '        <fechaIniTransporte>' + cValtoChar(SF2SF1->F2>F1_FECDSE) + '</fechaIniTransporte >' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <fechaFinTransporte>' + cValtoChar(SF2SF1->F2>F1_FECANTF) + '</fechaFinTransporte>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <placa>' + Alltrim(DA3->DA3_PLACA) + '</placa>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '    </infoGuiaRemision>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '    <destinatarios>',.T.)
(PREREG) ENCODEUTF8(_aTotal[001])

[XXX DESTINATARIO]
(PRE) lDocSust         := !Empty(_aTotal[012])
(PREREG) (_aTotal[001] := '         <destinatario>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '                <identificacionDestinatario>' + Alltrim(SA1->A1_CGC) + '</identificacionDestinatario>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '                <razonSocialDestinatario>' + Alltrim(SA1->A1_NOME) + '</razonSocialDestinatario>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '                <dirDestinatario>' + Alltrim(SA1->A1_ENDENT) + '</dirDestinatario>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '                <motivoTraslado>' + Alltrim(SF2SF1->F2>F1_OBS) + '</motivoTraslado>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += Iif(!Empty(SA1->A1_CODLOC),'                <codEstabDestino>'+SA1->A1_CODLOC + '</codEstabDestino>' + _aTotal[002],""),.T.)
(PREREG) (_aTotal[001] += Iif(!Empty(Alltrim(SF2SF1->F2>F1_RUTDOC)),'                <ruta>' + Alltrim(SF2SF1->F2>F1_RUTDOC) + '</ruta>' + _aTotal[002],""),.T.)
(PREREG) (_aTotal[001] += Iif(lDocSust,'                <codDocSustento>01</codDocSustento>' + _aTotal[002],""),.T.)
(PREREG) (_aTotal[001] += Iif(lDocSust,'                <numDocSustento>' + Alltrim(_aTotal[012][3])+"-"+ Alltrim(_aTotal[012][2])+"-" + IIf(Len(Alltrim(_aTotal[012][1])) > 9, Alltrim(Substr(_aTotal[012][1],(_aTotal[009]-8),9)), Alltrim(_aTotal[012][1])) + '</numDocSustento>' + _aTotal[002],""),.T.)
(PREREG) (_aTotal[001] += Iif(lDocSust .And. !Empty(_aTotal[012][4]) ,'                <numAutDocSustento>' + _aTotal[012][4] + '</numAutDocSustento>' + _aTotal[002],""),.T.)
(PREREG) (_aTotal[001] += Iif(lDocSust,'                <fechaEmisionDocSustento>' + _aTotal[012][5] + '</fechaEmisionDocSustento>' + _aTotal[002],""),.T.)
(PREREG) (_aTotal[001] += '               <detalles>'+ _aTotal[002],.T.)
(PREREG) ENCODEUTF8(_aTotal[001])

[SD2 SD1 DETALLE]
(PREREG) (SB1->(MSSeek(xFilial("SB1") + SD2SD1->D2>D1_COD)),.T.)
(PREREG) (_aTotal[001] := '                   <detalle>'+ _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '                        <codigoInterno>' + Alltrim(SD2SD1->D2>D1_COD) + '</codigoInterno>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '                        <codigoAdicional>' + Alltrim(SD2SD1->D2>D1_COD) + '</codigoAdicional>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '                        <descripcion>' + Alltrim(SB1->B1_DESC) + '</descripcion>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '                        <cantidad>' + Alltrim(TRANSFORM(SD2SD1->D2>D1_QUANT,_aTotal[003])) + '</cantidad>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '                </detalle>'+ _aTotal[002],.T.)
(PREREG) ENCODEUTF8(_aTotal[001])

[XXX INFOADICIONAL]
(PREREG) (_aTotal[001] := '            </detalles>'+ _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '         </destinatario>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '    </destinatarios>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '    <infoAdicional>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <campoAdicional nombre="Email">' + Alltrim(SA1->A1_EMAIL) + '</campoAdicional>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <campoAdicional nombre="TELEFONO">' + Alltrim(SA1->A1_TEL) + '</campoAdicional>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '    </infoAdicional>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += ' </guiaRemision>' + _aTotal[002],.T.)
(PREREG) ENCODEUTF8(_aTotal[001])
(POS) FsQuery(_aTotal[004],2)

[XXX FACTURA]
(PRE) _aTotal[094] := _aTotal[006] + ".XML"

(ARQ) _aTotal[094]


Totvs custom tabs box
tabsPre-condiciones,Procedimiento
idsPre-condiciones,Pasos
Totvs custom tabs box items
defaultyes
referenciaPre-condiciones
  1. Realizar un respaldo del repositorio del ambiente (archivo .rpo).
  2. Aplicar el parche que fue generado para la issue DMINA-1473015486.
  3. Desde el módulo Configurador (SIGACFG) realizar las configuraciones al Diccionario de Datos de acuerdo a lo definido en la sección 04. INFORMACIÓN ADICIONAL.
Totvs custom tabs box items
defaultno
referenciaPasos
  1. En el módulo Facturación (SIGAFAT) desde Actualizaciones Archivos Transportadoras, configurar Transportadora con el campo Tp.Iden.Tran (A4_TIPOTRA) con su valor correspondiente.
  2. En el módulo Facturación (SIGAFAT) desde Actualizaciones Archivos Clientes, configurar Cliente con los campos Direcc. Entre (A1_ENDENT), RUC (A1_CGC) y Establ. Dest (A1_CODLOC) con sus valores correspondientes.
  3. En la rutina de Vehículos (OMSA060), contar con un Vehículo configurado con el campo Matrícula (DA3_PLACA) con su valor correspondiente.
  4. En el módulo Libros Fiscales (SIGAFIS) desde Actualizaciones Archivos | Contr. Formularios, configurar la serie correspondiente a la Guía de Remisión e informar los campos Cód. Pto Emi (FP_PTOEMIS) y Cod. Estable (FP_ESTABL).
  5. En el módulo Facturación (SIGAFAT) desde Actualizaciones | Pedidos | Pedidos de Venta (MATA410):
    • Incluir un nuevo Pedido con Documento a Generar 2 - Remisión, donde se deben informar los siguientes datos: Cliente de entrega (C5_CLIENT y C5_LOJAENT), Transportadora (C5_TRANSP), Vehíc. Trans (C5_VEICULO), Motivo Tras (C5_MODTRAS), Fec.Ini.Tras (C5_FECDSE), Fch. Entrega(C5_FECENT), Ruta (C5_RUTA), Serie Sust. (C5_SERSUBS) y No. Doc Sust (C5_NFSUBST). 
      • Nota: Los campos Ruta (C5_RUTA), Serie Sust. (C5_SERSUBS) y No. Doc Sust (C5_NFSUBST), no son obligatorios para la generación de la Guía de Remisión, por lo que pueden quedar vacíos.
      • Para evitar errores al capturar el pedido de venta, se recomienda activar el parámetro MV_VALGREQ igual a .T..
  6. En el módulo Facturación (SIGAFAT) desde Actualizaciones | Form. de Remisión| Generac. de Remitos (MATA462AN).
    • Seleccionar el Pedido y ejecutar la acción +Gen Remisión.
    • Verificar el folio de remisión generada.
  7. Acceder a la rutina Documentos Electrónicos (MATA486), ubicada en la ruta: Actualizaciones | Facturación | Documentos Electrónicos.
    • Especificar en los parámetros la Serie y el Tipo de Documento: Guía Remisión
    • Indique los parámetros para el filtrado de los documentos a transmitir.
      1. Serie: Serie de las guías de remisión a transmitir.
      2. Guía de remisión inicial: Número de documento inicial a transmitir.
      3. Guía de remisión final: Número de documento inicial a transmitir.
    • Una vez finalizado el proceso de transmisión se visualiza una ventana con el log del proceso, presionar  para verificar el resultado de la transmisión.
    • Una vez enviado el documento, se procede a consultar la respuesta por parte del SRI mediante el proveedor tecnológico Stupendo desde la opción Monitor. (tiempo aproximado entre envío y consulta del estatus del documento 1 minuto).
    • Indique los parámetros para el filtrado de los documentos que serán visualizados en el monitor.
      1. Serie: Serie de las guías de remisión a consultar.
      2. Guía de remisión inicial: Número de documento inicial.
      3. Guía de remisión final: Número de documento inicial.
    • Se valida que el documento sea muestre como Autorizado:

 


...

Nombre de la Variable

MV_CFDFTGR

Tipo

Caracter

Descripción

Indica el directorio donde se localiza el script que genera las guías de remisión normal y de transferencia. (FATGRECU.INI)

Valor EstándarGetSrvProfString('startpath','')+'\cfd\inicfd\fatgrecu.ini'                

...