Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

Cross Segmentos - TOTVS BackOffice (Línea Protheus) - MI - Facturación (SIGAFAT) - Punto de entrada para atributos opcionales en factura electrónica M486OWSCOL

Duda
¿Cuál es el punto de entrada para agregar atributos opcionales en la factura electrónica?

Ambiente
Cross Segmentos - TOTVS BackOffice (Línea Protheus) - MI - Facturación (SIGAFAT) - A partir de la versión 12

Solución
Para poder enviar los atributos opcionales disponibles en las clases de los web services de The Factory HKA en los documentos facturas de venta, notas de débito o notas de crédito, existe el punto de entrada M486OWSCOL;
1. Verifique que cuenta con la rutina M486XFUNCO con una fecha igual o posterior al día 28/04/2020;
2. Compile el punto de entrada M486OWSCOL, el cual recibe los siguientes parámetros:

  • Serie del documento.
  • Folio del documento.
  • Código del Cliente.
  • Código de la Tienda.
  • Objeto del XML (Contiene la estructura estándar del XML generado Protheus).
  • Opción (Indica a qué nivel se agregarán los atributos opcionales: 1 = Nivel documento y 2 = Nivel ítem).
  • Objeto con atributos del web services de The Factory HKA (Solo atributos de la clase FacturaGeneral).

Ejemplo del Punto de Entrada

#include 'protheus.ch'
User Function M486OWSCOL()

    Local cSerieDoc := PARAMIXB[1] //Serie

    Local cNumDoc   := PARAMIXB[2] //Número de Documento

    Local cCodCli   := PARAMIXB[3] //Código de Cliente

    Local cCodLoj   := PARAMIXB[4] //Código de la Tienda

    Local oXML      := PARAMIXB[5] //Objeto del XML

    Local nOpc      := PARAMIXB[6] //1=Nivel documento 2=Nivel detalle

    Local oWS       := PARAMIXB[7] //Objeto de web services

    Local nItem     := Val(oXML:_CBC_ID:TEXT)

    Local cCodProd  := ""

    Local cSDITem   := ""

    Local cFilSD    := xFilial("SD2")

    If nOpc == 1 //Encabezado

        //F2_FILIAL+F2_DOC+F2_SERIE+F2_CLIENTE+F2_LOJA+F2_FORMUL+F2_TIPO (Índice 1)

        //Clase oWSCliente

        oWS:oWSCliente:cnombreComercial := "NOMBRE COMERCIAL PE"

         //Clase oWSterminosEntrega

        oWS:oWSterminosEntrega := Service_TerminosDeEntrega():New()

        oWS:oWSterminosEntrega:ccostoTransporte:= "18.00"

    ElseIf nOpc == 2 //Detalle del documento

        cCodProd := Padr(oXML:_FE_ITEM:_CAC_SELLERSITEMIDENTIFICATION:_CBC_ID:TEXT,TamSX3("D2_COD")[1],' ')

        cSDITem := Padl(oXML:_CBC_ID:TEXT,TamSX3("D2_ITEM")[1],'0')

         dbSelectArea("SD2")

        SD2->(dbSetOrder(3)) //D2_FILIAL + D2_DOC + D2_SERIE + D2_CLIENTE + D2_LOJA + D2_COD + D2_ITEM

        If SD2->(dbSeek( cFilSD + cNumDoc + cSerieDoc + cCodCli + cCodLoj + cCodProd + cSDITem))

            //Clase oWSextras (Factura_Detalle)

            oWS:oWSextras := Service_ArrayOfExtras():New()

            oWSExtDet := Service_Extras():NEW()

            oWSExtDet:ccontrolInterno1 := "NO. SERIE"

            oWSExtDet:cnombre := "1"

            oWSExtDet:cpdf := "1"

            oWSExtDet:cvalor := SD2->D2_NUMSERI

            oWSExtDet:cxml := "1"

            aAdd(oWS:oWSextras:oWSextras,oWSExtDet)

        EndIf

    EndIf

Return Nil

Nota: En el punto de entrada de ejemplo, se llenan atributos que son opcionales a nivel documento y nivel detalle; realizando la bifurcación mediante el parámetro Opción (PARAMIXB[6]).

IMPORTANTE:

  • Si no se encuentran activados los atributos de una clase, es necesario hacerlo de la siguiente manera Service_TerminosDeEntrega():New() haciendo uso del método New.
  • Se puede hacer uso de los nodos del XML estándar generado desde protheus, el cual es recibido en el parámetro Objeto del XML (PARAMIXB[5]).
  • Hacer uso de la variable cEspecie para definir regla de negocio por tipo de documento (NFNDC o NCC).
¿Fue útil este artículo?
Usuarios a los que les pareció útil: 0 de 0

0 Comentarios

Inicie sesión para dejar un comentario.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Rellene los campos siguientes para iniciar el chat:

Chat _