It is currently 8 June 2025, 14:44 Advanced search

salvare i documenti creati con copyFrom

Questo forum è nato con lo scopo di raccogliere le proposte di modifica di Instant Developer e discuterne insieme.

salvare i documenti creati con copyFrom

Postby theguru » 8 December 2015, 21:25

Vorrei poter avere la possibilità di salvare i documenti creati tramite la procedure copyfrom(doc_originale), i quali ovviamente dovrebbero sostituire (non alterando la PK e il flag insert) proprio il doc_originale.
Attualmente chiamando un save_to_db per tale documento, ottengo un eccezione:

Schermata 2015-12-08 alle 22.00.17.png
Schermata 2015-12-08 alle 22.00.17.png (30.5 KiB) Viewed 2856 times
User avatar
theguru
 
Posts: 972
Joined: 29 January 2014, 13:01

Re: salvare i documenti creati con copyFrom

Postby lucabaldini » 14 December 2015, 16:21

Puoi postare uno screenshot del codice che utilizzi per creare e salvare il tuo documento?

La PK di che tipo è? Carattere? Contatore?

Se usi la copyFrom dovrebbero essere copiate tutte le proprietà comprese le PK se presenti nel documento originale.
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 4990
Joined: 1 October 2010, 17:03
Location: Bologna

Re: salvare i documenti creati con copyFrom

Postby theguru » 14 December 2015, 17:04

Nota: questo problema/caratteristica mi interessa molto meno rispetto al topic della eliminazione da collection, di cui abbiamo appena parlato.

Comunque, la PK (e tutte le FK della applicazione) sono char fisse a 20, ed uso la DOC_ID per gestirle (anche se ho provato a disattivarla come test, ma il problema rimane)
Codice:
ho la necessità di editare un record, quindi opero in questo modo:
Nota: IIFattura è la PK

Code: Select all
if (not(isNull(FattureCliente.IIFattura)))
{
  CCFatture ccf = new()
  ccf.IIFattura = FattureCliente.IIFattura
  ccf.loadFromDB(1)
  Fattura.FatturaMain.setDocument(ccf, false)
}


nel momento in cui (dal form Fattura) cerco di salvare il documento ccf (ccf.save_to_db), tutto funziona.

Se invece di ricaricare il record dal db, lo prelevo direttamente dal pannello che lo mostra:

Code: Select all
if (not(isNull(FattureCliente.IIFattura)))
{
  CCFatture ccf = new()
  ccf.copyFrom(FattureCliente.document)
  Fattura.FatturaMain.setDocument(ccf, false)
}


nel momento in cui cerco di salvare ccf, ottengo l'errore mostrato sopra.

Digressione: concettualmente non so se questo possa essere un malfunzionamento, nel senso che il documento ccf, quando caricato dal db, forse è legato al proprio record in altri modi oltre la PK (modi interni ad INDE).
Viceversa, nel momento questo venga copiato tramite copyfrom, tale legame si spezza, e quindi quando noi chiediamo di salvare, il framework dovrebbe decidere in base a quale criterio, se debba essere un update piuttosto che un insert o anche un delete.
Comunque, che sia un malfunzionamento od una caratteristica voluta, credo che tutto filerebbe più liscio se (in base ai valori inserted e deleted) il framework aggiornasse/inserisse/cancellasse anche il ccf ottenuto dal secondo snippet.
User avatar
theguru
 
Posts: 972
Joined: 29 January 2014, 13:01

Re: salvare i documenti creati con copyFrom

Postby lucabaldini » 14 December 2015, 17:21

Anche qui non è facile capire cosa succede... un progetto di esempio aiuterebbe un bel po'. Il framework non ha "modi interni" per mantenere legati i documenti ai rispettivi record.

Non mi è chiaro cosa intendi per "quando lo prelevo direttamente dal pannello che lo mostra"... in che stato è il documento che prelevi dal pannello? Da dove viene? E' stato letto dal DB?

La CopyFrom copia tutto... potresti verificare, dopo la copyFrom, se il documento ha una PK valida? Dovrebbe avere la stessa del documento originale.
Potresti provare a scrivere dttLogMessage(ccf.ID) subito dopo la copyFrom per vedere se è stata valorizzata la PK.

La copyFrom copia anche gli stati Updated, Deleted e Inserted del documento.
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 4990
Joined: 1 October 2010, 17:03
Location: Bologna


Return to Proposte di modifica

Who is online

Users browsing this forum: No registered users and 8 guests