Ошибка при создании описания ошибки счета-фактуры. Эта запись уже существует в следующих таблицах. - PullRequest
0 голосов
/ 24 января 2019

Мы используем Business one sap sdk, и я создаю и выставляю счет-фактуру, и он работает нормально для 90 процентов клиентов, однако, похоже, что проблема связана со счетом продажи наличными, поскольку они используют один и тот же код счета каждый раз. Теперь проблема в том, что в нем говорится, что описание счета-фактуры такое же, и их для элемента уже существует в таблице счетов-фактур.

Obv Я использую биржевой код для поступающего товара, но может кто-нибудь сказать мне, что здесь происходит не так, и счет-фактура может иметь такое же описание товара для покупателя?.

Описание вводится через стандартный код, который мы передаем функции.

public string ProcessInvoice(out int errorCode, out string errorDescription, out int isProcessed, List<FuelPumpData> _unprocessedInvocies)
    {
        errorCode = 0;
        isProcessed = 0;
        errorDescription = "";


        try
        {
            decimal _pricePerLitre = GetPricePerLitre();
            SAPbobsCOM.Documents oInvoice = company.GetBusinessObject(BoObjectTypes.oInvoices);
            foreach (FuelPumpData _invoice in _unprocessedInvocies)
            { 

                oInvoice.DocDate = Convert.ToDateTime(_invoice.Date);
                oInvoice.CardCode = _invoice.CardCode;

                oInvoice.Lines.ItemCode = _invoice.FuelType;
                oInvoice.Lines.Quantity = (double)_invoice.FuelQty;
                oInvoice.Lines.PriceAfterVAT = (double)_pricePerLitre;
                oInvoice.Lines.UserFields.Fields.Item("U_TransTime").Value = _invoice.Time.ToString();
                oInvoice.Lines.UserFields.Fields.Item("U_KeyFob").Value = _invoice.KeyFob;


                oInvoice.Lines.Add();
                int addInvoice = oInvoice.Add();
                string docNo = company.GetNewObjectKey();
                if (addInvoice < 0)
                {
                    string errordescription = company.GetLastErrorDescription();
                    errorCode = company.GetLastErrorCode();
                    errorDescription = company.GetLastErrorDescription();
                    isProcessed = 0;
                    Console.Write("Error:" + company.GetLastErrorDescription());
                    UpdateProcessedFlag(_invoice.Code, (int)ImportErrorEnum.ErrorOccoured, docNo);//will change this to enum
                    log.Error(string.Format("Error creating invoice error description {0} {1} ", company.GetLastErrorDescription(), company.GetLastErrorDescription()));
                }
                else
                {
                    company.GetNewObjectCode(out docCode);
                    UpdateProcessedFlag(_invoice.Code, (int)ImportErrorEnum.Processed, docNo);//will change this to enum
                    log.Info("Invoice Created for " + _invoice.CardCode.ToString() + " Customer Name" + _invoice.CustomerName + " Transaction Time Of " + _invoice.Time);
                }
            }
        }
        catch (Exception ex)
        {
            errorCode = company.GetLastErrorCode();
            errorDescription = company.GetLastErrorDescription();
            log.Error(string.Format("Error creating invoice error description {0} {1} .net error {2} ", company.GetLastErrorDescription(), company.GetLastErrorDescription(), ex.StackTrace.ToString()));
        }
        return docCode;
    }

Я использую SDK справа, чтобы sap, а не odbc. Это именно та ошибка, которую я получаю.

2019-01-18 17: 46: 37.0972 - ОШИБКА: ошибка создания счета description [INV1.WhsCode] [line: 1], 'Эта запись уже существует в следующие таблицы (ODBC-2035) '[INV1.WhsCode] [строка: 1],' это запись уже существует в следующих таблицах (ODBC -2035) '

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...