Ошибка исключения при создании счета на продажу с использованием примера кода SDK Sage50 Canada 2019 - PullRequest
0 голосов
/ 14 октября 2019

Получение ошибки: SimplySDK.SimplyErrorMessageException: 'Your chequing account is overdrawn. See the Advice topic "Managing Your Cash Flow" for suggestions.' Я использую следующий пример кода SDK для создания счета-фактуры:

// Sales Invoice Example
SalesJournal salJourn = SDKInstanceManager.Instance.OpenSalesJournal();

// Cash
salJourn.SelectTransType(0);  // invoice
salJourn.InvoiceNumber = orderNumber;
salJourn.SelectAPARLedger("harish");
salJourn.SelectPaidByType("Cash");
salJourn.SelectPaidDepositAccount(MakeAccountNumber(1060).ToString());
salJourn.SetItemNumber("CR-10", 1);
salJourn.SetQuantity(1, 1);
salJourn.SetUnit("Hour", 1);
salJourn.SetDescription("Computer Repair - No Warranty", 1);
salJourn.SetPrice(90.00, 1);
salJourn.SetLineAmount(90.00, 1);
salJourn.SetLineAccount(MakeAccountNumber(SDK_ACCTINVREV).ToString(), 1);

salJourn.SetDescription("Item #2", 2);
salJourn.SetQuantity(2, 2);
salJourn.SetUnit("Each", 2);
salJourn.SetPrice(0.99, 2);

salJourn.SetLineAccount(MakeAccountNumber(SDK_ACCTINVREV).ToString(), 2);
// allocate projects
ProjectAllocation projAlloc = salJourn.AllocateLine(2);
projAlloc.SetProject("Sage Project", 1);
try
{
   projAlloc.SetPercent(50.0, 1);
}
catch (SimplyNoAccessException)
{
   // can't allocate by percent, allocation by amount
   projAlloc.SetAmount(0.99, 1);
}
projAlloc.Save();
salJourn.SetComment("Paid by cash");
var salecreateRes = salJourn.Post();
if (salecreateRes)
{
    Console.WriteLine("Sales invoice 'SJ 1' posting succeeded");
}
else
{
     Console.WriteLine("Sales invoice 'SJ 1' posting failed");
}

Не понимаю, почему возникла ошибка создания учетной записи при создании простого счета-фактуры. Я использую этот SDK с пробным программным обеспечением с одной учетной записью, может ли это быть причиной?

1 Ответ

0 голосов
/ 14 октября 2019

хорошо, я заменил учетную запись в этой строке salJourn.SelectPaidDepositAccount(MakeAccountNumber(1060).ToString())

изменил 1060 на 1020, который является денежным счетом («Денежные средства для депозита»), после чего я получаю сообщение об успехе. и удалил следующий код, мне это не нужно

// allocate projects
ProjectAllocation projAlloc = salJourn.AllocateLine(2);
projAlloc.SetProject("Sage Project", 1);
try
{
   projAlloc.SetPercent(50.0, 1);
}
catch (SimplyNoAccessException)
{
   // can't allocate by percent, allocation by amount
   projAlloc.SetAmount(0.99, 1);
}
projAlloc.Save();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...