Home › Forum › Nuclos Konfiguration › Nuclet Import/Export › BasisTtemplatePlus
- Dieses Thema hat 16 Antworten und 4 Teilnehmer, und wurde zuletzt aktualisiert vor 8 Jahre, 8 Monaten von
Matthias KÖPER.
-
AutorBeiträge
-
28 April 2014 um 15:03 Uhr #7603
Matthias KÖPER
TeilnehmerHallo,
ich habe das BasistemplatePlus heruntergeladen um mit Nuclos warm zu werden und zu testen, ob Nuclos etwas für unseren Kunden ist. Ich habe das System mit ein paar Daten gefüttert und scheitere jetzt daran, einen Auftrag zu speichern.
Fehlermeldung:FEHLER: Spalte t1.intid_nuclosstate existiert nicht
Wenn man hinterher in die Liste der Aufträge schaut, sieht man, dass der Auftrag gespeichert wurde. Beim Öffnen gibt es aber wieder diese Fehlermeldung. Löschen funktioniert auch nicht. Im Wiki gibt es einen Hinweis, dass es in Nuclos 4 Änderungen bei den Primärschlüsseln gegeben hat. Was muss ich tun, damit das Basistemplate funktioniert?
Danke im Voraus!
mkoeper28 April 2014 um 16:26 Uhr #7604Matthias KÖPER
TeilnehmerDieser Fehler konnte behoben werden durch Refactoring der Funktion Z959_CA_MENGE_WARENAUSGANG (gefunden unter Quelltext DB-Objekte). Auf die Spur gebracht hat mich der Wiki-Eintrag Hinweise zu Nuclos 4.0. „intid_nuclosstate“ musste durch „struid…“ ersetzt werden.
Habe nun folgenden neuen Stand der Funktion, bin aber nicht sicher, ob das ein vollständiges Refactoring ist, und in welchen Funktionen es noch analog ausgeführt werden muss.
CREATE OR REPLACE FUNCTION Z959_CA_MENGE_WARENAUSGANG(id numeric)
RETURNS numeric AS
$BODY$
DECLARE
menge numeric;
BEGIN
SELECT SUM(t.dblmenge) INTO menge
FROM Z959_LIEFERSCHEINPOSITION t, Z959_LIEFERSCHEIN t1, t_md_state t2
WHERE t.intid_strartikel = (Select intid_strartikel from Z959_AUFTRAGSPOSITION where intid=id) AND t1.intid=t.intid_strlieferschein
AND t1.struid_nuclosstate =t2.struid AND t2.strstate='Abgeschlossen'
AND blnnuclosdeleted=false;
RETURN menge;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
28 April 2014 um 18:37 Uhr #7605caf
VerwalterHallo,
danke für die Informationen!
Ich werde mich um das Problem kümmern, und Ihnen eine korrigierte Version des Nuclets in den Downloadbereich stellen.
Freundliche Grüße,
Frank Lehmann28 April 2014 um 18:59 Uhr #7606caf
VerwalterDie korrigierte Nuclet-Version (v1.1.1) steht nun im Downloadbereich zur Verfügung.
Bitte melden Sie sich, sollten weiterhin Schwierigkeiten auftreten.
Vielen Dank!
29 April 2014 um 00:19 Uhr #7608Matthias KÖPER
Teilnehmer29 April 2014 um 11:55 Uhr #7609Matthias KÖPER
TeilnehmerHallo Herr Lehmann,
habe das Nuclet runtergeladen und versucht zu importieren. Gibt leider Versionskonflikte:
Version conflict: Existing Nuclet „Nummernkreise“ v110 –> Importing Nuclet „Nummernkreise“ v100
Version conflict: Existing Nuclet „Lagerverwaltung“ v110 –> Importing Nuclet „Lagerverwaltung“ v101Wir hatten den Fehler ja wie beschrieben behoben. Haben Sie noch an anderen Stellen Änderungen gemacht? Sonst brauchen wir die neue Version nicht importieren…
Grüße
mkoeper29 April 2014 um 13:35 Uhr #7610caf
VerwalterHallo,
ich habe die von Ihnen gemeldeten Versionskonflikte behoben. Bitte laden Sie sich das Nuclet noch einmal herunter, und versuchen Sie es dann mit der aktualisierten Version.
Es wäre auf jeden Fall wichtig, die neue Version zu nehmen, weil neben den von Ihnen erkannten Problemen weitere Fehler behoben worden sind.
> Wir haben jetzt eine weitere Frage in einem neuen Thema eingestellt.
Der Fehler dürfte mit der neuen Version behoben sein.Freundliche Grüße,
Frank Lehmann30 April 2014 um 15:15 Uhr #7618Matthias KÖPER
TeilnehmerHallo Herr Lehmann,
bei dem Versuch, Objektimporte zu löschen, habe ich noch eine Fehlermeldung gefunden:
org.nuclos.common.UID cannot be cast to java.lang.Long
Der Objektimport lässt sich nicht löschen.
Bei Bedarf hänge ich noch die gesamte Meldung an.Nachdem ich jetzt auch meine Artikel erfolgreich importiert habe, wollte ich Aufträge importieren.
Wie mache ich das am geschicktesten?Ich vermute, ich brauche zwei Strukturdefinitionen einmal für die Aufträge und einmal für die Positionen. Sollte man die Daten dann in zwei Dateien packen oder kann man diese in einer Datei unterbringen? Beim Objektimport kann ich ja mehrere Strukturdefinitionen angeben, aber nur eine Datei.
Welchen Weg (csv-Import oder etwas anderes) würden Sie empfehlen wenn man regelmäßig automatisch Aufträge importieren möchte (möglichst ohne Zutun des Anwenders und mit vernünftiger Fehlerbehandlung)?
Viele Grüße
mkoeper9 Mai 2014 um 09:28 Uhr #7623Matthias Dörr
TeilnehmerGuten Morgen,
vielleicht helfen Ihnen ja ein paar Erfahrungen aus der Praxis…
Wir haben Nuclos seit einem halben jahr im Einsatz und sind sehr zufrieden. Nuclos löst bei uns nach und nach folgende Systeme vollständig ab: OfficeLine (Einkauf, Lager), iQS CAQ (Qualitätsdatenerfassung), Cimco (CNC Programmverwaltung), SmarTeam (Stücklistenverwaltung, Variantenmanagement). Ausserdem integrieren wir umfänge welche bisher mit Excel oder in Papier gelöst worden sind. Aufgrund der Anforderungen an die Dokumentation in Luftfahrt Betrieben ist die Konfiguration mittlerweile recht umfangreich 😉
Wir haben viele Daten aus den „alten“ Systemen übernommen, bzw. syncronisieren die Systeme soweit sie noch parallel im Einsatz sind. Dies ist „simple stupid“ gelöst. Das „alte“ System schreibt alle 15 Minuten die relevanten Tabellen komplett in CSV Dateien (z.B. Auftrag.csv und Auftragspositionen.csv was sich meiner Meinung nach nicht in einer Datei zusammenfassen lässt). Den Rest macht Nuclos nach eindeutigen Schlüsseln welche ebenfalls in der CSV Datei auftauchen. Anmerkung dazu: man kann auch hervorragend Daten in Excel vorbereiten und diese dann einmalig (bereinigt) importieren.
Ein weiterer Vorteil ist der einfache export. Jeder User kann Tabellen als Excel abziehen (Listenansicht>Liste exportieren) wenn z.B. einmalige eigene Abfragen gemacht werden sollen. Dies ermöglicht mit einfachen Mitteln die Anbindung an andere Tools. Wir experimentieren aktuell zum Beispiel mit yED (ebenfalls open source) zur Visualisierung von komplexen Bäumen (mehrere tausend Knoten) – mit tagesaktuellen Daten aus Nuclos versteht sich.
Das geniale an Nuclos ist eben daß man mit einfachen Mitteln alles realisieren kann was man benötigt mit sehr wenigen Ausnahmen. Der einzige Punkt der mich wirklich „stört“ ist daß man in einem Layout nicht zwei subforms auf die gleiche Entität machen kann (z.B. in der Stückliste ein Subform „wo verwendet“ (Fremdschlüssel Parentitems) und „woraus bestehend“ (Fremdschlüssel Childitems). Dies kann man einfach umgehen wenn die Daten nur angezeigt werden sollen. Sobald man jedoch in beide subforms eingaben machen will muss man sich einen anderen Weg einfallen lassen was nicht so elegant ist.
Sollten Sie weitere Fragen haben stehe ich gerne zur Verfügung.
Gruß, Matthias Dörr
13 Mai 2014 um 15:04 Uhr #7624Matthias KÖPER
TeilnehmerVielen Dank für den Bericht.
Wir haben unseren Kunden inzwischen von Nuclos überzeugen können und planen gerade Auftrags- und Lagerverwaltung und müssen uns jetzt in die Feinheiten von Nuclos einarbeiten. Dabei entstehen natürlich eine Menge Fragen.
Die normalen Stammdaten werden wir per csv-Import in das System bekommen. Ein anderer Punkt ist aber der Auftragsimport. Wir erhalten täglich sehr viele kleine Aufträge über eine Webplattform zur Auslieferung. Diese müssen automatisch und User-Sicher in das System, also ohne Benutzerinteraktion und ohne sich im Fehlerfall Logadateien ansehen zu müssen. Die CSV-Schnittstelle kann und möchte ich einem normalen Sachbearbeiter nicht zumuten.
Meine Idealvorstellung wäre, dass ich nur Kundennummer, Lieferanschrift, Artikelnummern und Mengen dem System mitteilen muss (bei dem Format sind wir noch flexibel)
und daraus automatisch Aufträge entstehen, die auch die bei den Stammdaten hinterlegte Attribute wie Rechnungsadresse und Artikelname enthalten. Fehlerhafte Aufträge (z.B. unbekannte Artikelnummer) sollen ebenfalls als Auftrag, aber mit einem Fehlerstatus angelegt werden, so dass der Bearbeiter in auf einen Blick die Liste aller importierten Aufträge sehen kann und bei Bedarf fragliche Aufträge von Hand nachbearbeiten kann. Es darf auch im Fehlerfall kein Datensatz einfach verloren gehen.Wie packt man so ein Szenario am besten an?
Viele Grüße
mkoeper15 Mai 2014 um 13:20 Uhr #7628Matthias Dörr
TeilnehmerHallo,
wir haben sowas ähnliches beim importieren von Messwerten…
Unsere Lösung: In Temporäre Tabelle (automatisch per job script) importieren, diese Importierten Datensätze werden manuell per Objektgenerator in die „echte“ Liste übernommen und danach als übernommen markiert (Statuswechsel).
Gruß, Matthias
3 Juli 2014 um 12:50 Uhr #7710Matthias KÖPER
TeilnehmerHallo,
ich importiere meine Aufträge per Job, wie von mdoerr beschrieben, in ein temporäres Auftragsobjekt und mache danach eine Prüfung, ob die Daten plausibel sind (mit anschließendem Statuswechsel je nach dem ob die Prüfung positiv ausfällt). Jetzt würde ich gerne im nächsten Schritt den Objektgenerator, der die „richtigen“ Auftragsobjekte erzeugt, ebenfalls per Jobregel anstoßen. Leider bin ich in der API nicht fündig geworden. Gibt es dafür eine Funktion oder muss ich den Objektgenerator von Hand aufrufen?
Danke,
mkoeper3 Juli 2014 um 13:36 Uhr #7711Papa Schlumpf
Teilnehmer3 Juli 2014 um 23:40 Uhr #7712Matthias KÖPER
TeilnehmerDanke, den habe ich gesucht :laugh:
Aaaaaber, ich bekomme noch eine Exception:
GenerationProvider: Error while executing generationDer Objektgenerator funktioniert, wenn man ihn manuell aufruft.
Im Serverlog steht etwas von clientLogin user=nuclos NOT IN SESSION SCOPE keine Ahnung, was mir das zu sagen hat…
Ich hänge mal das Serverlog an. Vielleicht kann das jemand für mich deuten.Danke,
mkoeperAttachments:5 Juli 2014 um 00:59 Uhr #7713Papa Schlumpf
Teilnehmer -
AutorBeiträge