The CeFree
annotation is designed to handle custom processing and output for:
1️⃣ Reports of type GeneratorType.ReportCursor
(cursor-based reports).
2️⃣ Independent utility objects with a form-like UI that can be used for:
onResult: String
(Default: ""
)
fields: String
(Default: ""
)
ReportField
objects.withRowNumber: Boolean
(Default: false
)
alternatingRowColors: Boolean
(Default: false
)
CeFree
@ObjectGeneratorCE(type = GeneratorType.Free, label = "Payments Balance", generationLevel = GenerationLevel.UI)
@CeFree(fields = "fields", alternatingRowColors = true, withRowNumber = true)
data class FreeReportUtilityPaymentsEntityResult(
override var id: Long,
var period: Long,
var registratorID: Long,
var stringID: Long,
var registratorType: Int,
var transactionType: TransactionType,
var addressId: Long,
var zoneId: Long,
var amount: Double
) : BaseEntity {
@Composable
override fun StatusIcon() {
Icons.Default.Build
}
@Composable
override fun StatusVectosIcon(): IconVector {
return IconVector(imageVector = Icons.Default.Build, contentDescription = "Setting", tint = Color.Cyan)
}
}
// Function to define custom table fields
fun fields(): List<ReportField> {
return listOf(
ReportField(
name = "name",
headerTitle = LocalizationManager.getTranslation("name"),
headerTextColor = Color.DarkGray,
headerBackgroundColor = Color.Yellow,
type = FieldTypeHelper.TEXT
)
)
}