cancel
Showing results for 
Search instead for 
Did you mean: 

Skontowerte / Artikelarten und Formulare

Former Member
0 Kudos

Hallo zusammen,

nachfolgend möchte ich kurz mein Anliegen erklären, hierzu suche ich eine Lösung:

Gegeben sind

Artikel > Skonto, true, gemäß, ZB (14 Tage 2%, 30 Tage Netto) bei GP hinterlegt

Arbeit > Skonto, false, sofort Netto.

Reise > Skonto, false, sofort Netto.

Nachfolgend beziehe ich mich zur Einfachheit auf Verkaufsberichte (Angebot/Auftrag/Rechnung).

Fall1: Artikel

Hier sollen die ZB gemäß GP angedruckt werden, zusätzlich aber der Wert in EUR der als Skonto abgezogen werden darf.

Fall2: Arbeit

Hier sollen die ZB gemäß GP angedruckt werden, zusätzlich aber der Hinweis: Dienstleistungen sind nicht skontierbar (sinngemäß)

Fall3: Arbeit + Artikel

Hier sollen die ZB gemäß GP angedruckt werden, zusätzlich aber der Wert in EUR der als Skonto abgezogen werden darf

und der Hinweis: Dienstleistungen sind nicht skontierbar (sinngemäß)

Wie bekommt man die Skontobrechnung inkl. Berücksichtigung der Skontierbarkeit als SUMME in die Formulare?

Bin etwas erstaunt das sowas nicht im B1 ab Haus implemntiert ist.

Bin für Hilfe danbar.

Gruß

MD

Link zur englischsprachigen Version:

Edited by: Marc Dreffke on Dec 18, 2011 11:42 PM

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hallo Marc,

wundere Dich ruhig... B1 ist wie es ist. Ich sehe trotzdem kein Problem, Deine Wünsche umzusetzen.

Ein paar Anmerkungen / Korrekturen / Richtigstellungen:

- Ein BELEG hat eine Zahlungsbedingung (nicht eine Belegzeile). Diese wird vom GP zur Erfassungszeit gezogen, und kann im Beleg geändert werden. Sie bezieht sich aber immer auf den Beleg-Gesamtwert.

- Ein Artikel hat meines Wissens nach keine Eigenschaft / Einstellungsmöglichkeiten, ob er Skontierbar ist, oder nicht.

- Eine Eigenschaft würde sich anbieten (Skoto-Fähig Ja/Nein)

- Den Belegdruck musst Du schon selbst organisieren. Ist aber mit Coresuite nicht so das Problem - man rechnet den LineTotal der Skotofähigen Artikel zusammen, und Druck die Texte an.

hdh

Andreas

Former Member
0 Kudos

Hallo Andreas!

Du hast natürlich recht, den die Eigenschaft "Skontofähig" war ein Wunschgedanken von mir, weil ich die auch noch in keiner 50 EUR Software gesehen habe/Ironie off

Die Artikeleigenschaft habe ich hierzu heute früh missbraucht, da die meißten meiner items skontofähig sind, werd ich den Haken dort generell setzen.

Ich bin was das Programmieren angeht wirklich im B1 keine Leuchte:

to-do: LineTotal der Skotofähigen Artikel(aus Artikeleingenschaft, Skontofähig=true) abzüglich der im GP hinterlegten % rechnen.

Hört sich klasse an, wird auch funktionieren.. aber wie? .) ^^

Gruß

Marc

Former Member
0 Kudos

Hallo Marc,

bitte bedenke, das Du in einem Forum wie diesem Ideen oder Gedankenanstöße bekommst - keine Lösungen.

Zu Deiner Frage: In einem Coresuite Report (womit druckt ihr???) wäre das wirklich nicht das Problem, und ohne großartige "Programmierung" erledigt. Als Gedankenanstoß: Mach eine Summe auf Linetotal, bedinge es aber mit der Eigenschaft. Also ala (Nehme an Eigenschaft 1 ist "Skontofähig"):

iif(DocumentRow("RowRowItems.QryGroup1")="Y",DocumentRow("LineTotal"),0)

Bedenke: Letztendlich ist es nur das "geduldige" Papier, welches Du so bedruckst. SAP selbst rechnet den Skonto-Fähigen Abzug so: DocTotal * Skontosatz (unabhängig von Deiner Artikeleigenschaft). In der Fibu, in welcher die Zahlung gebucht wird, ist also der tatsächliche Skotosatz nicht ersichtlich. Fazit: In den Nachfolgenden Prozessen funktioniert es ggf. nicht sauber.

hdh

Andreas

Former Member
0 Kudos

Hi Andreas!

Danke für den Gedankenanstoß. Wir drucken mit (verbessere mich wenn ich hier etwas anderes meine) den Standard B1 Papieren. Also z.B Angebot erstellen und dann drucken. Coresuite ist installier.

Former Member
0 Kudos

Um diesen Beitrag wieder zu beleben: Kann ich denn mit dieser Codezeile etwas im Formular "anfangen", oder stellt dies nur die Basis für weitere Schritte dar?

Was wird diese Zeile im Formular (141 > Designer installiert, daher nehme ich an, eine Änderung hat globale Auswirkkungen auf alle verküpften Dokumente) bewirken?

Former Member
0 Kudos

Hi Marc,

ggf. solltest Du Dich an euren SAP - Partner wenden... Die Änderung ist nicht ganz trivial, allerdings wirklich machbar.

Vergiss bitte nicht, das Du nur das Papier entsprechend bedruckst, und die folgenden Prozesse außer acht lässt.

Fall Ihr keinen Partner habt (?), so kannst Du dich gerne noch einmal pers. melden. Kontakt hier

hdh

Andreas

Former Member
0 Kudos

Nach einer kurzen Nacht habe ich folgendes direkt im SQL erstellt:

SELECT

T0.[DocNum] AS 'Belegnummer',

SUM(T1.[LineTotal]) AS 'Betrag Zeilensumme', T0.[DocTotal] AS 'Gesamt', T5.[Discount] AS 'Skontowert',

(CAST (T0.[DocTotal] AS money)-(CAST (T0.[DocTotal] AS money)-(((SUM(CAST (T1.[LineTotal] AS money)1.1900)/(T5.Discount/100 + 1))+((CAST (T0.[DocTotal] AS money)/1.1900)-(SUM(CAST (T1.[LineTotal] AS money))))1.1900)))) AS 'Skontobereinigt'

FROM

.[OINV] T0 FULL OUTER JOIN .[INV1] T1

ON T1.[DocEntry] = T0.[DocEntry]

FULL OUTER JOIN .[OITM] T2

ON T2.[ItemCode] = T1.[ItemCode]

FULL OUTER JOIN .[OCRD] T3

ON T1.[BaseCard] = T3.[CardCode]

FULL OUTER JOIN .[OCTG] T4

ON T3.[GroupNum] = T4.[GroupNum]

FULL OUTER JOIN .[CDC1] T5

ON T4.DiscCode = T5.CdcCode

WHERE T2.[QryGroup1] = (N'Y' )

GROUP BY T0.[DocNum], T5.Discount , T0.[DocTotal], T2.[QryGroup1]

Rechnungsnummer Linetotal Skonto RN Betrag SkontoimGP RN Betrag Skontoabzug

800000000 48.000000 176.120000 2.000000 175.000000

800000001 357.000000 543.830000 2.000000 535.500000

Wie baue ich das am Besten in die Verkaufsberichte ein?

Zahlungskonditionen: 10 Tage abzüglich "T5.Discount/SkontoimGP" EUR "RN Betrag Skontoabzug", 30 Tage Netto

Former Member
0 Kudos

Hallo H. Dreffke,

sorry, aber in diesem SQL sind einige Fehler enthalten.

- T5.Discount ist kein Skonto, sondern der Zeilenrabatt

- folglich sind die folgenden Formeln ebenfalls nicht korrekt

- LEFT OUTER JOIN ist in diesem (allen) Fall nicht korrekt; ein INNER JOIN wär's gewesen

- der Join zur OCRD ist nicht korrekt (weiß nicht, ob der BaseCard immer gefüllt ist, ev. mit CardCode joinen)

- der Join zur CDC1 ist nicht korrekt

Um welche Verkaufsberichte geht es?

Mein Vorschlag zur Query (Lösungsansatz!)

SELECT T0.[DocNum], T3.[PymntGroup], T1.[ItemCode], T1.[Dscription], T1.[Quantity], T1.[LineTotal], T2.[QryGroup1] 
FROM [dbo].[OINV]  T0 
INNER JOIN [dbo].[INV1]  T1 ON T0.DocEntry = T1.DocEntry 
INNER JOIN [dbo].[OITM]  T2 ON T1.ItemCode = T2.ItemCode 
INNER JOIN OCTG T3 ON T0.GroupNum = T3.GroupNum

Der Join zur CDC1 ist nicht trivial, da es ja mehrere Skontosätze zu einer Zahlungsbedingung geben kann. Hier muss man ggf. annahmen treffen, oder vielleicht mit dem Maximal-Skontosatz arbeiten.

Hat man den Skontosatz ermittelt, wäre die Rechnung für den Skontobetrag (ungetestet) ungefähr so:

case when T2.[QryGroup1]='N' then T1.LineTotal else T1.LineTotal * Skontosatz end

Skontosatz ist hier nur ein Platzhalter.

hdh