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
Weitere Verknüpfungen