Rechnung kopieren

13/08/2008 - 09:23 von Jens Wichmann | Report spam
Hallo,
Ich möcht per Programm eine Rechnungen kopieren.
Die Rechnung selbst ist auch kein Problem aber bei den die invoicedetail
bekomme ich immer diese Fehlermeldung:
0x80040265 Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
Der Witz ist das die Produkte in der Rechnung dennoch erstellt werden.
Die Frage ist was für ein Objekt wird da nicht erstellt?

Im Code muss die Guid der invoiceid auf eine bereits vorhandene Rechnung
angepasst werden.
Hier der Code:

public CrmService service = new CrmService();
public FilterExpression filter = new FilterExpression();
public void start()
{
Guid invoiceid = new Guid("{D590B740-6443-DD11-994F-0050569207BF}");

//rechnung kopieren
filter.Conditions.Clear();
filter.AddCondition("invoiceid", ConditionOperator.Equal, invoiceid);
BusinessEntityCollection regs = axRead(EntityName.invoice);
invoice reg = (invoice)regs.BusinessEntities[0];
reg.invoiceid = null;
reg.ownerid = null;
reg.invoicenumber = null;
reg.name = "copy: " + reg.name;
Guid new_invoiceid = service.Create(reg);

//details kopieren
filter.Conditions.Clear();
filter.AddCondition("invoiceid", ConditionOperator.Equal, invoiceid);
BusinessEntityCollection poss = axRead(EntityName.invoicedetail);
for (int i = 0; i < poss.BusinessEntities.Count; i++)
{
invoicedetail pos = (invoicedetail)poss.BusinessEntities[i];
pos.invoiceid.Value = new_invoiceid;
pos.invoicedetailid = null;
try { service.Create(pos); }
catch (System.Web.Services.Protocols.SoapException ex)
{ Console.WriteLine(ex.Message + "" + ex.Detail.InnerXml); }
}
}
public BusinessEntityCollection axRead(EntityName entityName)
{
QueryExpression query = new QueryExpression();
query.EntityName = entityName.ToString();
filter.FilterOperator = LogicalOperator.And;
query.Criteria = filter;
query.ColumnSet = new AllColumns();
BusinessEntityCollection be = this.service.RetrieveMultiple(query);
return be;
}


Danke für eure Hilfe
Jens Wichmann
 

Lesen sie die antworten

#1 Jens Wichmann
13/08/2008 - 12:31 | Warnen spam
"Jens Wichmann" schrieb im Newsbeitrag
news:
Hallo,
Ich möcht per Programm eine Rechnungen kopieren.
Die Rechnung selbst ist auch kein Problem aber bei den die invoicedetail
bekomme ich immer diese Fehlermeldung:
0x80040265 Der Objektverweis wurde nicht auf eine Objektinstanz
festgelegt.



In den Rechnungen làuft noch ein Pluin. Wenn ich das aus schalte klapp das
kopiern ohne Fehler.
Es lag also nicht an dem Programm sonder an dem Plugin das dort Probleme
macht.

Gruß Jens

Ähnliche fragen