Durante la creazione di una nuova tabella esiste un modo rapido per inserire le colonne standard AD Client ID, AD Org ID, IsActive, Created, CreatedBy,
Updated, UpdatedBy ?
Ciao, Alan
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ti conviene prima creare la tabella nel DB con uno script sql come questo:
CREATE TABLE compiere.Prova
(
Prova_ID NUMBER (10) NOT NULL
, AD_Client_ID NUMBER (10) NOT NULL
, AD_Org_ID NUMBER (10) NOT NULL
, IsActive CHAR (1) DEFAULT 'Y' NOT NULL
CHECK (IsActive in ('Y','N'))
, Created DATE DEFAULT SYSDATE NOT NULL
, CreatedBy NUMBER (10) NOT NULL
, Updated DATE DEFAULT SYSDATE NOT NULL
, UpdatedBy NUMBER (10) NOT NULL
, Name NVARCHAR2(60) NOT NULL
, Description NVARCHAR2(255)
)
;
CREATE UNIQUE INDEX compiere.Prova ON compiere.Prova
(
Prova_ID
)
;
e solo dopo entrare come System, creare nella window tables&columns dell' Application Dictionary un nuovo record con il nome della tabella del db e far partire il processo "create columns from db". Spero di esserti stato utile.
Ciao a presto
Roberto
Roberto, grazie per il prezioso aiuto.
Perdonami ma ora ho un altro problema: durante la definizione del tab, nella nuova finestra, la tabella creata in precedenza non mi compare nella relativa lista a scorrimento.
Ciao, Alan
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Una volta creata la finestra, relativamente alla tabella in esempio, in fase di esecuzione, non mi consentito il salvataggio dei dati, con il seguente messaggio:
Le modifiche non possono essere salvate:
ORA-01733:
virtual column not allowed here-
Attendo qualche suggerimento.
Grazie, Ciao
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I motivi potrebbero essere molti:
1) Hai creato la classe di persistenza per la tabella? potrebbe dare problemi se cerchi di salvare dati in modalit client server.
2) Che tipo di dati hai assegnato alle colonne della tabella in tables and columns? ad esempio ti ricordo che i campi che finiscono con _ID finale hanno un data type 'tabledir'.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Facendo partire il metodo main della classe /dbport/org/compiere/util/GenerateModel.java. Come argomenti richiede il package di destinazione delle classi, solitamente 'org.compiere.model', ed il path dove vuoi salvare le classi create. GenerateModel fa un controllo preliminare nell 'application dictionary e se trova nuove tabelle crea in automatico le classi del PO. I metodi get e set delle classi create restituiscono e salvano i tipi di dato della tabella in funzione di come sono stati definiti in tables&columns; esempio se hai definito un campo Amount avrai nella classe un tipo di dato BigDecimal e cos via.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ho creato una tabella e la relativa la classe di persistenza, ed ora funziona.
L'unico problema che posso operare sulla tabella solo eseguendo Compiere da Eclipse: se faccio partire l'eseguibile che avevo gia installato (stessa versione), non posso modificare la tabella.
Come mai?
Ciao
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Durante la creazione di una nuova tabella esiste un modo rapido per inserire le colonne standard AD Client ID, AD Org ID, IsActive, Created, CreatedBy,
Updated, UpdatedBy ?
Ciao, Alan
Ti conviene prima creare la tabella nel DB con uno script sql come questo:
CREATE TABLE compiere.Prova
(
Prova_ID NUMBER (10) NOT NULL
, AD_Client_ID NUMBER (10) NOT NULL
, AD_Org_ID NUMBER (10) NOT NULL
, IsActive CHAR (1) DEFAULT 'Y' NOT NULL
CHECK (IsActive in ('Y','N'))
, Created DATE DEFAULT SYSDATE NOT NULL
, CreatedBy NUMBER (10) NOT NULL
, Updated DATE DEFAULT SYSDATE NOT NULL
, UpdatedBy NUMBER (10) NOT NULL
, Name NVARCHAR2(60) NOT NULL
, Description NVARCHAR2(255)
)
;
CREATE UNIQUE INDEX compiere.Prova ON compiere.Prova
(
Prova_ID
)
;
ALTER TABLE compiere.XX_Prova ADD CONSTRAINT XX_Prova_key PRIMARY KEY
(
Prova_ID
)
;
e solo dopo entrare come System, creare nella window tables&columns dell' Application Dictionary un nuovo record con il nome della tabella del db e far partire il processo "create columns from db". Spero di esserti stato utile.
Ciao a presto
Roberto
---------------------------------------
Roberto Onnis
Project ComplIT Administrator
Roberto, grazie per il prezioso aiuto.
Perdonami ma ora ho un altro problema: durante la definizione del tab, nella nuova finestra, la tabella creata in precedenza non mi compare nella relativa lista a scorrimento.
Ciao, Alan
Forse perch stai entrando come System in italiano, prova a far partire il processo Synchronize Terminology.
Hai ragione, attivando il processo di sincronizzazione funziona.
Ciao, Alan
Una volta creata la finestra, relativamente alla tabella in esempio, in fase di esecuzione, non mi consentito il salvataggio dei dati, con il seguente messaggio:
Le modifiche non possono essere salvate:
ORA-01733:
virtual column not allowed here-
Attendo qualche suggerimento.
Grazie, Ciao
I motivi potrebbero essere molti:
1) Hai creato la classe di persistenza per la tabella? potrebbe dare problemi se cerchi di salvare dati in modalit client server.
2) Che tipo di dati hai assegnato alle colonne della tabella in tables and columns? ad esempio ti ricordo che i campi che finiscono con _ID finale hanno un data type 'tabledir'.
Per quanto riguarda i campi _ID, sono OK.
Come creo la classe di persistenza per la tabella?
Facendo partire il metodo main della classe /dbport/org/compiere/util/GenerateModel.java. Come argomenti richiede il package di destinazione delle classi, solitamente 'org.compiere.model', ed il path dove vuoi salvare le classi create. GenerateModel fa un controllo preliminare nell 'application dictionary e se trova nuove tabelle crea in automatico le classi del PO. I metodi get e set delle classi create restituiscono e salvano i tipi di dato della tabella in funzione di come sono stati definiti in tables&columns; esempio se hai definito un campo Amount avrai nella classe un tipo di dato BigDecimal e cos via.
Se ti interessa sapere cosa c'e' da fare per aggiungere una tabella, window, menu... dai un'occhiata al codice di Compilo Tools.
Regards,
Mar
Compilo subAdministrator
compilo.sf.net
Ho creato una tabella e la relativa la classe di persistenza, ed ora funziona.
L'unico problema che posso operare sulla tabella solo eseguendo Compiere da Eclipse: se faccio partire l'eseguibile che avevo gia installato (stessa versione), non posso modificare la tabella.
Come mai?
Ciao
Perch i jar in deploy sul server sono compilati senza la tua classe PO che hai creato. Devi quindi ricompilare il codice sorgente di compiere.