Suche Hilfe zu einer Textfunktion in den Positionen

  • Hallo Leute,


    Ich habe bisher folgende Funktion drin, die einen steuerlichen Hinweis generiert, wenn steuerfreie Lieferungen ins Ausland und die EU gehen:


    «If(AktVog.ArtNr=70 OR AktVog.ArtNr=71 OR AktVog.ArtNr=72 AND (AktVog.UStKat = "3 Ausland-EU" and AktAdr.UStId <> "" ),External$("Textbaustein('SteuerHinweisEG'|'')"))+

    If(AktVog.ArtNr=70 OR AktVog.ArtNr=71 OR AktVog.ArtNr=72 AND (AktVog.UStKat = "2 Ausland"),External$("Textbaustein('SteuerHinweisAusland'|'')"))»


    Das funktioniert gut, also kein Problem, die Ausgaben kommen, wenn die Bedingungen gesetzt sind.


    Nun sollte das Ganze um eine weitere Funktion für innergemeinschaftliche Leistungen erweitert werden:


    «If(AktVog.ArtNr=70 OR AktVog.ArtNr=71 OR AktVog.ArtNr=72 AND (AktVog.UStKat = "3 Ausland-EU" and AktAdr.UStId <> "" ),External$("Textbaustein('SteuerHinweisEG'|'')"))+

    If(AktVog.ArtNr=70 OR AktVog.ArtNr=71 OR AktVog.ArtNr=72 AND (AktVog.UStKat = "2 Ausland"),External$("Textbaustein('SteuerHinweisAusland'|'')"))+

    If(AktVog.ArtNr=70 OR AktVog.ArtNr=71 OR AktVog.ArtNr=72 AND (AktVog.UStKat = "11 Ausland-EUsoLeistungen" and AktAdr.UStId <> "" ),External$("Textbaustein('EUsoLeistungen'|'')"))»


    Die Bezeichnungen der Variablen stimmen, alles exakt so geschrieben, wie es im System hinterlegt ist, aber wenn ich dem Kunden nun eine Rechnung schreibe, bleibt die Zeile mit dem Textbaustein leer. Schalte ich die Steuer um auf "2 Ausland-EU" wird der entsprechende Hinweis ausgegeben, die Funktion an sich sollte also funktionieren, schalte ich aber in der Rechnung wieder auf 11 um, ist kein Text drin.


    Kann mir da mal jemand einen Denkanstoß geben?

  • Moin!


    So auf die Schnelle kann ich inhaltlich an Deinen Bedingungen keinen Fehler entdecken.

    Interessant, dass Du alle Bedingungen miteinander mit einem + verknüpfst. Ich habe sie alle nebeneinander gestellt. Aber wenn Du sagst, dass es so funktioniert, dann ist das ja in Ordnung.

    Aber mir fällt auf, dass bei mir im Unternehmer die Kategorie etwas anders heisst, und zwar: 11 Ausland-EU (EU) so Leistungen

    Also prüf das bitte nochmal. Wenn Du bei Dir die Kategorie umbenannt hast in 11 Ausland-EUsoLeistungen (oder schon so vorliegen), ist das ja auch okay.

    Wichtig ist eben nur, dass Du das im LL-Designer genau gleich (Wortlaut + Zeichen) eingibst entsprechend der vorliegenden Kategorie, sonst kann er ja die Inhalte nicht abgleichen.


    LG Chris

  • Ich hatte das so umbenannt, um ausschließen zu können, dass eventuell irgendwelche Zeichen hier vom Script falsch interprätiert werden, also in dem Fall jetzt die Klammern um das EU, was vielleicht dann zu unerwarteten Aktionen geführt hätte. Die Zeichenfolgen sind exakt so, wie es in den Parametern drin ist.


    Ich komme nur nicht dahinter, warum er das nicht verarbeitet und ausgibt.


    Weiter habe ich auch mal den Textbaustein mit einem gekürzten Text ausgegeben, um sicherzustellen, dass ich da nicht irgendwelche Leerzeilen oder Leerzeichen darin befinden, auch das ist okay. Da aber z.B. die Textbausteine für die oberen 2 bedingungen nicht formatierbar sind (da ist irgendwas mit der RTF-Sache, habe ich einen kopiert und mal auf die EU-Sonsige-Leistungen geändert, um auszuschließen, dass hier irgendwas drinhängt, das es verhindert, auch keine Besserung....


    Ich vermute eher, dass die vordere Bedingung irgendwie nicht erfüllt wird.... oder es insgesamt vielleicht nur funktioniert, wenn es die Steuerkategorie 2 oder 3 ist? Weil andere Versuche, es mal mit 1 Inland zu verknüpfen, laufen genauso ins Leere, auch wenn der Vorgang in 1 Inland abgerechnet wird

  • Du kannst Die Textbausteine eigentlich umformulieren, so wie Du willst. Hauptsache die "Titel" oder Bezeichungen stimmen in Parametern und Designer überein.


    Wenn Du es mit Inland verknüpfst, kann doch der Text nicht dargestellt werden, weil die Bedingungen gar nicht erfüllt werden.

    Oder ich verstehe Dich jetzt falsch....


    Dann versuche doch mal, die Bedingungen nebeneinander zu stellen. Also mit «If(... neu anfangen für die USt-Kat 11.


    Gruß Chris

  • Natürlich hatte ich bei Inland auch eine passende Rechnung genommen, aber auch da ging es nicht.... irgendwie scheint sich das zu wehren, wenn man was anderes drin hat als 2 oder 3, daher jetzt die Frage, ob da irgendwo im Hintergrund noch ein Haken sitzt, der gesetzt gehört, damit die Kategorien überhaupt berücksichtigt werden....


    Setze ich jetzt also spasseshalber

    If(AktVog.ArtNr=70 OR AktVog.ArtNr=71 OR AktVog.ArtNr=72 AND (AktVog.UStKat = "1 Inland"),External$("Textbaustein('SteuerHinweisAusland'|'')")) als alleinige Bedingung anstelle der obigen, die funktionierten, dort ein, sollte bei einer Rechnung, die in der Kategorie 1 Inland läuft, der Textbaustein ausgegeben werden, tut er aber nicht, und das erhärtet dann meinen Verdacht, dass da irgendwo noch ein Parameter zu setzen ist, damit die Bedingung erfüllt wird

  • Ich habe auch mal die Reihenfolge geändert, also die passage 11 nach oben gesetzt als erstes Statement, um zu sehen, ob das irgendwo einen toten Link erzeugt, der danneinen Abbruch generiert, aber die darunterstehenden Teile 3 EU und 2 Ausland werden anstandslos ausgegeben in den entsprechenden Vorgängen, das haut hin. Nur diese ver*****e Verknüpfung mit der 11 will nicht gelingen.


    Hier funktionieren nur die Steuerkategorien 2 und 3, alles andere wird ignoriert, und ich komme nicht drauf, warum das so ist, ich finde nirgends Parameter, die das eingrenzten, im Eigenschaftsfenster des Textfeldes an sich sind auch keine Einschränkungen vorhanden, die das erklären könnten...

  • ....dann probier's mal hiermit als zusätzlicher Einzelbedingung (also ohne + Verknüpfung zu den beiden anderen):


    «If( (AktVog.ArtNr=70 OR AktVog.ArtNr=71 OR AktVog.ArtNr=72) AND AktVog.UStKat = "11 Ausland-EU (EU) so Leistungen",External$("Textbaustein('EUsoLeistungen'|'')"))»


    Bei mir funzt das.


    LG

  • Noch zwei "Anregungen" zur Prüfung:

    1.

    Hast Du in der für Deine Tests benutzten Rechnungs-Vorgangsart (70, 71 oder 72) unter Parameter auch das korrekte Vorgabe-Layout für die Vorschau eingetragen? Am Ende hast Du ggf. im Designer eine andere Vorlage editiert als Dir jetzt bei den Testvorgängen angezeigt wird (?)

    2.

    Oder ggf. auch:

    wenn Du die neue Bedingung zunächst in einer Kopie des Layouts eingetragen hast, muss die jetzt natürlich auch für eine Prüfung ausgewählt werden.


    Es kann ja dabei so einiges durcheinander geraten...

  • Hallo,


    leider auch hier keine Abweichung, wir arbeiten nur mit dieser einen Version.


    Was mich hier echt stutzig macht, ist, dass der Designer die Bedingungen nur dann erfüllt sieht, wenn man die UST-Kategorie 2 oder 3 hat, bei den anderen macht er nichts, sprich, es finden keine entsprechenden Ausgaben statt.

  • Alles sehr mysteriös!

    Aber wenn ich mir den Verlauf der Beiträge so anschaue, fällt mir besonders Post # 2 + 3 auf. Chris 808 hatte auf Deine Umbenennung der Steuerkat. 11 hingewiesen. Deine Rückmeldung hatte Deine Begründung (?) für diese Umbennnung geliefert. Danach war diese Änderung allerdings kein Thema mehr. Alles Tests die dann noch kamen, sind also mit der bei Dir umbenannten Kategorie 11 gelaufen. Der Test der Bedingung mit der (bei mir) im Original benannten Kategorie, konnte daher bei Dir ja auch nicht funktionieren.

    Ich denke, dass dort des Pudels Kern liegt. Stell mal die Original-Bezeichnung der Kat. 11 wieder her.


    LG

  • So, jetzt fällt mir auch nix mehr ein, es sei denn, Du stellst hier mal einen ScreenShot (oder besser: eine txt-Datei) vom formatierten Text im LL-Layoutgestalter (Tabelle > Abschlusstexte) rein. Da könnte ich dann meine und Deine Bedingungen abgleichen und auf einem vermeintlichen Fehler hin prüfen, denn ich habe in meiner Vorlage auch noch alle Systemvorgaben aus der Original-Vorlage drin.

    Vorher kannst Du das anhand der Originalvorlage natürlich auch erstmal selbst machen. Alle in der Original-Vorlage durch das System vorgegebenen Bedingungen betreffend der Abschlußtexte (die EU-Sonderleistungen sind da auch mit drin!) gegen Deine bereits editierten ersetzen.

    Aber, zur eigenen Sicherheit, das alles bitte zunächst nur in einer Kopie des derzeitigen Layouts...

  • Sorry, dass ich erst jetzt antworte, die Woche über komme ich fast nicht dazu....


    Anhang ist der Screenshot... Ich wundere mich nur, dass der nur die Kategorie 2 und 3 berücksichtigt, alle anderen nichtg. Setze ich beispielsweise in Kat 1 einen Textbaustein àla "wir danken für Ihren Einkauf...blalalala..." dann berücksichtigt der das ebensowenig wie die Kat 11, die ich gerne drin hätte...


    Als TXT:


    «If(AktVog.ArtNr=70 OR AktVog.ArtNr=71 OR AktVog.ArtNr=72 AND (AktVog.UStKat = "3 Ausland-EU" and AktAdr.UStId <> "" ),External$("Textbaustein('SteuerHinweisEG'|'')"))+¤If(AktVog.ArtNr=70 OR AktVog.ArtNr=71 OR AktVog.ArtNr=72 AND (AktVog.UStKat = "2 Ausland"),External$("Textbaustein('SteuerHinweisAusland'|'')"))+¤If(AktVog.ArtNr=70 OR AktVog.ArtNr=71 OR AktVog.ArtNr=72 AND (AktVog.UStKat = "11 Ausland-EUsoLeistungen" and AktAdr.UStId <> "" ),External$("Textbaustein('EUsoLeistungen'|'')"))»


    und der Shot....



  • Sodele:


    Beim Studium des bezogen §13b UStG wird klar, dass der bezogene Nachtextvermerk auch für Auslandskunden ausserhalb der EU gelten muss.

    Dieser steuerliche Sachstand mit seiner Darstellung im Nachtext ist in U365 im Hintergrund berücksichtigt worden.

    Deshalb ist die Angabe der "AktAdr.UStId" hier schädlich.


    Insofern war die Bedingung aus Post #7 richtig (wenn auch abweichend geklammert).

    Also, raus mit "AktAdr.UStId" aus Deinem Aufbau unter der Bedingung zur Kat. 11 und die Sache wird angezeigt!


    LG

  • Leider interessiert das den Formulardesigner nicht die Bohne... auch ohne die Bedingung, dass die UST-ID nicht leer ist, wird das nicht angezeigt. Warum auch? Das ist eine Bedingung, die entweder erfüllt ist oder nicht, entsprechend soll er das dann anzeigen oder nicht, bei mir tut er leider nur das "oder nicht"


    Irgendwo muss da noch irgendwas definiert sein, dass der nur gewisse Variableninhalte annimmt und die anderen dann als nicht erfüllt ansieht. Ich vertehe halt nicht, weil ich mittlerweile das unterste nach oben und umgekehrt gedreht habe, um irgendwo in dem Programm eine entsprechende Deklaration zu finden, die das erklärt.


    Leider nichts :(

  • Moin!


    wisogehtdas hat Dir doch im Post #15 einen guten Tip gegeben, auf den Du gar nicht eingegangen bist. Du hängst weiter an Deiner eigenen Bedingungs-Formulierung.

    Nimm Dir ne Original-Vorlage aus dem Unternehmer und übernimm von dort die Abschlusstexte statt Deiner selbstgebauten. Dann wird es auch funktionieren.

    Natürlich musst Du dann auch Deine Umbenennungen in Kategorie und Textbaustein wieder rückgängig machen.


    Gruß

    Chris

  • Ich bin darauf eingegangen, keine Frage, aber auch dort hat es nicht funktioniert... Daher ja meine Vermutung, dass hier irgendwo von "unten" heraus die Bedingung nicht funktioniert. Ich vermute mal, dass da im Vorfeld der Formularerstellung eine Schnittstelle sitzt, die aber auch die entsprechenden Variablen kennen muss, sonst kann daraus keine Weiterverarbeitung erfolgen. Oder aber, das ist jetzt mein anderer Denkansatz, es muss irgendwo in den Grundeinstellungen eine Möglichkeit geben, die Kategorien "weiterverarbeitbar" zu machen.


    Anders kann ich mir leider nicht erklären, warum Kategorie 2 und 3 auf alle Bedingungen reagieren, die man setzt, aber bei 1 und 11 nichts passiert. Ich vermute, irgendwo in den Tiefen dieses Programms sitzt irgendwo eine Checkbox, die angehakt werden muss, damit das geht.


    Oder kann es sein, dass in der Datenbank, die ja auch hier irgendwo eingesetzt wird (DB-Manager) irgendwelche Einträge gesetzt sein müssen, ohne die eine Ausgabe einfach nicht erfolgt? Wir hatten vor etlichen Jahren mal ein Problem mit Umsatzsteuerauswertungen, wo Franco Berg damals via Teamviewer irgendwas in der Datenbeank bei den Kontozuordnungen geprüft hatte, was nicht korrekt war, das war, wenn ich mich richtig erinnere, als auf 19% umgestellt wurde, und ist sicherlich in einem der vielen Updates, die es mittlerweile gab, auch von seiten der Programmierer richtiggestellt worden....