Filtrar registros en Electronic Reporting

Hilo iniciado por Javier Alemañ Arenas el 18 de septiembre de 2024

Viendo 2 entradas - de la 1 a la 2 (de un total de 2)
  • Autor
    Entradas
  • #18066
    RangoJavier Alemañ ArenasJavier Alemañ Arenas
    Participante
    APRENDIZ
    201 Rincoins

    Cuando intento filtrar un modelo de datos para saber el número de registros que tenemos de un determinado tipo.

     

    IF( ISEMPTY(@.InvoiceLineServices.TaxLine),
        False,
        IF( COUNT(  WHERE( @.InvoiceLineServices.TaxLine,
                            AND(
                            OR(     @.InvoiceLineServices.TaxLine.TaxCode = “0RC”,
                                    @.InvoiceLineServices.TaxLine.TaxCode = “0RE”,
                                    @.InvoiceLineServices.TaxLine.TaxCode = “0REX”,
                                    @.InvoiceLineServices.TaxLine.TaxCode = “0REXCAN”,
                                    @.InvoiceLineServices.TaxLine.TaxCode = “ORC”,
                                    @.InvoiceLineServices.TaxLine.TaxCode = “ORE”,
                                    @.InvoiceLineServices.TaxLine.TaxCode = “OREX”,
                                    @.InvoiceLineServices.TaxLine.TaxCode = “OREXCAN”,
                                    @.InvoiceLineServices.TaxLine.TaxCode = “REDRN”,
                                    @.InvoiceLineServices.TaxLine.TaxCode = “GENAZUC”,
                                    @.InvoiceLineServices.TaxLine.TaxCode = “GENRN”
                            ),@.InvoiceLineServices.TaxLine.ExemptTax = True
                            )
                    )
            ) > 0,
            True,
            False
        )
    )
    Parece como si la función ISEMPTY no funcionase ya que siempre me dice que esta vacia.
     
    ¿Como podría saber si existen impuestos de un determinado tipo?
    ¿La función ISEMPTY tiene alguna caracterisitica de uso especial?
    #18067
    RangoAntonio GilabertAntonio Gilabert
    Participante
    MASTER
    138.029 Rincoins

    Parece que el problema puede estar en cómo se está utilizando la función ISEMPTY. Esta función puede no comportarse como esperas dependiendo del contexto o del origen de los datos. Para determinar si existen impuestos de un tipo específico, podrías intentar reestructurar el condicional de una manera más clara o utilizando una función que retorne un valor específico en lugar de confiar en ISEMPTY.

    Aquí tienes un enfoque alternativo que podrías probar:

    1. Asegúrate de que la colección @.InvoiceLineServices.TaxLine realmente tenga datos disponibles antes de aplicar ISEMPTY.
    2. En lugar de ISEMPTY, intenta recorrer o contar los elementos directamente para comprobar si hay coincidencias.

    Podrías reescribir la lógica condicional para verificar la existencia de un impuesto específico con una función COUNT o mediante una condición EXISTS. Un ejemplo más claro y limpio podría ser algo como esto:

    IF(
    COUNT(WHERE(
    @.InvoiceLineServices.TaxLine,
    AND(
    IN(@.InvoiceLineServices.TaxLine.TaxCode, [“0RC”, “0RE”, “0REX”, “0REXCAN”, “ORC”, “ORE”, “OREX”, “OREXCAN”, “REDRN”, “GENAZUC”, “GENRN”]),
    @.InvoiceLineServices.TaxLine.ExemptTax = True
    )
    )) > 0,
    True,
    False
    )

    En este ejemplo, el uso de IN simplifica la búsqueda en la lista de códigos de impuestos y COUNT permite comprobar la existencia de los registros sin usar ISEMPTY.

    Espero que esta sugerencia te sea útil. Si sigues teniendo problemas, verifica si la colección está cargada correctamente o si hay alguna condición previa que impida el correcto funcionamiento de ISEMPTY.

    << Respuesta generada por ChatGPT 4.o, por favor confirme si es válida >>

Viendo 2 entradas - de la 1 a la 2 (de un total de 2)
  • Debes estar registrado para responder a este debate.
Carrito de compra