AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: За рубежом > DAX auf Deutsch
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.04.2008, 20:05   #1  
Blog bot is offline
Blog bot
Участник
 
25,626 / 848 (80) +++++++
Регистрация: 28.10.2006
jinx: Produktionsauftr?ge per Quellcode erstellen
Das Erstellen von Produktionsauftr?gen sollte an sich kein Problem darstellen. Leiderist dem nicht ganz so.
Anders als in anderen Modulen (z.B. Auftr?ge) von Dynamics AX, existiert hierf?r keineKlassenstruktur, welche die entsprechenden Funktionen bereit stellt.
Der Dynamics AX Standard erstellt Produktionsauftr?ge immer ?ber die Maske „ProdTableCreate“.Es gibt aber Situationen, wo f?r die Erstellung eines Produktionsauftrages keine Maskeverwendet werden kann. Ein Beispiel hierf?r k?nnte eine Schnittstelle sein, welche?ber eine Textdatei die zu produzierenden Waren einlie?t und entsprechende Produktionsauftr?geim System generiert.
Die Frage ist nun, wie erstellt man Produktionsauftr?ge per Quellcode, damit dieseauch „richtig“ im System erzeugt werden (inkl. St?ckliste, Arbeitsplan und Lagerbuchung).
  • Zuerst muss der Produktionsauftrag mit den Daten des zu produzierenden Artikels initialisiertwerden.
  • Weiterhin m?ssen Produktionsmenge und Lieferdatum festgelegt werden.
  • Ebenfalls sind die zu verwendende St?ckliste und der Arbeitsplan zu definieren.
  • Und als letzter Schritt muss der Produktionsauftrag noch erzeugt werden.
Hierbei gilt es aber zu beachten, dass die Erstellung (Speichern in der Datenbank) nichtmit der Methode „insert“ der Tabelle „ProdTable“ geschieht, sondern dass hierf?r dieKlasse „ProdTableType“ und deren Methode „insert“ verwendet wird. Nur so wird dieentsprechende Lagerbewegung / Lagerbuchung im System erzeugt und wenn notwendig Referenzenzu einem Verkaufsauftrag oder einer anderen Produktion hinterlegt.
Um dies zu veranschaulichen ein kurzes Beispiel, in welchem ein neuer Produktionsauftragerstellt wird.
static void CreateProductionOrder(Args_args)
{
//Die zu produzierende Menge
ProdQtySched productionQty = 1;
//Der zu produzierende Artikel
ItemId productionItem = "Artikelnummer";

ProdTable prodTable;
InventTable inventTable;
;
inventTable = InventTable::find(productionItem);

//Initialisierung des Produktionsauftrags
prodTable.initValue();
prodTable.ItemId = inventTable.ItemId;
prodTable.initFromInventTable(inventTable);

//Lieferdatum festlegen
prodTable.DlvDate = today();

prodTable.QtySched = productionQty;
prodTable.RemainInventPhysical = prodTable.QtySched;

//Die zu verwendende St?ckliste und Arbeitsplan bestimmen
prodTable.initRouteVersion();
prodTable.initBOMVersion();

//Produktionsauftrag erstellen
prodTable.type().insert();
}

Selbstverst?ndlichsind auch weitere Angaben bei der Erstellung des Produktionsauftrags m?glich.
Z.B. kann ein Produktionsauftrag auch aus einer Verkaufsauftragsposition erzeugt werden(bei Verwendung der Methode "initFromSalesLine").


Es wird keine Haftung oder Gew?hrleistung auf die Richtigkeit der gemachten Angaben gegeben. Die Verwendung erfolgt auf eigene Gefahr. Copyright © Axel K?hn (Aku's AX Blog, http://blog.ak-home.net) and Mathias F??ler (jinx's AX Blog, http://starside.eu)

More...
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
jinx: Microsoft Dynamics AX und .NET - Erstellen eines Termins in Outlook Blog bot DAX auf Deutsch 0 03.11.2007 00:33
jinx: Microsoft Dynamics AX API – Teil 2 „Erstellen von Bestellungen“ Blog bot DAX auf Deutsch 1 04.09.2007 11:46
jinx: Microsoft Dynamics AX API – Teil 1 „Erstellen von Auftr?gen“ Blog bot DAX auf Deutsch 0 17.08.2007 20:54
jinx: Abfragen und Nutzungsdaten Blog bot DAX auf Deutsch 0 17.07.2007 15:40

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 03:27.