Получение ошибки при попытке выставить счет-фактуру через API

#acumatica #acumatica-kb

#acumatica #acumatica-кб

Вопрос:

Я получаю сообщение об ошибке, когда пытаюсь опубликовать счет-фактуру на экране счетов и заметок (AR301000). Счет готов к отправке, я даже отправляю счет вручную и не получаю никаких ошибок.

В этом и заключается ошибка:

 System.ServiceModel.FaultException: 'PX.Data.PXInvalidOperationException: Operation failed ---> System.Data.SqlClient.SqlException: The multi-part identifier "LocationExtAddress.LocationBAccountID" could not be bound.
The multi-part identifier "LocationExtAddress.LocationCD" could not be bound.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Booleanamp; dataReady)
 

Это мой код в VS:

 using (DefaultSoapClient client = new DefaultSoapClient())
{
    //Login part

    //Invoice data
    string invoiceType = "Invoice";
    string invoiceNbr = "T3-00000018";

    //Find the invoice to be released
    ARInvoice invoiceToFind = new ARInvoice
    {
        Type = new StringSearch { Value = invoiceType },
        ReferenceNbr = new StringSearch { Value = invoiceNbr },
        Hold = new BooleanValue { Value = false }
    };

    ARInvoice invoice = (ARInvoice)client.Get(invoiceToFind);

    //Release invoice
    InvokeResult invokeResult = client.Invoke(invoice, new ReleaseARInvoice());

    //Monitor the status of the process
    ProcessResult processResult = LongRunProcessor.GetProcessResult(client, invokeResult);

    //Get the confirmed shipment
    invoice = (ARInvoice)client.Get(new ARInvoice { ID = processResult.EntityId });

    //Display the summary of the invoice
    txtType.Text = invoice.Type.Value;
    txtNumber.Text = invoice.ReferenceNbr.Value;
    txtStatus.Text = invoice.Status.Value;

    client.Logout();
}
 

В частности, я получаю эту ошибку в «клиенте.Призывать».

Комментарии:

1. Можете ли вы выставить счет-фактуру через пользовательский интерфейс Acumatica?

2. Да, и у меня нет никаких проблем с выпуском счетов-фактур через пользовательский интерфейс Acumatica. @Kulvir

3. Какую версию конечной точки вы используете? Вы расширили его для этого объекта? В конечной точке 18.200.001 я не вижу объекта для ARInvoice. Вместо этого я вижу только объект с именем Invoice . А действие освобождения называется ReleaseInvoice.

4. Я использую версию 17.200.001, да, я расширил ее для объекта, я изменил имя объектов конечной точки, как вы говорите, но я все еще получаю ту же ошибку. @DianeCawley

5. Можете ли вы повторить попытку, используя объект счета-фактуры — объект по умолчанию, который указан в конечной точке по умолчанию (даже в вашей расширенной конечной точке)? Я считаю, что основная проблема заключается в том, что в вашей расширенной сущности ARInvoice отсутствуют некоторые важные поля, которые есть в сущности Invoice, и именно это вызывает ошибку yout.