Andruckbedingung für Ebenen

21. Oktober 2009 15:37

In einem Report, unserem Werksauftrag, habe ich die Aufgabe bekommen, einige Sachen nicht anzudrucken:

- d.h. es sollen keine Artikel angedruckt werden die auf erster Ebene stehen, bei denen keine Resourcen auf zweiter Ebene stehen, also Artikel denen keine Resource zugeordnet sind.

Z.B.
Artikel (1. Ebene)
Resource (2. Ebene)
Resource (2. Ebene)

=> alles andrucken

Artikel (1. Ebene)
Artikel (2. Ebene)
Artikel (2. Ebene)

=> nicht andrucken

kann man so etwas lösen?

(Oder vielleicht betrachtet man das andersherum und sagt man möchte nur Arttikel andrucken auf der ersten Ebene, die auf zweiter Ebene eine Resource haben. Dann wird aber nichts anderes angedruckt.)

Re: Andruckbedingung für Ebenen

21. Oktober 2009 15:42

Kannst du bitte mal genauer erklären, was du mit "Ebene" meinst?¿

Re: Andruckbedingung für Ebenen

21. Oktober 2009 15:47

Falls "Ebene" ein Integer-Feld ist, und sofern die Informationen in demselben Datensatz zu finden sind, könnte man es so lösen:

Code:
OnAfterGetRecord()
IF (Type = Type::Item) AND (Ebene = 1) THEN BEGIN
  Werksauftragszeile2.SETRANGE("Document Type","Document Type");  // Auf den jeweiligen Beleg filtern
  Werksauftragszeile2.SETRANGE("Document No.","Document No.");  // Beispielsweise wie bei einem Verkaufsbeleg
  Werksauftragszeile2.SETRANGE(Type,Type::Resource);
  Werksauftragszeile2.SETRANGE(Ebene,2);
  IF Werksauftragszeile2.ISEMPTY THEN
    CurrReport.SKIP;
END;

Re: Andruckbedingung für Ebenen

22. Oktober 2009 08:26

Also an McClane:
Ich befinde mich in der Projektstruktur. Von hier aus wird bei uns ein Werksauftrag generiert. Ich hoffe das hier klar ist, was mit Ebenen gemeint ist.

An Timo Lässer, ich habe versucht den Code anzupassen.
Code:
IF (JobStructureLine.Type = JobStructureLine.Type::Item) AND (JobStructureLine.Level = 1) THEN BEGIN
  JobStructureLine.SETRANGE("Job No.","Job No.");  // Filter auf job no
  JobStructureLine.SETRANGE("Job Structure No.","No.");  //Filter auf job structure line
  JobStructureLine.SETRANGE(Type,JobStructureLine.Type::Resource);     //filter auf resource
  JobStructureLine.SETRANGE(JobStructureLine.Level,2);
  IF JobStructureLine.ISEMPTY THEN
    CurrReport.SKIP;
END;


Jetzt werden aber einige schon bestehende Werksaufträge nicht mehr angezeigt, nämlich u.a. die die Daten enthalten und ich kann somit nicht sagen, ob es funktioniert oder nicht.

Re: Andruckbedingung für Ebenen

22. Oktober 2009 08:46

misterelektro1981 hat geschrieben:Ich befinde mich in der Projektstruktur. Von hier aus wird bei uns ein Werksauftrag generiert. Ich hoffe das hier klar ist, was mit Ebenen gemeint ist.

Nee, ist nicht klar, da es sowas in meiner Cronus nicht gibt.

Re: Andruckbedingung für Ebenen

22. Oktober 2009 08:52

Also Ebenen bedeutet eigentlich nur wieweit der Text eingerückt wird.

Ebene 1 bedeutet nicht eingerückt, Ebene 2 bedeutet eins nach rechts eingerückt usw..

Re: Andruckbedingung für Ebenen

22. Oktober 2009 08:58

Ist das eine Individualerweiterung für euch?

Re: Andruckbedingung für Ebenen

22. Oktober 2009 09:02

Bin mir nicht sicher, denke aber eher nicht.

Re: Andruckbedingung für Ebenen

22. Oktober 2009 09:05

Mag auch aus einem AddIn sein, jedenfalls ist es nicht im Standard ...