Hilo iniciado por Javier Alemañ Arenas el 18 de septiembre de 2024
-
AutorEntradas
-
septiembre 18, 2024 a las 12:53 pm #18066
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?octubre 20, 2024 a las 10:28 am #18067Parece 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 enISEMPTY.Aquí tienes un enfoque alternativo que podrías probar:
- Asegúrate de que la colección
@.InvoiceLineServices.TaxLinerealmente tenga datos disponibles antes de aplicarISEMPTY. - 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
COUNTo mediante una condiciónEXISTS. 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
INsimplifica la búsqueda en la lista de códigos de impuestos yCOUNTpermite comprobar la existencia de los registros sin usarISEMPTY.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 >>
- Asegúrate de que la colección
-
AutorEntradas
- Debes estar registrado para responder a este debate.

