01. DATOS GENERALES
Producto | TOTVS Backoffice | ||||||
---|---|---|---|---|---|---|---|
Línea de producto: | Línea Protheus | ||||||
Segmento: | Servicios | ||||||
Módulo: | SIGAFAT - Facturación | ||||||
Función: |
| ||||||
Ticket: | 9091035 | ||||||
Requisito/Story/Issue (informe el requisito vinculado): | DMINA-9454 |
02. SITUACIÓN/REQUISITO
Se requiere que al realizar la transmisión electrónica de documentos de tipo Factura de Venta, Nota de Débito y Nota de Crédito se realice en automático el envío de archivos a varias cuentas de correo electrónico personalizadas del cliente utilizando las clases del servicio DFACTURA del proveedor tecnológico The Factory HKA.
03. SOLUCIÓN
La indicación al servicio web de TFHKA para realizar el envío de correo se puede hacer a a través del Punto de Entrada M486OWSCOL, para lo cual dentro de la clase Cliente se debe informar el elemento Indicar con valor "SI" e informar el elemento destinatario utilizando la clase Destinatario que permite especifica el medio y los datos de la entrega electrónica del documento.
NOTA: Se realiza ajuste a la rutina de impresión y envío de documentos electrónicos de Protheus (M486PDFCOL) para homologar la descarga del XML Attacheddocument, haciendo uso de la clase GenerarContenedor disponibilizada por The Factory HKA.
1. Crear y compilar el Punto de Entrada M486OWSCOL.
2. Si se considera necesario, desde el configurador de Protheus (SIGACFG | Base de Datos | Base de Datos | Diccionario de Datos), el usuario puede crear un campo personalizado en las tabla de clientes (SA1) o Complementos de Cliente (AI0) para funcionalidad de envío de los documentos electrónicos a varias cuentas correo electrónico (Actualmenten el cliente solo cuenta con el campo Email - A1_EMAIL para informar el correo electrónico del cliente pero con capacidad para un solo registro).
3. Registrar las cuentas de correo necesarias en el campo destinado para este propósito en la tabla de clientes (SIGAFAT | Actualizaciones | Archivos | Clientes).
4. Registrar una Factura de Venta (SIGAFAT | Actualizaciones | Facturación | Facturaciones) para el cliente para el que se configuró el correo electrónico.
1. Realizar la transmisión del documento electrónico desde el menú SIGAFAT | Actualizaciones | Facturación | Factura Electrónica.
2. Verifique que la transmisión se realice correctamente, y validar la recepción del documento a través del correo electrónico.
04. INFORMACIÓN ADICIONAL
Registro de cuentas de correo, en el cliente seleccionado, para envío de la factura electrónica:
Resultado de transmisión de factura de venta al servicio web de The Factory HKA:
Correo recibido en la cuenta 1:
Correo recibido en la cuenta 2:
Ejemplo del Punto de Entrada para el envío de correo a diferentes destinatarios:
#include "protheus.ch" User Function M486OWSCOL() Local cSerieDoc := PARAMIXB[1] //Serie Local cNumDoc := PARAMIXB[2] //Numero de Documento Local cCodCli := PARAMIXB[3] //Codigo de Cliente Local cCodLoj := PARAMIXB[4] //Codigo de la Tienda Local oXML := PARAMIXB[5] //Objeto del XML Local nOpc := PARAMIXB[6] //Nivel: 1-Encabezado, 2=detalle Local oWS := PARAMIXB[7] //Objeto de web services Local aEmail := {} Local oWSDest := Nil Local oWSCta := Nil Local nX := 0 If nOpc == 1 //Encabezado // Posicionar cliente SA1->(dbSetOrder(1)) If SA1->(msSeek(xFilial("SA1")+cCodCli+cCodLoj)) // Como ejemplo se usa el campo A1_PRF_OBS (Comentarios de perfil) If !Empty(SA1->A1_PRF_OBS) // Las cuentas de correo están separadas por coma aEmail := StrTokArr(SA1->A1_PRF_OBS, ",") // Indicar Sí notificar oWS:oWSCliente:cnotificar := "SI" // Crea objeto destinatario, el medio de entrega es 0=email oWSDest := Service_Destinatario():NEW() oWSDest:ccanalDeEntrega := "0" // Crea arreglo de las cuentas de correo oWSDest:oWSemail := Service_ArrayOfstring():NEW() For nX := 1 to Len(aEmail) aAdd(oWSDest:oWSEmail:cstring, aEmail[nX]) Next nX // Agrega destinatario al objeto principal aAdd(oWS:oWSCliente:oWSDestinatario:oWSDestinatario, oWSDest) EndIf EndIf EndIf Return Nil
La Factura Electrónica es enviada a las cuentas de correo especificadas siempre y cuando la transmisión haya sido exitosa y el elemento Indicar de la clase Cliente se haya informado como "SI" (Funcionalidad válida para versión 12.1.17 o superiores). Cualquier detalle relacionado con fallas en las clases de The Factory HKA, deberán ser tratados directamente con el proveedor. ¡IMPORTANTE!
05. ASUNTOS RELACIONADOS
Para más información sobre el proceso de Factura Electrónica, consulte el documento de referencia:
DT_Facturacion_Electronica_Validacion_Previa_COL