2016-07-25 2 views
0

Mit SOAP Service API versuche ich das Feld SO303000.InvoiceSummary.Type zu lesen, um festzustellen, ob eine Rechnung vom Typ Rechnung, Lastschrift, Gutschrift, Cash Return oder Cash Sale. Ich habe mehrere Rechnungen für jeden Typ erstellt und dann für alle ReferenceNbrs und ihre Typen einen Basislesevorgang mit einer ähnlichen Version des folgenden Codes aufgerufen. Ich kann alle Rechnungen (aller Typen) abrufen, jedoch wird das Feld Typ für jede Rechnung immer als "Rechnung" ausgefüllt, die sich vom SO303000-Bildschirm unterscheidet. Liest ich das falsche Feld oder ist es etwas anderes? Vielen Dank!Acumatica Web API: Lesen von SO303000.InvoiceSummary.Type Feld gibt nur "Rechnung"

public void GetAllInvoiceTypes() 
{ 
    SO303000Content SO303000 = context.SO303000GetSchema(); 
    context.SO303000Clear(); 

    var fields = SO303000.InvoiceSummary; 

    List<Command> commands = new List<Command>(); 
    commands.Add(SO303000.InvoiceSummary.ServiceCommands.EveryReferenceNbr); 
    commands.Add(SO303000.InvoiceSummary.ReferenceNbr); 
    commands.Add(SO303000.InvoiceSummary.Type); 

    String[][] SO303000content = context.SO303000Export(commands.ToArray(), new Filter[] { }, 0, true, true); 
} 

Antwort

0

Dieser Bildschirm hat zwei Schlüsselfelder: Typ und Nummer. Da Sie in den Service-Befehlen nur EveryReferenceNbr angeben und keinen bestimmten Typ in den Befehlen festlegen, gibt das System nur den Standardtyp zurück, nämlich "Rechnung". Wenn Sie jede Nummer von jedem Typ bekommen wollen, müssen Sie auch SO303000.InvoiceSummary.ServiceCommands.EveryType als Ihren ersten Befehl hinzufügen, bevor SO303000.InvoiceSummary.ServiceCommands.EveryReferenceNbr

+0

Es funktionierte, danke! – Robert

Verwandte Themen