The TAB Base does not Exsists

nardionline
Member Posts: 34
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 !
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 !

0
Comments
-
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.0
-
I ran the debuger and after that it displays this
Hope this could help
i am desperate.
Best Regards
From Albania!0 -
nardionline wrote:
i am desperate.
You need to contact your partner, this looks like somethign related to custom coding that they have done.David Singleton0 -
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.0 -
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!0 -
Then from object designer run table Tab. BASE and insert a record. Warming, PCNOCATCLI in it with a description.0
-
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;
// 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.");0 -
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?0
-
I already solved it.
It just needed to add a line , type warning , PCNOCATLI
Thanks for everything0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions