Skip to main content

Oggetto Business

Il Business Object è l'ingranaggio principale di Fluentis, esso assume un ruolo fondamentale perché qualsiasi documento esistente è associato a un business object di diverso tipo.
In questa form è possibile visualizzare o modificare, le caratteristiche e funzionalità relative, trovi elencate qui sotto tutte le possibili opzioni di personalizzazione.

Proprietà oggetto

In questa sezione è possibile cambiare le seguente opzioni legate alla tabella sql, il template e gli alias

Preview form

Nome Campo
Descrizione
CodiceNome identificativo dell'oggetto le iniziali FS indicano che l'oggetto è standard
Nome/DescrizioneNome e descrizione associati all'oggetto
TabellaTabella sql per la persistenza dei dati
Mapping Schema/Mapping Tabletipo schema utilizzato da sql e tabella associata
Gestione DocumentaleIndica se l'oggetto deve essere incluso nella gestione documentale
Object Templatepossibilità di una struttura generica predefinita
Alias Formula/Lungo Alias FormulaIndica un campo semplice quando l'oggetto è utilizzato come Object Widget, possibilità di estendere l'alias lungo quando la larghezza della colonna lo permette
Larghezza predefinita della colonnaSpecifica la larghezza da utilizzare di default con l'utilizzo di un Object Widget

Moduli di oggetti e spazi dei nomi

Sezione dedicata al namespace e modulo degli oggetti, indica dove gli oggetti vivono, solitamente utile ai programmatori; nel 99% dei casi il modulo corrisponde al namespace

Preview form

Nome Campo
Descrizione
Modulo Read OnlyModulo dell'oggetto ReadOnly
Read Only NamespaceNameSpace dell'oggetto ReadOnly
Read-Write ModuleModulo dell'oggetto ReadWrite
Read-Write NamespaceNameSpace dell'oggetto ReadWrite
Shared Interface ModuleModulo per immettere l'oggetto nell'interfaccia condivisa

Algoritmi

In questa sezione si possono definire degli algoritmi da eseguire dopo determinati eventi

Preview form

Nome Campo
Descrizione
Nuovo oggetto propostaIn fase di creazione
Dopo inserimentoDopo l'inserimento a DataBase
Dopo l'aggiornamentoDopo l'aggiornamento a DataBase
Dopo cancellazioneDopo l'eliminazione a DataBase

Proprietà avanzate

Titolo

Determina la composizione del titolo sull'header dell'objectform

Preview form

Nome Campo
Descrizione
ModelloBox di sola visualizzazione, contente il titolo standard utilizzato quando la custom pattern non è definita
Dipendenzebox di sola visualizazione, consente di vedere le proprietà caricate a standard
Custom PatternEspressione per valorizzare il titolo, è possibile utilizzare le proprietà semplici e voci del dizionario con l'utilizzo delle parentesi graffe
Custom DependenciesBox di sola visualizzazione per utilizzare Business Property non presenti nella Load Request, selezionabili nel riquadro di destra
caution

Questa opzione si applica per gli oggetti creati da questo momento in poi.

danger

Se si desidera applicare tutti i titoli ad ogni record presente in Fluentis, sostituire "YourBusinessObject" con il proprio business object, più record saranno presenti a database e più tempo impiegherà il pool a ricalcolarli

SQL - Ricalcolo titoli

Declare @ObjectNamespace nvarchar(400)
Declare @ObjectCode nvarchar(400)
Declare @ModuleCode nvarchar(400)
Declare @SchemaName nvarchar(400)
Declare @TableName nvarchar(400)
Declare @IdFieldName nvarchar(400)

declare curObjects cursor for
Select OBJBO_ReadWriteNamespace,
case
when OBJBO_Code like 'Arm%' then 'ArmW' + Substring(OBJBO_Code, 4, 999)
when OBJBO_Code like 'Crm%' then 'CrmW' + Substring(OBJBO_Code, 4, 999)
when OBJBO_Code like 'FS%' then 'FSW' + Substring(OBJBO_Code, 3, 999)
else OBJBO_Code
end,
OBJBM_Code, OBJBO_MappingSchemaName, OBJBO_MappingTableName, OBJPROIP_MappingFieldName
from Arm.OBJ_BusinessObjects
Join Arm.OBJ_BusinessModules on OBJBO_ReadWriteModule_OBJBM_Id = OBJBM_Id
Join Arm.OBJ_BusinessObjectProperties on OBJPROIP_BusinessObject_OBJBO_Id = OBJBO_Id And OBJPROIP_PropertyKind = 4
Where OBJBO_TitlePattern is not null
and OBJBO_Code = 'YourBusinessObject'
Order by 1,2

open curObjects
fetch next from curObjects into @ObjectNamespace, @ObjectCode, @ModuleCode, @SchemaName, @TableName, @IdFieldName
while @@FETCH_STATUS <> -1
begin
Declare @Query nvarchar(4000)
Select @Query = 'INSERT INTO [Arm].[OBJ_TriggerQueue]
([OBJTQ_Date], [OBJTQ_BusinessObjectType], [OBJTQ_BusinessObjectId], [OBJTQ_OperationType], [OBJTQ_TriggerImplementation], [OBJTQ_TriggerObjectDescriptor],[OBJTQ_Application], [OBJTQ_Error])
Select getdate(), ''' + @ObjectNamespace + '.' + @ObjectCode + ', ' + @ModuleCode + ''', ' + @IdFieldName + ', 80,
''Fluentis.Arm.Core.ReadWrite.Triggers.BusinessObjectTitle.BusinessObjectTitleTrigger, Fluentis.Arm.Core.ReadWrite'',
''<TriggerObjectDescriptor objectType="' + @ObjectNamespace + '.' + @ObjectCode + ', ' + @ModuleCode + '" objectId="'' + Convert(nvarchar(50), ' + @IdFieldName + ') + ''">
<PropertyDescriptors />
<ChangedPropertyDescriptors />
</TriggerObjectDescriptor>'', ''Fluentis2021'', null
from [' + @SchemaName + '].[' + @TableName + ']
Order by ' + @IdFieldName + ' desc'
--PRINT(@Query)
exec(@Query)
fetch next from curObjects into @ObjectNamespace, @ObjectCode, @ModuleCode, @SchemaName, @TableName, @IdFieldName
end
close curObjects
deallocate curObjects
GO

Tabs

le Business Property sono la costituzione del Business Object, descrive come esso è formato, è possibile aggiungerne di nuove a mano oppure utilizzando il pulsante "Confronto Database" per allinearle dalla tabella in sql.
La lista di proprietà dell'oggetto si trovano in una tabella Preview form

Nome Campo
Descrizione
CodiceCodice identificativo della proprietà.
Colonna della tabellaNome della colonna in Sql
Nome campo in tabellaNome della colonna in Sql
Tipo proprietàSpecifica il tipo di proprietà, semplice, riferimento, collezione, OneToOne, Funzione calcolata
Tipo (semplice)Specifica, qual'ora la proprietà sia semplice o una funzione il tipo
Tipo (oggetto)Specifica a quale tipo di oggetto si riferisce
NomeNome del campo in colonna da visualizzare su Fluentis
DescrizioneDescrizione del campo in colonna da visualizzare su Fluentis
Non NullableSpecifica se è nullable
OrdineOrdine interno per la visualizzazione

Proprietà selezionata

é possibile cambiare alcuni comportamenti della proprietà selezionata, le proprietà semplici possono avere qualche opzione leggermente differente Preview form

Nome Campo
Descrizione
Codice/Nome Campo in tabellariferimento al codice e il nome della colonna in Sql
Metodo PropostaMetodo algoritmo per proporre un valore non appena si crea l'oggetto
Metodo SetterMetodo algoritmo chiamato ogni volta che si conferma il valore immesso
WidgetOverride del widget da chiamare per questo Business Object
Valore predefinito/Alias Null ValueValore che assume il widget come predefinito e placeholder in caso di valore nullo
Messaggio di ConvalidaMessaggio di convalida in caso fosse obbligatoria
Larghezza predefinita della colonnaLarghezza predefinita della colonna in griglia
Modalita generazione codiceModalità di generazione della proprietà: normale, interfaccia, readonly-readwrite, interfaccia readonly-readwrite
Escludi dall'interfaccia condivisaIndica se escludere il campo quando utilizzata un'interfaccia