visual tutorial studio reports descargar crystal crystal-reports

crystal-reports - tutorial - crystal reports visual studio



Crystal Reports: error en la suma en el campo de fórmula (2)

Introducción: tengo un informe muy complejo. Para hacerlo un poco más fácil, construyo mi informe de esta manera: en VS.net, tengo una clase. En el informe hice un archivo "Definiciones de campo solamente" (ttx) que es exactamente igual que la clase. En el código subyacente configuré la clase como la fuente de datos del (sub) informe.

Problema: Una clase (y también el archivo ttx) tiene los siguientes campos: PriceTraditional, PriceCommercial. Y hay 2 formulaFields que son SumPriceTraditional, SumPriceCommercial.

Cuando la clase está vacía, el origen de datos también está vacío. Esto es cuando ocurre el error. Probablemente porque tomo una suma de un campo que es NULO.

Soluciones que probé (pero no funcionan):

  1. Traté de cambiar PriceTraditional con un formulaField (por ejemplo: PriceTraditionalDummy; con la fórmula: if isnull ({DamageForReport.PriceTraditional}) luego 0 else {DamageForReport.PriceTraditional} . Pero luego aparece un error: Aquí se requiere un número. causado por la parte más de la estructura.
  2. Intenté encender y apagar los valores predeterminados reemplazando (sin resultado)

Pregunta: Solo quiero tener un informe en el que pueda usar ese campo Sum-Formula sin inflar el informe si el campo utilizado en la suma está vacío.

¡Cualquier consejo sobre cómo resolver esto sería genial!

Saludos cordiales,

Wim


Algunas cosas que puede intentar son emitir el 0 como moneda usando CCur o convertir {DamageForReport.PriceTraditional} al número usando CDbl o ToNumber.

Parece que, por alguna razón, cree que el 0 en la primera parte y el {DamageForReport.PriceTraditional} en la segunda parte son de tipos diferentes, por lo que puede lanzar uno para que coincida con el otro.

No he probado ninguno de estos, pero puede ser tan simple como usar $ 0 o 0.0 en lugar de 0.

Solo lanzando algunas ideas. Espero eso ayude.