Sorry jetzt ist mir was dazwischen gekommen. Müssen wir doch verschieben. Wie gesagt bin zwischen den Tagen per Email erreichbar. Schöne Weihnachten für Euch …
Gruß Dieter
OK, wie wärs am 28.12. (Mittwoch) vormittags so gegen 10:30?
Hi Tobias Bin online
Hallo, ich bin jetzt auch hier.
Guten Morgen @nebergd und frohes Neues!
bitte schau mal hier, ich habe Schwierigkeiten, die Testdatei zu laden.
Hallo Dieter,
ich habe Dich schon angeskped, schreibe es hier aber auch noch, für’s Archiv (und etwas hübscher):
die geladenden C_OLCand
werden mit C_Charge_ID=540002
geladen. der Betreffende C_Charge (“Kostenstelle”) eintrag hat die Steuerkategorie “Steuerfrei 0%”.
Zu dieser Steuerkategorie gibt es keinen Stauersatz (das Fenster heisst auch so, Tabelle heisst C_Tax) und deshalb schlägt das ganze fehl
wenn du
update C_OLCand set C_Charge_ID=null
ausführst um die Kostenstelle bei alle Auftragsdispo-Datensätzen zu entfernen, dann zieht nicht mehr die Steuerkat “Steuerfrei 0%”, sondern diejenige, die bei den Preisen hinterlegt ist (19%). Und dazu gibt’s auch einen Steuersatz und dann werden auch die Auftragzeilen hinterlegt.
was du allerdings noch tun müsstest, damit der Auftrag nicht nur erstellt wird, sondern auch fertiggestellt werden kann, ist (falls noch nicht geschehen) die Buchungsperioden für 2017 anzulegen…dazu müssten wir eine doku haben…japp: http://docs.metasfresh.org/howto_collection/Wie_erstelle_ich_die_Perioden_fuer_ein_neues_Jahr.html
Das spricht aus meiner Sicht auch nochmal für ein COPY
mit header…damit überhaupt mal klar ist, welche werte in welcher spalte landen.
Und natürlich ist es Mist, dass der Fehler nicht angezeigt wurde und ich erst den Debugger anwerfen musste…da müssen wir auf jeden Fall noch ran…
Hi
werde ich ausprobieren… kann ich eigentlich die Einträge aus c_olcand einfach per sql löschen oder gibt es dann Inkonsistenzen in der DB?
Gruß Dieter
solange noch keine auftragszeilen entstanden sind kannst du sie löschen.
Ansonsten sollte es (auch bei der Version die Du zur Zeit nutzt, danach habe wir das aber nochmal verbessert) einen Fehler geben, sofern andere Datensätze die C_OLCand
referenzieren (Stichwort “Foreign Key Constraint”)
Hi Tobias,
löschen hat mit delete from c_olcand: geklappt.
Aber den Auftragskanidaten habe ich als Auftrag übernommen bekommen. Wo kann ich die Steuerkategorie sehen? Hat es denn bei Dir geklappt mit dem Auftrag? Vielleicht mache ich noch was falsch bei der Auftragsdisposition? Wenn ich den Datensatz sehe, was muss ich dann machen. Habe es mit Kettenglied Auftragskandidat versucht
und dann mit Zahnrad und verarbeiten versucht.
Die c_olcand_id darf übrigens nicht leer sein… sonst meckert copy in psql…
Gruß Dieter
Hi Tobias noch was ist mir aufgefallen,
man kann sehen, dass im Feld Eingabeq… importiert aus EDI ORDERS Datei steht aber im Auswahlfeld steht keine Auswahl…
Gruß Dieter
Guten Morgen Dieter
löschen hat mit delete from c_olcand: geklappt.
Apropos, warum wolltest du die C_OLCands löschen? Um nochmal einen sauberen Start zu haben?
Wo kann ich die Steuerkategorie sehen?
Die Steuerkategorie ist von der Kostenstelle der Auftragskandidaten verlinkt. Ich spreche hier von drei verschiedenen Tabellen:
C_OLCand
: Auftragsdispo, mit der SpalteC_Charge_ID
die eine Referenz auf die Kostenstellen-Tabelle enthalten kannC_Charge
: Kostenstelle, mit der SpalteC_Tax_Category_ID
die eine Referenz auf die Steuerkategorie Tabelle enthalten kannC_Tax_Category
: Steuerkategorie
Die Auftragskandidaten verlinken also zur Kostenstelle über die Spalte C_OLcand.C_Charge_ID
.
Du lädst aus der CSV-Datei in die Spalte C_OLCand.C_Charge_ID
den Wert 540002
hinein (wenn Du in die CSV-Datei schaust, dann siehst Du auch diese Zahl) und das ist die ID der Kostenstelle “Materialentnahme” die ihrerseits die Steuerkategorie “0%” hat, zu der es keinen Steuersatz gibt.
Das Problem dabei: Die Kostenstelle wird in der Auftragsdispo nur selten gebraucht Das Kostenstelle-Feld wird deshalb Standardmäßig nicht einmal angezeigt. Es macht auch soweit ich sehe hier fachlich keinen Sinn eine C_Charge_ID
zu laden.
Jetzt nochmal der Refain ;-):
Das spricht aus meiner Sicht auch nochmal für ein COPY mit header…oder jedenfalls wie auch immer ganz sicher zu stellen, welche Werte in welcher Spalte landen.
Hat es denn bei Dir geklappt mit dem Auftrag?
Ja, nachdem ich die Kostenstellen-Referenzierung der Bestehenden C_OLCand
-Datensätze mit
UPDATE C_OLCand SET C_Charge_ID=null;
entfernt habe.
Daraufhin hat sich das System dann nämlich die Steuerkategorie der Preis-Daten gezogen (19%), und zu denen gibt es einen Steuersatz.
Habe es mit Kettenglied Auftragskandidat versucht
Ja, dort sollte dann der Auftrag referenziert sein. Und auch im Unter-Reiter “Zuordnung - Auftragszeile” sollte dann etwas stehen.
Die c_olcand_id darf übrigens nicht leer sein… sonst meckert copy in psql…
OK, stimmt. Dass kannst Du mit dem Folgenden SQL lösen:
ALTER TABLE c_olcand ALTER COLUMN c_olcand_id SET DEFAULT nextval('c_olcand_seq');
Damit holt sich Postgresql selbst eine C_OLCand_ID
von der Sequenz namens c_olcand_seq
und Du musst keine ID vorgeben. Vorteil: metasfresh selbst holt sich die IDs von der selben Quelle, d.h. Du musst dich nicht um mögliche ID-Kolisionen sorgen.
man kann sehen, dass im Feld Eingabeq… importiert aus EDI ORDERS Datei steht
Ja, das liegt an der ID 150
, die Du in das Feld AD_InputDataSource_ID
importierst. Wir sollten hier noch einen neuen Datensatz á la “Importiert via DB Copy-Befehl” in die Tabelle AD_InputDataSource
eintragen, und dessen ID packst Du dann statt der 150
in die CSV-Datei. Das ist aber denke vorläufig nur ein (kosmetisches) Detail.
aber im Auswahlfeld steht keine Auswahl…
Das liegt daran, dass es zu der ID 1009629
vom Screenshot keinen Datensatz im System gibt.
Du müsstest beim Laden der C_OlCand
-Datensätze neben der C_Charge_ID
auch dieses Spalte Exp_replicationTrx_ID
auf null
setzen.
Die neuen Aufträgsdispo-Zeilen werden wie gesagt ja ohnehin jede Minute automatisch verarbeitet.
Ich hoffe, das alles Hilft.
Viele Grüße
Tobias
heute morgen ist der Song angekommen und durch die unterschiedlichen Zeitzonen kommt das Echo des Songs erst jetzt zurück…
Ich habe natürlich schon längst den Header in der datei und dem Tool eingebaut.
Jetzt probiere ich nochmal den Lösungsansatz.
Gruß Dieter
Hi Tobias,
weiter geht es mit den Auftragskandidaten: Das ist die neue Meldung:
Obwohl der eine ja da ist
Gruß Dieter
Hi Tobias,
danke für die Hilfe.
Nachdem ich den AD_DataDestination_ID=540003; eingetragen habe, hat es funktioniert. Ich hatte das so verstanden, dass damit gesagt wird, wie das System die Datensätze verarbeiten soll.
Habe mich dreimal verbeugt vor dem Rechner (Tobias) . Ich hoffe Du hast es gespürt.
Gruß Dieter
Hallo,
Ich hatte das so verstanden, dass damit gesagt wird, wie das System die Datensätze verarbeiten soll.
genau, das ist wie ein Tag, das aussagt, ob der Auftragskand.-Prozessor überhaupt zuständig ist. Es gibt auch Fälle, wo bei einen Auftragskandidaten gar nichts mehr un Richtung Auftrag zu tun ist (z.B. bei einer Mitgliedschaft o.Ä.) und in dem Fall können wir direkt einen Rechnungskandidaten erzeugen und uns den Auftrag und die Lieferung sparen.
Habe mich dreimal verbeugt vor dem Rechner (Tobias) . Ich hoffe Du hast es gespürt.
ja, es war ein wohliges Kribbeln zwischen der 3. und 4. Rippe ;-).
Jedenfalls, Dir vielen Dank für Deine Geduld mit uns und dem Auftragskandidaten-Prozessor
Viele Grüße
Tobias
Hi Tobias,
jetzt kommt natürlich zwangsläufig die Frage, ob ich das auch mit den Geschäftspartnern analog machen… Gibt es da auch sowas wie c_olcand und edi-import…
Gruß Dieter
Wir haben keine “Geschäftspartner-Kandidaten” o.Ä…
D.h. Entweder, Du lädst die Partner weiter via COPY
direkt in die DB, ober wir benutzen das Replikation-Framework…das würde aber wie am 28.12. angerissen auf die eine oder andere Art Entwicklungsaufwand bedeuten.
Hi Tobias,
copy finde ich gut. Wie heißt die Datenbanktabelle?
Gruß Dieter
Die Tabelle für Geschäftspartner ist C_BPartner
Vermutlich brauchst du auch zumindest noch C_BPartner:Location
und C_Location
für die Addressen.
Falls es noch eine Bankverbindung gibt, dann wäre das noch C_BP_Bankaccount