I have created a custom workflow to auto-generate invoices however, although the invoices are being generated, no items are included . I'm a bit perplexed as to why
Try
' Get Product ID
Dim rtnProductid As String = String.Empty
Dim _productfilter As FilterExpression = New FilterExpression(LogicalOperator.And)
_productfilter.AddCondition("productnumber", ConditionOperator.Equal, "IAS" & Right("000000" & Replace(CStr(Format(_annualsupportfee, "##0.00")), ".", ""), 6))
Dim _annualsupportid As QueryExpression = New QueryExpression("product")
_annualsupportid.ColumnSet = New ColumnSet("productid")
_annualsupportid.Criteria = _productfilter
WriteToErrorLog("1. " & "IAS" & Right("000000" & Replace(CStr(Format(_annualsupportfee, "##0.00")), ".", ""), 6))
Dim returned_monthlysupportid As EntityCollection = _service.RetrieveMultiple(_annualsupportid)
If returned_monthlysupportid.Entities.Count > 0 Then
For Each returnedRecord In returned_monthlysupportid.Entities
rtnProductid = returnedRecord.Attributes("productid").ToString
WriteToErrorLog("2. " & returnedRecord.Attributes("productid").ToString)
Exit For
Next
Dim invoiceDetail = New Entity("invoicedetail")
invoiceDetail("invoiceid") = New EntityReference("invoice", New Guid(invoiceid.ToString))
invoiceDetail("productid") = New EntityReference("product", New Guid(rtnProductid.ToString))
invoiceDetail("quantity") = CDec(1.0)
invoiceDetail("isproductoverridden") = False
invoiceDetail("uomid") = New EntityReference("uom", New Guid(Invoicelink))
_service.Create(invoiceDetail)
Return True
End If
Catch ex As Exception
WriteToErrorLog("3. " & ex.Message.ToString)
End Try
In my 'log' I get
1. IAS010000
2. 4394f419-3eb9-e911-9148-0050560105a7
3. The specified unit is not valid for this product.
I can see that the product is being found and I have doublechecked the id is correct, but I have no idea as to what 'The specified unit is not valid for this product' means. I am getting this error for all products
*This post is locked for comments