Hello!
I have this problem.
I have no idea what this could be.
If you like you could take a look at the picture
I don't know what to do.
Regards
Thanks for everything !
Something in your process is trying to update a record in the "Tab. BASE" table, with primary key values Tipo="WARNINGS" and "Nr."="PCNOCATCLI", but that record does not exist. I would run the debugger to see exactly what is happening and when the error is generated.
See where it says "recWARNINGS.GET(RecWARNINGS.Tipo::WARNINGS,Text013)", that is a hard coded GET, which would only work if that record actually does exist. I bet that the text constant Text013 is set to 'PCNOCATCLI'.
I agree with David, you need to get in touch with your NAV partner to take a look at this.
what if i remove recWARNINGS.GET(RecWARNINGS.Tipo::WARNINGS,Text013)", what i would get.
Would u tell me about the result.
I couldn't contact the partners cause they have no contract with us anymore.
i don't even know their address, cause they live in Italy.
Regards From Nardi!
This is the code!
WITH Record DO BEGIN
TempMsg := '';
TESTFIELD("Nr. Contratto");
TESTFIELD("Data Apertura Contratto");
RecSetup.GET;
// Parte di controllo
IF RecSetup."Controllo Flusso Pre/Contratti" > RecSetup."Controllo Flusso Pre/Contratti"::Nessuno THEN BEGIN
IF RecSetup."Controllo Flusso Pre/Contratti" = RecSetup."Controllo Flusso Pre/Contratti"::Completo THEN BEGIN
IF NOT "Può fare contratto" THEN
ERROR(
Text006,
"Nr.",FIELDCAPTION("Può fare contratto"));
IF NOT "Misuratore Installato" THEN
ERROR(Text006,
"Nr.",FIELDCAPTION("Misuratore Installato"));
END;
IF "Nr. Contratto" = '' THEN
ERROR(Text007,"Nr.");
IF "Tipo Utenza" = '' THEN BEGIN
RecWARNINGS.GET(RecWARNINGS.Tipo::WARNINGS,Text008);
TempMsg := TempMsg + STRSUBSTNO('%!-%1',RecWARNINGS.Descrizione);
END;
//CRB_FSIC START
IF STRPOS("Causale Apertuta",'FSIC')=0 THEN BEGIN
IF "Classe Utenza"='' THEN BEGIN
RecWARNINGS.GET(RecWARNINGS.Tipo::WARNINGS,Text009);
TempMsg := TempMsg + STRSUBSTNO('%!-%1',RecWARNINGS.Descrizione);
END;
IF "Frequenza Fatturazione" = '' THEN BEGIN
RecWARNINGS.GET(RecWARNINGS.Tipo::WARNINGS,Text010);
TempMsg := TempMsg+STRSUBSTNO('%!-%1',RecWARNINGS.Descrizione);
END;
END;
//CRB_FSIC END
IF "Cat. Reg. Business" = '' THEN BEGIN
RecWARNINGS.GET(RecWARNINGS.Tipo::WARNINGS,Text011);
TempMsg := TempMsg + STRSUBSTNO('%!-%1',RecWARNINGS.Descrizione);
END;
IF "Cat. Reg. Business IVA" = '' THEN BEGIN
RecWARNINGS.GET(RecWARNINGS.Tipo::WARNINGS,Text012);
TempMsg := TempMsg+STRSUBSTNO('%!-%1',RecWARNINGS.Descrizione);
END;
IF "Cat. Reg. Cliente" = '' THEN BEGIN
RecWARNINGS.GET(RecWARNINGS.Tipo::WARNINGS,Text013);
TempMsg := TempMsg + STRSUBSTNO('%!-%1',RecWARNINGS.Descrizione);
END;
IF TempMsg <> '' THEN BEGIN
TempMsg := Text014 + TempMsg + Text015;
IF NOT CONFIRM(TempMsg) THEN
ERROR('');
END;
IF "Nr. Matricola Misur." <> '' THEN BEGIN
IF NOT RecMisuratori.GET("Nr. Matricola Misur.") THEN
ERROR(Text002,"Nr. Matricola Misur.");
IF RecMisuratori."Stato Misuratore" = RecMisuratori."Stato Misuratore"::Attivo THEN
ERROR(Text003,"Nr. Matricola Misur.",RecMisuratori."Codice Utenza")
END;
END;
END;
EXIT(TRUE);
CreaUtenzaMultiple(Record)
WITH Record DO BEGIN
NrUtenzeCreate := 0;
IF FIND('-') THEN REPEAT
IF ("Nr. Utenza" = '') OR NOT (RecUtenze.GET("Nr. Utenza")) THEN BEGIN
NrUtenzeCreate := NrUtenzeCreate + 1;
TempMsg := '';
TESTFIELD("Nr. Contratto");
TESTFIELD("Data Apertura Contratto");
RecSetup.GET;
// Parte di controllo
IF RecSetup."Controllo Flusso Pre/Contratti" > RecSetup."Controllo Flusso Pre/Contratti"::Nessuno THEN BEGIN
IF RecSetup."Controllo Flusso Pre/Contratti" = RecSetup."Controllo Flusso Pre/Contratti"::Completo THEN BEGIN
IF NOT "Può fare contratto" THEN
ERROR(
Text006,
"Nr. Prenotazione",FIELDCAPTION("Può fare contratto"));
IF NOT "Contatore Installato" THEN
ERROR(Text006,
"Nr. Prenotazione",FIELDCAPTION("Contatore Installato"));
END;
IF "Nr. Contratto" = '' THEN
ERROR(Text007,"Nr. Prenotazione");
IF "Tipo Utenza" = '' THEN BEGIN
RecWARNINGS.GET(RecWARNINGS.Tipo::WARNINGS,Text008);
TempMsg := TempMsg + STRSUBSTNO('%!-%1',RecWARNINGS.Descrizione);
END;
IF "Classe Utenza"='' THEN BEGIN
RecWARNINGS.GET(RecWARNINGS.Tipo::WARNINGS,Text009);
TempMsg := TempMsg + STRSUBSTNO('%!-%1',RecWARNINGS.Descrizione);
END;
IF "Frequenza Fatturazione" = '' THEN BEGIN
RecWARNINGS.GET(RecWARNINGS.Tipo::WARNINGS,Text010);
TempMsg := TempMsg+STRSUBSTNO('%!-%1',RecWARNINGS.Descrizione);
END;
IF "Cat. Reg. Business" = '' THEN BEGIN
RecWARNINGS.GET(RecWARNINGS.Tipo::WARNINGS,Text011);
TempMsg := TempMsg + STRSUBSTNO('%!-%1',RecWARNINGS.Descrizione);
END;
IF "Cat. Reg. Business IVA" = '' THEN BEGIN
RecWARNINGS.GET(RecWARNINGS.Tipo::WARNINGS,Text012);
TempMsg := TempMsg+STRSUBSTNO('%!-%1',RecWARNINGS.Descrizione);
END;
IF "Cat. Reg. Cliente" = '' THEN BEGIN
RecWARNINGS.GET(RecWARNINGS.Tipo::WARNINGS,Text013);
TempMsg := TempMsg + STRSUBSTNO('%!-%1',RecWARNINGS.Descrizione);
END;
IF TempMsg <> '' THEN BEGIN
TempMsg := Text014 + TempMsg + Text015;
IF NOT CONFIRM(TempMsg) THEN
ERROR('');
END;
IF "Nr. Matricola Misur." <> '' THEN BEGIN
IF NOT RecMisuratori.GET("Nr. Matricola Misur.") THEN
ERROR(Text002,"Nr. Matricola Misur.");
IF RecMisuratori."Stato Misuratore" = RecMisuratori."Stato Misuratore"::Attivo THEN
ERROR(Text003,"Nr. Matricola Misur.",RecMisuratori."Codice Utenza");
END;
END; //Della parte di controllo
IF RecSetup."Tipo Numerazione Utenze" = RecSetup."Tipo Numerazione Utenze"::"Sbocco+Sequenza" THEN BEGIN
IF Sbocco = '' THEN BEGIN
RecSetup.TESTFIELD("Numerazione Sbocco");
RecSbocchi.INIT;
RecSbocchi."Nr.":=CUNumerazCodificaz.GetNextNo(RecSetup."Numerazione Sbocco",WORKDATE,TRUE);
RecSbocchi."Cod. Via":=Via;
RecSbocchi."Cod Via-Piazza PA":=Via;
RecSbocchi."Nr. Civico":="Nr. Civico";
RecSbocchi."Estensione Nr. Civico":="Estensione Nr. Civico";
RecSbocchi.Scala:=Scala;
RecSbocchi.Piano:=Piano;
RecSbocchi.Interno:=Interno;
RecSbocchi."Nr. Civico PA":="Nr. Civico";
RecSbocchi."Estensione Nr. Civico PA":="Estensione Nr. Civico";
RecSbocchi."Scala PA":=Scala;
RecSbocchi."Piano PA":=Piano;
RecSbocchi."Interno PA":=Interno;
RecSbocchi."Cod. Zona":=Zona;
RecSbocchi."Cod. Sottozona":=SottoZona;
RecSbocchi.Stato:=RecSbocchi.Stato::Chiuso;
RecSbocchi.INSERT(TRUE);
Sbocco:=RecSbocchi."Nr.";
END ELSE BEGIN
RecSbocchi.GET(Sbocco);
RecSbocchi.RENAME(CUNumerazCodificaz.GetNextNo(RecSetup."Numerazione Sbocco",WORKDATE,TRUE));
RecSbocchi."Cod. Via":=Via;
RecSbocchi."Cod Via-Piazza PA":=Via;
RecSbocchi."Nr. Civico":="Nr. Civico";
RecSbocchi."Estensione Nr. Civico":="Estensione Nr. Civico";
RecSbocchi.Scala:=Scala;
RecSbocchi.Piano:=Piano;
RecSbocchi.Interno:=Interno;
RecSbocchi."Nr. Civico PA":="Nr. Civico";
RecSbocchi."Estensione Nr. Civico PA":="Estensione Nr. Civico";
RecSbocchi."Scala PA":=Scala;
RecSbocchi."Piano PA":=Piano;
RecSbocchi."Interno PA":=Interno;
RecSbocchi."Cod. Zona":=Zona;
RecSbocchi."Cod. Sottozona":=SottoZona;
RecSbocchi.Stato:=RecSbocchi.Stato::Chiuso;
RecSbocchi.MODIFY(TRUE);
END;
END;
IF "Nr. Utenza Preassegnato" = '' THEN
NrManuale := CUNumerazione.ProssimoNumeroUtenza(RecUtenze)
ELSE
NrManuale := "Nr. Utenza Preassegnato";
RecUtenze.VALIDATE("Nr.",NrManuale);
RecUtenze.TESTFIELD("Nr. Cliente");
/// PU 1.040 Giorgio
/// Controlla se il campo telefono è obbligatorio
IF RecSetup."Telefono Obbligatorio" THEN
RecUtenze.TESTFIELD(Telefono);
IF RecSetup."Crea Misuratore Fittizio" THEN BEGIN
IF NOT "Misuratore Fittizio" THEN
ERROR(Text017,"Nr. Prenotazione");
IF RecSbocchi.GET(RecUtenze.Sbocco) THEN BEGIN
RecSbocchi."Nr. Utenza" := "Nr. Utenza";
RecSbocchi.MODIFY(TRUE);
END;
IF "Nr. Matricola Misur." <> '' THEN
CUFunzioniMisuratore.ApriMisuratore(RecUtenze);
// Registrazione Automatica Depositi Cauzionali
IF RecSetup."Reg. Autom. Dep. Cauz." THEN
CASE "Tipo Versamento Dep. Cauz." OF
"Tipo Versamento Dep. Cauz."::Bolletta :
CUDepCauz.RegistraMultipliInRS(Record);
END;
END;
UNTIL NEXT = 0;
IF RecSbocchi.GET(RecUtenze.Sbocco) THEN BEGIN
RecSbocchi."Nr. Utenza" := "Nr. Utenza";
RecSbocchi.MODIFY(TRUE);
END;
//IF "Nr. Matricola Misur." <> '' THEN
// CUFunzioniMisuratore.ApriMisuratore(RecUtenze);
IF "Nr. Matricola Misur." <> '' THEN
IF RecMisuratori.GET("Nr. Matricola Misur.") THEN BEGIN
CUFunzioniMisuratore.InstallaMisuratore(RecUtenze);
IF RecMisuratori."Stato Misuratore" = RecMisuratori."Stato Misuratore"::Attivo THEN
CUFunzioniMisuratore.ApriMisuratore(RecUtenze);
END;
// Registrazione Automatica Depositi Cauzionali
IF RecSetup."Reg. Autom. Dep. Cauz." THEN
CASE "Tipo Versamento Dep. Cauz." OF
"Tipo Versamento Dep. Cauz."::Bolletta :
CUDepCauz.RegistraInRS(Rec);
END;
You hard code a GET for all these records, so you have to make sure that they exist, or program around the error. I don't see what else you need from this. What exactly is your question?
Comments
RIS Plus, LLC
Hope this could help
i am desperate.
Best Regards
From Albania!
You need to contact your partner, this looks like somethign related to custom coding that they have done.
I agree with David, you need to get in touch with your NAV partner to take a look at this.
RIS Plus, LLC
Would u tell me about the result.
I couldn't contact the partners cause they have no contract with us anymore.
i don't even know their address, cause they live in Italy.
Regards From Nardi!
Independent Consultant/Developer
blog: https://dynamicsuser.net/nav/b/ara3n
WITH Record DO BEGIN
TempMsg := '';
TESTFIELD("Nr. Contratto");
TESTFIELD("Data Apertura Contratto");
RecSetup.GET;
// Parte di controllo
IF RecSetup."Controllo Flusso Pre/Contratti" > RecSetup."Controllo Flusso Pre/Contratti"::Nessuno THEN BEGIN
IF RecSetup."Controllo Flusso Pre/Contratti" = RecSetup."Controllo Flusso Pre/Contratti"::Completo THEN BEGIN
IF NOT "Può fare contratto" THEN
ERROR(
Text006,
"Nr.",FIELDCAPTION("Può fare contratto"));
IF NOT "Misuratore Installato" THEN
ERROR(Text006,
"Nr.",FIELDCAPTION("Misuratore Installato"));
END;
IF "Nr. Contratto" = '' THEN
ERROR(Text007,"Nr.");
IF "Tipo Utenza" = '' THEN BEGIN
RecWARNINGS.GET(RecWARNINGS.Tipo::WARNINGS,Text008);
TempMsg := TempMsg + STRSUBSTNO('%!-%1',RecWARNINGS.Descrizione);
END;
//CRB_FSIC START
IF STRPOS("Causale Apertuta",'FSIC')=0 THEN BEGIN
IF "Classe Utenza"='' THEN BEGIN
RecWARNINGS.GET(RecWARNINGS.Tipo::WARNINGS,Text009);
TempMsg := TempMsg + STRSUBSTNO('%!-%1',RecWARNINGS.Descrizione);
END;
IF "Frequenza Fatturazione" = '' THEN BEGIN
RecWARNINGS.GET(RecWARNINGS.Tipo::WARNINGS,Text010);
TempMsg := TempMsg+STRSUBSTNO('%!-%1',RecWARNINGS.Descrizione);
END;
END;
//CRB_FSIC END
IF "Cat. Reg. Business" = '' THEN BEGIN
RecWARNINGS.GET(RecWARNINGS.Tipo::WARNINGS,Text011);
TempMsg := TempMsg + STRSUBSTNO('%!-%1',RecWARNINGS.Descrizione);
END;
IF "Cat. Reg. Business IVA" = '' THEN BEGIN
RecWARNINGS.GET(RecWARNINGS.Tipo::WARNINGS,Text012);
TempMsg := TempMsg+STRSUBSTNO('%!-%1',RecWARNINGS.Descrizione);
END;
IF "Cat. Reg. Cliente" = '' THEN BEGIN
RecWARNINGS.GET(RecWARNINGS.Tipo::WARNINGS,Text013);
TempMsg := TempMsg + STRSUBSTNO('%!-%1',RecWARNINGS.Descrizione);
END;
IF TempMsg <> '' THEN BEGIN
TempMsg := Text014 + TempMsg + Text015;
IF NOT CONFIRM(TempMsg) THEN
ERROR('');
END;
IF "Nr. Matricola Misur." <> '' THEN BEGIN
IF NOT RecMisuratori.GET("Nr. Matricola Misur.") THEN
ERROR(Text002,"Nr. Matricola Misur.");
IF RecMisuratori."Stato Misuratore" = RecMisuratori."Stato Misuratore"::Attivo THEN
ERROR(Text003,"Nr. Matricola Misur.",RecMisuratori."Codice Utenza")
END;
END;
END;
EXIT(TRUE);
CreaUtenzaMultiple(Record)
WITH Record DO BEGIN
NrUtenzeCreate := 0;
IF FIND('-') THEN REPEAT
IF ("Nr. Utenza" = '') OR NOT (RecUtenze.GET("Nr. Utenza")) THEN BEGIN
NrUtenzeCreate := NrUtenzeCreate + 1;
TempMsg := '';
TESTFIELD("Nr. Contratto");
TESTFIELD("Data Apertura Contratto");
RecSetup.GET;
// Parte di controllo
IF RecSetup."Controllo Flusso Pre/Contratti" > RecSetup."Controllo Flusso Pre/Contratti"::Nessuno THEN BEGIN
IF RecSetup."Controllo Flusso Pre/Contratti" = RecSetup."Controllo Flusso Pre/Contratti"::Completo THEN BEGIN
IF NOT "Può fare contratto" THEN
ERROR(
Text006,
"Nr. Prenotazione",FIELDCAPTION("Può fare contratto"));
IF NOT "Contatore Installato" THEN
ERROR(Text006,
"Nr. Prenotazione",FIELDCAPTION("Contatore Installato"));
END;
IF "Nr. Contratto" = '' THEN
ERROR(Text007,"Nr. Prenotazione");
IF "Tipo Utenza" = '' THEN BEGIN
RecWARNINGS.GET(RecWARNINGS.Tipo::WARNINGS,Text008);
TempMsg := TempMsg + STRSUBSTNO('%!-%1',RecWARNINGS.Descrizione);
END;
IF "Classe Utenza"='' THEN BEGIN
RecWARNINGS.GET(RecWARNINGS.Tipo::WARNINGS,Text009);
TempMsg := TempMsg + STRSUBSTNO('%!-%1',RecWARNINGS.Descrizione);
END;
IF "Frequenza Fatturazione" = '' THEN BEGIN
RecWARNINGS.GET(RecWARNINGS.Tipo::WARNINGS,Text010);
TempMsg := TempMsg+STRSUBSTNO('%!-%1',RecWARNINGS.Descrizione);
END;
IF "Cat. Reg. Business" = '' THEN BEGIN
RecWARNINGS.GET(RecWARNINGS.Tipo::WARNINGS,Text011);
TempMsg := TempMsg + STRSUBSTNO('%!-%1',RecWARNINGS.Descrizione);
END;
IF "Cat. Reg. Business IVA" = '' THEN BEGIN
RecWARNINGS.GET(RecWARNINGS.Tipo::WARNINGS,Text012);
TempMsg := TempMsg+STRSUBSTNO('%!-%1',RecWARNINGS.Descrizione);
END;
IF "Cat. Reg. Cliente" = '' THEN BEGIN
RecWARNINGS.GET(RecWARNINGS.Tipo::WARNINGS,Text013);
TempMsg := TempMsg + STRSUBSTNO('%!-%1',RecWARNINGS.Descrizione);
END;
IF TempMsg <> '' THEN BEGIN
TempMsg := Text014 + TempMsg + Text015;
IF NOT CONFIRM(TempMsg) THEN
ERROR('');
END;
IF "Nr. Matricola Misur." <> '' THEN BEGIN
IF NOT RecMisuratori.GET("Nr. Matricola Misur.") THEN
ERROR(Text002,"Nr. Matricola Misur.");
IF RecMisuratori."Stato Misuratore" = RecMisuratori."Stato Misuratore"::Attivo THEN
ERROR(Text003,"Nr. Matricola Misur.",RecMisuratori."Codice Utenza");
END;
END; //Della parte di controllo
IF RecSetup."Tipo Numerazione Utenze" = RecSetup."Tipo Numerazione Utenze"::"Sbocco+Sequenza" THEN BEGIN
IF Sbocco = '' THEN BEGIN
RecSetup.TESTFIELD("Numerazione Sbocco");
RecSbocchi.INIT;
RecSbocchi."Nr.":=CUNumerazCodificaz.GetNextNo(RecSetup."Numerazione Sbocco",WORKDATE,TRUE);
RecSbocchi."Cod. Via":=Via;
RecSbocchi."Cod Via-Piazza PA":=Via;
RecSbocchi."Nr. Civico":="Nr. Civico";
RecSbocchi."Estensione Nr. Civico":="Estensione Nr. Civico";
RecSbocchi.Scala:=Scala;
RecSbocchi.Piano:=Piano;
RecSbocchi.Interno:=Interno;
RecSbocchi."Nr. Civico PA":="Nr. Civico";
RecSbocchi."Estensione Nr. Civico PA":="Estensione Nr. Civico";
RecSbocchi."Scala PA":=Scala;
RecSbocchi."Piano PA":=Piano;
RecSbocchi."Interno PA":=Interno;
RecSbocchi."Cod. Zona":=Zona;
RecSbocchi."Cod. Sottozona":=SottoZona;
RecSbocchi.Stato:=RecSbocchi.Stato::Chiuso;
RecSbocchi.INSERT(TRUE);
Sbocco:=RecSbocchi."Nr.";
END ELSE BEGIN
RecSbocchi.GET(Sbocco);
RecSbocchi.RENAME(CUNumerazCodificaz.GetNextNo(RecSetup."Numerazione Sbocco",WORKDATE,TRUE));
RecSbocchi."Cod. Via":=Via;
RecSbocchi."Cod Via-Piazza PA":=Via;
RecSbocchi."Nr. Civico":="Nr. Civico";
RecSbocchi."Estensione Nr. Civico":="Estensione Nr. Civico";
RecSbocchi.Scala:=Scala;
RecSbocchi.Piano:=Piano;
RecSbocchi.Interno:=Interno;
RecSbocchi."Nr. Civico PA":="Nr. Civico";
RecSbocchi."Estensione Nr. Civico PA":="Estensione Nr. Civico";
RecSbocchi."Scala PA":=Scala;
RecSbocchi."Piano PA":=Piano;
RecSbocchi."Interno PA":=Interno;
RecSbocchi."Cod. Zona":=Zona;
RecSbocchi."Cod. Sottozona":=SottoZona;
RecSbocchi.Stato:=RecSbocchi.Stato::Chiuso;
RecSbocchi.MODIFY(TRUE);
END;
END;
// Parte operativa
RecUtenze.INIT;
RecUtenze."Nr." := '';
RecUtenze."Nr. Prenotazione" := "Nr. Prenotazione";
CUGestioneUtenze.TravasaPrenotMultiplaInUtenza(Record,RecUtenze);
RecUtenze."Nr. Contratto" := "Nr. Contratto";
RecUtenze."Data Apertura Contratto" := "Data Apertura Contratto";
RecUtenze."Ora Apertura contratto" := TIME;
IF "Nr. Utenza Preassegnato" = '' THEN
NrManuale := CUNumerazione.ProssimoNumeroUtenza(RecUtenze)
ELSE
NrManuale := "Nr. Utenza Preassegnato";
RecUtenze.VALIDATE("Nr.",NrManuale);
RecUtenze.TESTFIELD("Nr. Cliente");
/// PU 1.040 Giorgio
/// Controlla se il campo telefono è obbligatorio
IF RecSetup."Telefono Obbligatorio" THEN
RecUtenze.TESTFIELD(Telefono);
IF RecSetup."Crea Misuratore Fittizio" THEN BEGIN
IF NOT "Misuratore Fittizio" THEN
ERROR(Text017,"Nr. Prenotazione");
RecMisuratori.INIT;
RecMisuratori."Nr." := '$' + RecUtenze."Nr.";
RecMisuratori."Stato Misuratore" := RecMisuratori."Stato Misuratore"::Magazzino;
RecMisuratori."Codice Utenza" := RecUtenze."Nr.";
RecMisuratori."Data Apertura" := RecUtenze."Data Apertura Contratto";
RecMisuratori."Valore Apertura" := 0;
RecMisuratori."Misuratore Fittizio" := Record."Misuratore Fittizio";
RecMisuratori.INSERT(TRUE);
RecUtenze."Matricola Misuratore" := RecMisuratori."Nr.";
RecUtenze."Data Apertura Misuratore Util." := RecMisuratori."Data Apertura";
RecUtenze."Valore Apertura Misuratore" := RecMisuratori."Valore Apertura";
"Nr. Matricola Misur." := RecUtenze."Matricola Misuratore";
"Data Ap. Misuratore" := RecUtenze."Data Apertura Misuratore Util.";
"Lettura Iniziale Misur." := RecUtenze."Valore Apertura Misuratore";
END;
RecUtenze.INSERT(TRUE);
"Nr. Utenza" := RecUtenze."Nr.";
MODIFY(TRUE);
IF RecSbocchi.GET(RecUtenze.Sbocco) THEN BEGIN
RecSbocchi."Nr. Utenza" := "Nr. Utenza";
RecSbocchi.MODIFY(TRUE);
END;
IF "Nr. Matricola Misur." <> '' THEN
CUFunzioniMisuratore.ApriMisuratore(RecUtenze);
// Registrazione Automatica Depositi Cauzionali
IF RecSetup."Reg. Autom. Dep. Cauz." THEN
CASE "Tipo Versamento Dep. Cauz." OF
"Tipo Versamento Dep. Cauz."::Bolletta :
CUDepCauz.RegistraMultipliInRS(Record);
END;
END;
UNTIL NEXT = 0;
MESSAGE(Text018,NrUtenzeCreate,Record.COUNT);
END;
OnRun()
TESTFIELD("Nr. Contratto");
TESTFIELD("Data Apertura Contratto");
RecSetup.GET;
IF "Nr. Utenza" <> '' THEN
ERROR(Text000,"Nr.","Nr. Utenza");
IF NOT ControllaPrenotazione(Rec) THEN
EXIT;
IF RecSetup."Tipo Numerazione Utenze" = RecSetup."Tipo Numerazione Utenze"::"Sbocco+Sequenza" THEN BEGIN
IF Sbocco = '' THEN BEGIN
RecSetup.TESTFIELD("Numerazione Sbocco");
RecSbocchi.INIT;
RecSbocchi."Nr.":=CUNumerazCodificaz.GetNextNo(RecSetup."Numerazione Sbocco",WORKDATE,TRUE);
RecSbocchi."Cod. Via":=Via;
RecSbocchi."Cod Via-Piazza PA":=Via;
RecSbocchi."Nr. Civico":="Nr. Civico";
RecSbocchi."Estensione Nr. Civico":="Estensione Nr. Civico";
RecSbocchi.Scala:=Scala;
RecSbocchi.Piano:=Piano;
RecSbocchi.Interno:=Interno;
RecSbocchi."Nr. Civico PA":="Nr. Civico";
RecSbocchi."Estensione Nr. Civico PA":="Estensione Nr. Civico";
RecSbocchi."Scala PA":=Scala;
RecSbocchi."Piano PA":=Piano;
RecSbocchi."Interno PA":=Interno;
RecSbocchi."Cod. Zona":=Zona;
RecSbocchi."Cod. Sottozona":=SottoZona;
RecSbocchi.Stato:=RecSbocchi.Stato::Aperto;
RecSbocchi.INSERT(TRUE);
Sbocco:=RecSbocchi."Nr.";
END ELSE BEGIN
RecSbocchi.GET(Sbocco);
// RecSbocchi.RENAME(CUNumerazCodificaz.PrendiProssimoNr(RecSetup."Numerazione Sbocco",WORKDATE,TRUE));
RecSbocchi."Cod. Via":=Via;
RecSbocchi."Cod Via-Piazza PA":=Via;
RecSbocchi."Nr. Civico":="Nr. Civico";
RecSbocchi."Estensione Nr. Civico":="Estensione Nr. Civico";
RecSbocchi.Scala:=Scala;
RecSbocchi.Piano:=Piano;
RecSbocchi.Interno:=Interno;
RecSbocchi."Nr. Civico PA":="Nr. Civico";
RecSbocchi."Estensione Nr. Civico PA":="Estensione Nr. Civico";
RecSbocchi."Scala PA":=Scala;
RecSbocchi."Piano PA":=Piano;
RecSbocchi."Interno PA":=Interno;
RecSbocchi."Cod. Zona":=Zona;
RecSbocchi."Cod. Sottozona":=SottoZona;
RecSbocchi.Stato:=RecSbocchi.Stato::Aperto;
RecSbocchi.MODIFY(TRUE);
END;
END;
// Parte operativa
RecUtenze."Nr." := '';
RecUtenze.INIT;
RecUtenze."Nr. Prenotazione" := "Nr.";
CUGestioneUtenze."Travasa Prenotazione in Utenza"(Rec,RecUtenze);
RecUtenze."Nr. Contratto" := "Nr. Contratto";
RecUtenze."Data Apertura Contratto" := "Data Apertura Contratto";
//// aggiunto da Falcone il 15102001
RecUtenze."Ora Apertura contratto" := TIME;
//// fine aggiunta
IF "Nr. Utenza Preassegnato" = '' THEN
NrManuale := CUNumerazione.ProssimoNumeroUtenza(RecUtenze)
ELSE
NrManuale := "Nr. Utenza Preassegnato";
RecUtenze.VALIDATE("Nr.",NrManuale);
//CRB_FSIC START
IF STRPOS("Causale Apertuta",'FSIC') <>0 THEN RecUtenze."Nr. Cliente" := "Nr. Contratto";
//CRB_FSIC END
RecUtenze.TESTFIELD("Nr. Cliente");
/// PU 1.040 Giorgio
/// Controlla se il campo telefono è obbligatorio
IF RecSetup."Telefono Obbligatorio" THEN
RecUtenze.TESTFIELD(Telefono);
IF NOT RecSetup."Permetti Utenza Senza Misurat." THEN BEGIN
TESTFIELD("Nr. Matricola Misur.");
CASE RecSetup."Date Misuratore Ap. Utenza" OF
RecSetup."Date Misuratore Ap. Utenza"::"Data Apertura" :
TESTFIELD("Data Ap. Misuratore");
RecSetup."Date Misuratore Ap. Utenza"::"Data Installazione" :
TESTFIELD("Data Installazione Misuratore");
RecSetup."Date Misuratore Ap. Utenza"::Entrambe :
BEGIN
TESTFIELD("Data Ap. Misuratore");
TESTFIELD("Data Installazione Misuratore");
END;
END; //CASE
END ELSE IF RecSetup."Crea Misuratore Fittizio" THEN BEGIN
IF ("Nr. Matricola Misur." = '') AND (NOT "Misuratore Fittizio") THEN
ERROR(Text001,
FIELDCAPTION("Misuratore Fittizio"), FIELDCAPTION("Nr. Matricola Misur."), "Nr.");
//CRB_FSIC START
// IF "Misuratore Fittizio" THEN BEGIN
IF "Misuratore Fittizio" AND ("Nr. Matricola Misur."='') THEN BEGIN
//CRB_FSIC END
RecMisuratori.INIT;
RecMisuratori."Nr." := '$' + RecUtenze."Nr.";
RecMisuratori."Stato Misuratore" := RecMisuratori."Stato Misuratore"::Magazzino;
RecMisuratori."Codice Utenza" := RecUtenze."Nr.";
RecMisuratori."Data Apertura" := RecUtenze."Data Apertura Contratto";
RecMisuratori."Valore Apertura" := 0;
RecMisuratori."Misuratore Fittizio" := "Misuratore Fittizio";
RecMisuratori.INSERT(TRUE);
RecUtenze."Matricola Misuratore" := RecMisuratori."Nr.";
RecUtenze."Data Apertura Misuratore Util." := RecMisuratori."Data Apertura";
RecUtenze."Valore Apertura Misuratore" := RecMisuratori."Valore Apertura";
"Nr. Matricola Misur." := RecUtenze."Matricola Misuratore";
"Data Ap. Misuratore" := RecUtenze."Data Apertura Misuratore Util.";
"Lettura Iniziale Misur." := RecUtenze."Valore Apertura Misuratore";
END;
END;
IF "Nr. Matricola Misur." <> '' THEN BEGIN
IF NOT RecMisuratori.GET("Nr. Matricola Misur.") THEN
ERROR(Text002,"Nr. Matricola Misur.");
IF RecMisuratori."Stato Misuratore" = RecMisuratori."Stato Misuratore"::Attivo THEN
ERROR(Text003,"Nr. Matricola Misur.", RecMisuratori."Codice Utenza");
END;
RecUtenze.INSERT(TRUE);
"Nr. Utenza" := RecUtenze."Nr.";
MODIFY(TRUE);
IF RecSbocchi.GET(RecUtenze.Sbocco) THEN BEGIN
RecSbocchi."Nr. Utenza" := "Nr. Utenza";
RecSbocchi.MODIFY(TRUE);
END;
//IF "Nr. Matricola Misur." <> '' THEN
// CUFunzioniMisuratore.ApriMisuratore(RecUtenze);
IF "Nr. Matricola Misur." <> '' THEN
IF RecMisuratori.GET("Nr. Matricola Misur.") THEN BEGIN
CUFunzioniMisuratore.InstallaMisuratore(RecUtenze);
IF RecMisuratori."Stato Misuratore" = RecMisuratori."Stato Misuratore"::Attivo THEN
CUFunzioniMisuratore.ApriMisuratore(RecUtenze);
END;
// Registrazione Automatica Depositi Cauzionali
IF RecSetup."Reg. Autom. Dep. Cauz." THEN
CASE "Tipo Versamento Dep. Cauz." OF
"Tipo Versamento Dep. Cauz."::Bolletta :
CUDepCauz.RegistraInRS(Rec);
END;
MESSAGE(Text005,RecUtenze."Nr.","Nr.");
RIS Plus, LLC
It just needed to add a line , type warning , PCNOCATLI
Thanks for everything