SL_Calc()
SL_Calc() – Varianten-Stückliste erzeugen
Die Funktion erzeugt für einen übergebenen Varianten-Artikel und einen übergebenen "SL_MEMO"-Text eine Varianten-Stückliste und führt die Kalkulation der Preise durch.
Parameter | Beschreibung |
---|---|
cArtNr:C | Artikel-Nummer der Varianten. Die Artikelnummer muss eine Varianten-Stückliste besitzen. |
nPreisNr:N | Kunden-Preisnummer als Basis für die Preis-Kalkulation |
nEPreis:N | Verkaufspreis-Basis des Hauptprodukts. Bei Übergabe von 0 wird die Verkaufspreis-Basis aus dem der übergebenen Preisnummer entsprechenden VK-Preis-Feld des Artikels cArtNr:C übernommen. |
cSLText:C | "SL_MEMO"-Text entsprechend z.B. Dab055:SL_MEMO. Wird als Basis für die Erzeugung der Stückliste verwendet. |
nEkPreis:R | Referenz-Parameter: Errechneter Einkaufs-Preis |
nVkPreis:R | Referenz-Parameter: Errechneter Verkaufs-Preis |
oMemTable:O | TMemCalcTable-Objekt, welches mit der errechneten Stückliste befüllt wird. Die übergebene Tabelle wird strukturell von der Funktion angepasst. |
lCopyMemos:L | Varianten-Mengenfelder "SL_Memo" und "SL_FixMemo" mit Basis-Werten aus der zugrunde liegenden Variantenstückliste füllen. Default=false |
Rückgabewert
Logisch - Varianten-Stückliste wurde erfolgreich berechnet / erzeugt
Beispiel
| nEkPreis, nVkPreis, oMemTable |
// ohne SL-Ausgabe
if SL_Calc('45520040', , , , nEkPreis, nVkPreis) then
WriteLn('EK: ' + FormatFloat('#,##0.00', nEkPreis)),
WriteLn('VK: ' + FormatFloat('#,##0.00', nVkPreis)),
else
WriteLn('Kalkulationsfehler!')
endif,
WriteLn(),
// mit SL-Ausgabe, Preis-Nr 2
oMemTable := CreateObject('TMemCalcTable'),
startseq,
if SL_Calc('45520040', 2, , , nEkPreis, nVkPreis, oMemTable) then
WriteLn('EK: ' + FormatFloat('#,##0.00', nEkPreis)),
WriteLn('VK: ' + FormatFloat('#,##0.00', nVkPreis)),
WriteLn('Stückliste: '),
DBGoTop(oMemTable),
while !EoF(oMemTable) do
WriteLn('- ' + Trim(oMemTable:ArtNr1) + ' x ' + Str(oMemTable:Menge)),
DBSkip(1, oMemTable)
end,
else
WriteLn('Kalkulationsfehler!')
endif,
always,
DestroyObject(oMemTable),
stopseq