Komplizierte Kundenummern und Auftragsnummern erstellen (2024)

Hallo, bei mir hackt's mal wieder...

ich musste meine DB nochmal überdenken. In der Theorie stelle ich mir alle möglichen Situationen vor (wahrscheinlich zu viele und zu kompliziert), so dass alles Effizient und 'automatisch läuft'. Dann, in der Praxis, stelle ich fest, dass einige Dinge doch nicht so praktikabel sind. Also, DB wieder überdenken und neu strukturieren, so auch hier.
Nun hat sich folgendes verändert und ich komme irgendwie nicht weiter, bzw verstehe ich nicht, warum 'angemeckert' wird.

Hier der alte Code, der super funktioniert hat:

if not 'AuftragsNr.' thenif 'StoWerbeflächen'.'Eigene Projekte' and 'StoWerbeflächen'.'Fremde Projekte' thenalert("Es wurde ein eigenes und ein fremdes Projekt ausgewählt. Entweder - oder!")elselet myProjektArt := if 'StoWerbeflächen'.'Eigene Projekte' then"1"else"2"end;let myProjekt := if myProjektArt = "1" thentext(number('StoWerbeflächen'.'Eigene Projekte'))elsetext(number('StoWerbeflächen'.'Fremde Projekte'))end;let myStandort := substr('StoWerbeflächen'.PLZ, 0, 2);let myKunde := substr('Zu Kunde'.Kundennummer, 0, 3);let myANr := myStandort + "-" + myKunde + "-" + myProjektArt + "-" + myProjekt;let myLastNr := last(((select 'Aufträge' where substr('AuftragsNr.', 0, 10) = myANr) order by Nr).'AuftragsNr.');let myNewNr := number(substr(myLastNr, 11, 4)) + 1;'AuftragsNr.' := myANr + "-" + format(myNewNr, "0000")endelsealert("Es wurde bereits eine Auftragsnr. vergeben!")end


Soweit so gut.
@Copytexter, Du hattest ja geschrieben, dass Kunde und StoWerbefläche verknüpft sein sollen.
Nun ist die Tabelle StoWerbefläche nicht mehr verknüpft. Ich habe die Info, die in der Tabelle StoWerbefläche waren, ändern müssen.
ZB. sind ‚Eigene Projekte‘ und ‚Fremde Projekte‘ nun in der Untertabelle der Tabelle 'Aufträge', bzw. werden diese aus einer anderen Untertabelle übernommen.

Hier der neue Code:

if not 'AuftragsNr.' then
if Auftragspositionen.'Eigene Projekte' and Auftragspositionen.'Fremde Projekte' then
alert("Es wurde ein eigenes und ein fremdes Projekt ausgewählt. Entweder - oder!")
else
let myProjektArt := if Auftragspositionen.'Eigene Projekte' then
"1"
else
"2"
end;
let myProjekt := if myProjektArt = "1" then
text(number(Auftragspositionen.'Eigene Projekte'))
else
text(number(Auftragspositionen.'Fremde Projekte'))
end;
let myStandort := substr('StoWerbeflächen'.PLZ, 0, 2);
let myKunde := substr('Zu Kunde'.Kundennummer, 0, 3);
let myANr := myStandort + "-" + myKunde + "-" + myProjektArt + "-" + myProjekt;
let myLastNr := last(((select 'Aufträge' where substr('AuftragsNr.', 0, 10) = myANr) order by Nr).'AuftragsNr.');
let myNewNr := number(substr(myLastNr, 11, 4)) + 1;
'AuftragsNr.' := myANr + "-" + format(myNewNr, "0000")
end
else
alert("Es wurde bereits eine Auftragsnr. vergeben!")
end

Mein 'logischer' Gedankengang war, dass ich 'StoWerbefläche' durch 'Auftragspositionen' ersetze.

Gesagt, getan, aber wenn ich das Script ausführen möchte, dann poppt allerdings der 'alert' auf "Es wurde ein eigenes und ein fremdes Projekt ausgewählt. Entweder - oder!"

obwohl nur ein Projekt ausgewählt wurde. Was habe ich hierbei nicht beachtet?

Desweiteren habe ich anstatt

let myStandort := substr('StoWerbeflächen'.PLZ, 0, 2);

let myStandort := substr(Auftragspositionen.PLZ, 0, 2);

eingegeben, aber das ist scheinbar auch falsch.

Hat jemand eine Idee, wo der Fehler liegen könnte?

Vielen Dank!!

Gruß Kruna

Komplizierte Kundenummern und Auftragsnummern erstellen (2024)
Top Articles
Latest Posts
Article information

Author: Cheryll Lueilwitz

Last Updated:

Views: 5694

Rating: 4.3 / 5 (54 voted)

Reviews: 85% of readers found this page helpful

Author information

Name: Cheryll Lueilwitz

Birthday: 1997-12-23

Address: 4653 O'Kon Hill, Lake Juanstad, AR 65469

Phone: +494124489301

Job: Marketing Representative

Hobby: Reading, Ice skating, Foraging, BASE jumping, Hiking, Skateboarding, Kayaking

Introduction: My name is Cheryll Lueilwitz, I am a sparkling, clean, super, lucky, joyous, outstanding, lucky person who loves writing and wants to share my knowledge and understanding with you.