Árvore de páginas

Versões comparadas

Chave

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

...

En la rutina Funciones genéricas de FE de país Perú (M486XFUN) se activa el Punto de Entrada M486DIRREC para permitir que el usuario realice la inclusión del nodo <cac:RegistrationAddress> con los nodos con la información correspondiente a la dirección del adquiriente dentro del nodo cac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity.


Aviso
titleImportante

Para el uso del Punto de Entrada se tiene disponibilidad a los datos de la Tabla de Clientes (SA1).

Totvs custom tabs box
tabsPre-condiciones,Pasos
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 generado para la issue DMINA-13977.
  3. En el módulo Facturación (SIGAFAT), ir al menú Actualizaciones | Facturación | Facturaciones (MATA467N).
    • Contar con una Factura de Venta (NF) registrada.
Totvs custom tabs box items
defaultno
referenciaPasos
  1. En el módulo Facturación (SIGAFAT), ir al menú Actualizaciones | Facturación | Documentos Electrónicos (MATA486).
  2. Informar los parámetros:
    • ¿Tipo de Documento? = Factura 
    • ¿Serie? = <Serie de la Factura de Venta>
  3. Ejecutar la acción Transmitir.
  4. Informar los parámetros:
    • ¿Serie de Factura? = <Serie de la Factura>
    • ¿Factura Inicial? = <Folio de la Factura creada previamente>
    • ¿Factura Final? = <Folio de la Factura creada previamente>
  5. Validar que el proceso de transmisión electrónica haya sido exitoso.
  6. Validar que el nodo cac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity contenga los nodos configurados en el Punto de Entrada M486DIRREC.

...

Bloco de código
titleEjemplo de Punto de Entrada M486DIRREC
User Function M486DIRREC()
    Local aArea     := GetArea()         // Se reserva el área de trabajo 
    Local cXML      := ""                // Cadena de retorno
    Local cCRLF     := (chr(13)+chr(10)) // Salto de línea
    Local cCliente  := PARAMIXB[1]       // Código del cliente
    Local cLoja     := PARAMIXB[2]       // Código del la tienda.
    Local cFilSA1   := xFilial("SA1")
    
    DbSelectArea("SA1")
    SA1->(dbSetOrder(1)) // A1_FILIAL+A1_COD+A1_LOJA
    If ( SA1->(DbSeek(cFilSA1 + cCliente + cLoja )))
        cXML += '               				<cac:RegistrationAddress>'+ cCRLF
        cXML += '                   					<cbc:ID schemeName="Ubigeos">' + RTRIM(SA1->A1_CEP) + '</cbc:ID>' + cCRLF
        cXML += '                   					<cbc:AddressTypeCode listName="Establecimientos anexos">0000</cbc:AddressTypeCode>'+ cCRLF
        cXML += '				                    	<cbc:CitySubdivisionName>-</cbc:CitySubdivisionName>'+ cCRLF
        cXML += '                     		<cbc:CityName><![CDATA[' + RTRIM(SA1->A1_MUN) + ']]></cbc:CityName>'+ cCRLF
        cXML += '                       		<cbc:CountrySubentity><![CDATA[' + RTRIM(M486VALSX5("12",SA1->A1_EST)) + ']]></cbc:CountrySubentity>'+ cCRLF
        cXML += '                          		<cbc:District><![CDATA[' + RTRIM(SA1->A1_BAIRRO) + ']]></cbc:District>'+ cCRLF
        cXML += '                     		<cac:AddressLine>'+ cCRLF
        cXML += '                           		<cbc:Line><![CDATA[' + RTRIM(SA1->A1_END) + ']]></cbc:Line>'+ cCRLF
        cXML += '                       		</cac:AddressLine>'+ cCRLF
        cXML += '                          		<cac:Country>'+ cCRLF
        cXML += '                           		<cbc:IdentificationCode listName="Country">PE</cbc:IdentificationCode>'+ cCRLF
        cXML += '                   					</cac:Country>'+ cCRLF
        cXML += '                 		</cac:RegistrationAddress>' + cCRLF
    EndIf

    RestArea(aArea)
Return cXML

...