9. Mai 2008 10:16
9. Mai 2008 10:46
9. Mai 2008 11:21
9. Mai 2008 12:38
9. Mai 2008 13:07
9. Mai 2008 13:22
DELETE(TRUE);
16. Mai 2008 09:54
16. Mai 2008 10:12
IF DELETE(TRUE) THEN;
16. Mai 2008 10:18
16. Mai 2008 10:20
16. Mai 2008 10:37
16. Mai 2008 11:07
Also ich hab jetzt im "OnAfterGetRecord-Trigger" lediglich "IF DELETE(TRUE) THEN;" stehn, aber er meckert immernoch, wenn Posten & Aufträge vorhanden sind!
[B]Artikel - OnAfterGetRecord[/B]
Lagerposten.LOCKTABLE;
Lagerposten.RESET;
Lagerposten.SETCURRENTKEY("Artikelnr.");
Lagerposten.SETRANGE("Artikelnr.",Artikel.Nummer);
BuchhaltPeriode.SETRANGE(Abgeschlossen,FALSE);
IF BuchhaltPeriode.FIND('-') THEN
Lagerposten.SETFILTER(Buchungsdatum,'>=%1',BuchhaltPeriode.Startdatum);
IF Lagerposten.FIND('-') THEN
CurrReport.skip;
Lagerposten.RESET;
IF NOT Lagerposten.SETCURRENTKEY("Artikelnr.",Variantencode,Offen) THEN
Lagerposten.SETCURRENTKEY("Artikelnr.");
Lagerposten.SETRANGE("Artikelnr.",Artikel.Nummer);
Lagerposten.SETRANGE(Offen,TRUE);
IF Lagerposten.FIND('+') THEN
CurrReport.Skip;
IF Artikel."EP Berechnungsmethode" = Artikel."EP Berechnungsmethode"::Durchschnitt THEN BEGIN
Lagerposten.SETRANGE(Offen,FALSE);
Lagerposten.SETRANGE("Lagerwert ist definitiv",FALSE);
IF Lagerposten.FIND('-') THEN
CurrReport.Skip;
END;
Artikel.Delete(TRUE);
16. Mai 2008 11:18
IF DELETE(TRUE) THEN;
PostenUmbenennen.ArtikelPostenUmbenennen(Rec);
BemerkZeile.SETRANGE(Tabellenname,BemerkZeile.Tabellenname::Artikel);
BemerkZeile.SETRANGE("Nr.","Nr.");
BemerkZeile.DELETEALL;
ArtLief.SETRANGE("Artikelnr.","Nr.");
ArtLief.DELETEALL;
ArtVKPreis.SETRANGE("Artikelnr.","Nr.");
ArtVKPreis.DELETEALL;
ArtÜbersetzung.SETRANGE("Artikelnr.","Nr.");
ArtÜbersetzung.DELETEALL;
ArtikelEinheit.SETRANGE("Artikelnr.","Nr.");
ArtikelEinheit.DELETEALL;
ArtVariante.SETRANGE("Artikelnr.","Nr.");
ArtVariante.DELETEALL;
StücklKomp.SETRANGE("Stücklistennr.","Nr.");
StücklKomp.DELETEALL;
TextBauSteinKopf.SETRANGE(Tabellenname,TextBauSteinKopf.Tabellenname::Artikel);
TextBauSteinKopf.SETRANGE("Nr.","Nr.");
TextBauSteinKopf.DELETEALL(TRUE);
BestZeile.SETCURRENTKEY(Belegart,Art,"Nr.");
BestZeile.SETRANGE(Belegart,BestZeile.Belegart::Bestellung);
BestZeile.SETRANGE(Art,BestZeile.Art::Artikel);
BestZeile.SETRANGE("Nr.","Nr.");
IF BestZeile.FIND('-') THEN
ERROR(
'Sie können %1 %2 nicht löschen, da noch Bestellungen vorhanden sind.',
TABLENAME,"Nr.");
AuftragZeile.SETCURRENTKEY(Belegart,Art,"Nr.");
AuftragZeile.SETRANGE(Belegart,AuftragZeile.Belegart::Auftrag);
AuftragZeile.SETRANGE(Art,AuftragZeile.Art::Artikel);
AuftragZeile.SETRANGE("Nr.","Nr.");
IF AuftragZeile.FIND('-') THEN
ERROR(
'Sie können %1 %2 nicht löschen, da noch Aufträge vorhanden sind.',
TABLENAME,"Nr.");
FAZeile.SETCURRENTKEY("Artikelnr.");
FAZeile.SETRANGE("Artikelnr.","Nr.");
IF FAZeile.FIND('-') THEN
ERROR(
'Sie können %1 %2 nicht löschen, da noch offene Fertigungsaufträge, die diesen Artikel enthalten, vorhanden sind.',
TABLENAME,"Nr.");
FAKomponente.SETCURRENTKEY("Artikelnr.");
FAKomponente.SETRANGE("Artikelnr.","Nr.");
IF FAKomponente.FIND('-') THEN
ERROR(
'Sie können %1 %2 nicht löschen, da noch Fertigungsauftragskomponentenzeilen, die diesen Artikel enthalten, vorhanden sind. ',
'mit einer Restmenge, welche nicht 0 ist.',
TABLENAME,"Nr.");
// - 02:TG2.00 --------------------------------------------------------------------
ArtEAN.SETRANGE(Tabellenname,ArtEAN.Tabellenname::" ");
ArtEAN.SETRANGE(ArtEAN."Artikelnr.","Nr.");
ArtEAN.DELETEALL;
ArtKatalog.SETRANGE(Tabellenname,ArtKatalog.Tabellenname::" ");
ArtKatalog.SETRANGE("Artikelnr.","Nr.");
ArtKatalog.DELETEALL;
AlternativArt.SETRANGE("Artikelnr.","Nr.");
AlternativArt.DELETEALL;
ArtVKPreilZeile.SETRANGE("Artikelnr.","Nr.");
ArtVKPreilZeile.DELETEALL;
DebArtKond.SETCURRENTKEY("Artikelnr.","Debitorennr.","Lief. an Code",Startdatum,Priorität,"Konditionsnr.");
DebArtKond.SETRANGE("Artikelnr.","Nr.");
DebArtKond.DELETEALL;
KredArtKond.SETCURRENTKEY("Artikelnr.","Kreditorennr.",Startdatum,Priorität,"Konditionsnr.");
KredArtKond.SETRANGE("Artikelnr.","Nr.");
KredArtKond.DELETEALL;
IF ArtSuchText.GET("Nr.") THEN
ArtSuchText.DELETE;
DebArtNr.SETCURRENTKEY("Artikelnr.","Debitorennr.");
DebArtNr.SETRANGE("Artikelnr.","Nr.");
DebArtNr.DELETEALL;
KassenPreis.SETRANGE("Artikelnr.","Nr.");
KassenPreis.DELETEALL;
ArtLagerort.SETRANGE("Artikelnr.","Nr.");
ArtLagerort.DELETEALL;
// + 02:TG2.00 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// @1, -sw
ÄnderungsprotokollKasse.DatensatzEinfügen(1,2,"Nr.",'',0);
// +sw
// - TG2.01::01 -------------------------------------------------------------------
KassenExpÄndTab.ArtikelÄnderung(Rec,KassenExpÄndTab.Art::Delete);
KassenExpÄndTab.ArtikelEANLöschen("Nr.");
Etikettendruckvorschlagszeile.SETCURRENTKEY("Artikelnr.");
Etikettendruckvorschlagszeile.SETRANGE("Artikelnr.",Rec."Nr.");
Etikettendruckvorschlagszeile.DELETEALL(TRUE);
// + TG2.01::01 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16. Mai 2008 11:25
16. Mai 2008 11:40
16. Mai 2008 12:48
16. Mai 2008 13:17