[gelöst](RTC)Auftragszeilen als Etikett audrucken

8. Mai 2012 13:10

Hallo,
ich möchte gerne von einen Auftrag, alle Auftragszeilen als Etikett ausdrucken. Und die Anzahl der Etiketten sollte der Eingabemenge im Auftrag entsprechen.
Gibt es so etwas ähnliches in einer Standardfunktion in Navision bzw. wie könnte ich so etwas machen.

lg
stony
Zuletzt geändert von stony am 11. Juni 2012 10:24, insgesamt 1-mal geändert.

Re: (RTC)Auftragszeilen als Etikett audrucken

8. Mai 2012 14:31

Hi,

vom Standard her ist mir jetzt nichts bekannt.
Die entsprechende Lizenz vorausgesetzt kannst du einen Report erstellen auf Basis der Auftragstabelle.
Als Datenbasis würde ich vermutlich "Sales Header" mit untergordneter "Sales Line" und einem Integer-DataItem unter der "Sales Line" wählen.
Sales Header kannst du dann beim Aufruf auf deinen Auftrag filtern.
Weder Sales Header noch Sales Line bekommen eine Design-Section. Lediglich das Interger-DataItem druckt etwas.
In der SalesLine kannst du dann eine globale Variable vom Typ Integer auf Null setzten und im IntegerDataItem hochzählen.
Immer wenn diese Variable den Wert der Menge aus der aktuellen SAlesLine erreicht, brichst du die Abarbeitung des Integer-DataItems ab.
Damit bekommst du einen Ausdruck pro Stück.

Re: (RTC)Auftragszeilen als Etikett audrucken

8. Mai 2012 15:19

Soll das immer automtaich kommen oder nur bei Bedarf? Bei nur bei Bedarf würde mir ein StyleSheet einfallen und das ganze dann über Word drucken. Hab aber noch nie ausprobiert ob das mit Etiketten geht.

Volker

Re: (RTC)Auftragszeilen als Etikett audrucken

8. Mai 2012 20:41

Soll nur bei Bedarf gemacht werden. Das Problem ist das versch. Logos auf dem Etikett (abhängig vom Artikel) gedruckt werden müssen. Z.B. das Firmenlogo der Firma A bei Artikel A und bei Artikel B das Firmenlogo der Firma B usw.

Re: (RTC)Auftragszeilen als Etikett audrucken

9. Mai 2012 07:36

stony hat geschrieben:Soll nur bei Bedarf gemacht werden. Das Problem ist das versch. Logos auf dem Etikett (abhängig vom Artikel) gedruckt werden müssen. Z.B. das Firmenlogo der Firma A bei Artikel A und bei Artikel B das Firmenlogo der Firma B usw.

Das ist kein Problem, du kannst Bilder in der gedruckten Section aus einem BLOB-Feld befüllen (dazu findest du bestimmt einiges hier im Forum). Das BLOB-Feld kann z.B. aus der TempBLOB-Tabelle kommen und immer in der SalesLine mit dem passenden Bild zum aktuellen Artikel gefüllt werden.

Neue SalesLine => Counter auf Null setzen + BLOB mit passendem Bild zum Artikel füllen
Integer => Counter hochzählen bis die Menge der SalesLine erreicht ist + Andruck von Informationen und dem Bild

Re: (RTC)Auftragszeilen als Etikett audrucken

9. Mai 2012 08:23

Das Etikett sollte aus 4 Bilder bestehen, welche immer gleich sind und weiteren 3 Bilder, welche abhängig vom jeweiligen Artikel sind. Auch müßte dies mittels RTC gelöst werden (da ich unbedingt einen färbiges Etikett brauche). Kann ich das auch mit mehreren BLOB-Felder lösen.

Re: (RTC)Auftragszeilen als Etikett audrucken

9. Mai 2012 08:35

Mehrere BLOB-Felder sind kein Problem.
Aber BLOB und RTC ist nicht mehr so ganz trivial.
Hast du die Bilder in deiner Datenbank oder auf einem Netzwerkverzeichnis liegen?
Sind die Bilder nicht in der Datenbank, kannst du ja den Dateinamen im DataSet für den Report mitgeben und anschliessend aus dem VS heraus einbinden.
Sind die Bilder in der Datenbank, was normalerweise zu empfehlen ist sollte das hier helfen um schnell zu einem gutne Ergebnis zu kommen:
http://blogs.msdn.com/b/nav/archive/200 ... eport.aspx

Re: (RTC)Auftragszeilen als Etikett audrucken

9. Mai 2012 08:47

Bei einem Testbericht habe ich diese als Embedded Images in VS hinzugefügt. Kann dies natürlich auch als Datei über ein Netzwerklaufwerk ansprechen.
Du empfiehlst aber diese in die Datenbank zu geben. Wie kann ich diese in die Datenbank geben.
Meinst du die Tabelle Company Information? Müsste ich diese dann anpassen? (Leider ist diese Tabelle schon an der 4000Byte Grenze angelangt.)

Re: (RTC)Auftragszeilen als Etikett audrucken

9. Mai 2012 08:59

Das hängt immer davon ab was es für Bilder sind und wo sie überall verwendet werden.
Habt ihr nur einen Standort an dem der Report laufen soll, und alle Rechner dort haben eine gute Anbindung an das Netzwerverzeichnis würde ich es so lassen wie es ist.
Hast du hingegen einige Rechner nur über VPN angebunden die den Report auch drucken sollen, würde ich um sihcer zu gehen das die Bilder immer abrufbar sind diese in die Datenbank verfrachten.
Hierzu empfiehlt sich eine neue Tabelle die lediglich einen für dich brauchbarne Schlüssel und das BLOB-Feld beinhaltet.
Dies wäre vor allem deshalb wichtig, da je nach SQL-Server dieser das BLOB-Feld immer mit abruft wenn ein Datensatz benötigt wird.
Speicherst du das Bild zum Beispiel in einem BLOB-Feld beim Artikel ab, würde jeder Zugriff auf den Artikel von NAV aus das BLOB mit abrufen, auch wenn es nicht benötigt wird.

Re: (RTC)Auftragszeilen als Etikett audrucken

9. Mai 2012 09:17

Wird eigentlich nur von einen einzelnen Arbeitsplatz aus benötigt.
Wenn ich das nun richtig verstehe, brauche ich keine BLOB-Felder bei diese Lösung.
Kann ich folgenden Lösungsweg andenken:
1)Alle Bilder in den Report einbetten.
2)All Bilder auf den Report platzieren (teilweise übereinander)
3)Aufgrund der Artikelmerkmale und mittels der Sichtbarkeitsfunktion in VS das jeweilige Bild anzeigen.

In der Integer-Section die entsprechenden Felder einbauen und mit diese im RTC-Report arbeiten.
Nur das mit der Anzahl der Etiketten abhängig von der Eingabemenge in der Auftragszeile ist mir noch nicht ganz klar.
Aber schon mal besten Dank für deine Hilfe bis jetzt.

Re: (RTC)Auftragszeilen als Etikett audrucken

9. Mai 2012 10:04

Für die Menge gibt es denke ich auch mehrere Möglichkeiten. Da du im RTC bist, sollte dir eigentlich schon das VisualStudio die Möglichkeiten geben um einen Bereich x-mal anzudrucken.
Falls du hier nichts findest kannst du natürlich nach wie vor den weg über das Integer-DataItem gehen. hier am besten fest Filtern auf 1..1000 (in der Erwartung das es nicht mehr Etiketten werden pro Artikel, ansonsten höher wählen).
Dann musst du nur noch im OnAfterGet.. des Integers das hier einfügen:
Code:
IF Number > SalesLine.Quantity THEN
  CurrReport.SKIP;

In diesem Fall brauchst du auch keine Variable anlegen und hochzählen.
Mit jeder SalesLine fängt das Integer-DataItem wieder bei 1 an.

Re: (RTC)Auftragszeilen als Etikett audrucken

10. Mai 2012 08:29

Im CC-Report funktioniert es. Nur im RTC leider nicht. Hier wird nur ein Etikett von der ersten Auftragszeile generiert.
Habe es mit dem Code in der Interger-DataItem versucht. Als DataItemTableView für den Interger DataItem habe ich folgendes eingeben:
SORTING(Number) WHERE(Number=FILTER(1..100))
und DataItemLinkReference <Sales Line>

Re: (RTC)Auftragszeilen als Etikett audrucken

10. Mai 2012 08:33

stony hat geschrieben:Im CC-Report funktioniert es. Nur im RTC leider nicht. Hier wird nur ein Etikett von der ersten Auftragszeile generiert.
Habe es mit dem Code in der Interger-DataItem versucht. Als DataItemTableView für den Interger DataItem habe ich folgendes eingeben:
SORTING(Number) WHERE(Number=FILTER(1..100))
und DataItemLinkReference <Sales Line>

Das sieht für mich (der bis jetzt wenig mit RTC-Reports macht) so aus als hättest du nicht das "richitge" Dataitem in deiner Tabelle im RTC-Layout.
Aber hier können dir sicher einige Leute schnell weiterhelfen wenn du einen Screenshot des RTC-Designs anhängst ;)

Re: (RTC)Auftragszeilen als Etikett audrucken

10. Mai 2012 08:44

Leider ist dies auch mein erster RDC-Bericht. Anbei die Screenshots. Und folgender Code befindet sich Im Integer- OnAfterGetRecord
Code:

IF Number > "Sales Line"."Input Quantity" THEN
  CurrReport.SKIP;
IF Item.GET("Sales Line"."No.") THEN BEGIN
  ItemMerkmale.RESET;
  ItemMerkmale.SETRANGE(Type,ItemMerkmale.Type::Holzart);
  ItemMerkmale.SETRANGE(Code,Item."Et-Holzartencode");
  IF ItemMerkmale.FINDFIRST THEN
    HolzartEng := ItemMerkmale."Code-ENU"
  ELSE
    HolzartEng := '';

  ItemMerkmale.RESET;
  ItemMerkmale.SETRANGE(Type,ItemMerkmale.Type::Qualität);
  ItemMerkmale.SETRANGE(Code,Item."Et-Qualitätscode");
  IF ItemMerkmale.FINDFIRST THEN
    SortierungEng := ItemMerkmale."Code-ENU"
  ELSE
    SortierungEng := '';

  //Holzart und Qualitätscode als einen Text erstellen

  HolzartQualitätscode := '';
  IF Englisch THEN
    HolzartQualitätscode := HolzartEng + ' ' + SortierungEng
  ELSE
    HolzartQualitätscode := Item."Et-Holzartencode" + ' ' + Item."Et-Qualitätscode";

  //Profilcude und Farbencode als einen Text erstellen
  ProfilFarbencode := '';
  IF Item."Profil Code" = 'NF*' THEN
    ProfilFarbencode := 'NF '
  ELSE
    ProfilFarbencode := 'LOC5G ';
  ProfilFarbencode := ProfilFarbencode + Item.Farbencode;
END;
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: (RTC)Auftragszeilen als Etikett audrucken

11. Juni 2012 10:14

Hallo,

das Thema ist auch für mich interessant. Ich habe auch ein Report erstellt und möchte gern die Angebotszeilen als Etikett drucken. Pro Angebotszeile soll ein Etikett ausgedruckt werden.
Mein Problem besteht darin, dass nur die erste Zeile gedruckt wird. Im Angebot sind aber 5Zeilen. Wie bringt man NAV09 bei, dass der Report alle Zeilen drucken soll?

Vielen Dank für Eure Mühe.
Beste Grüße

PS. Es wird der RTC Client verwendet

Re: (RTC)Auftragszeilen als Etikett audrucken

11. Juni 2012 10:19

Wahrscheinlich hast du den gleichen Fehler, wie ich gemacht habe. Habe nämlich die Fields im RTC-Report vergessen in ein List-Objekt einzubetten.
Damit hat es funktioniert.

lg
stony