Ни фига не понимаю блин..
в демобазе делаю как делал в первом сообщении..
потом в двух мануалах написано по разному
"10. В форме «Заказ на покупку» нажать кнопку «Обработка» > «Счет-фактура» и разнести фактуру от поставщика.
11. После разноски статус закупки стал «Оприходовано».
12. Просмотреть сформированную счѐт-фактуру, нажав в верхней части формы «Заказ на покупку» кнопку «Запросы» > «Фактура»."
Кнопки "Обработка" ну в упор не вижу, наверно это кнопка "Разноска" нажимаю не вижу там "Счет-Фактура" вижу только - "Заказ на покупку" - "Список Прихода" - "Отборочная накладная" - "Накладная"
Статус у заказа на покупку меняет только кнопка "Отборочная накладная" на статус "получено" и даже печатает её)
Нажимаю "НАКЛАДНАЯ"
потом нажимаю "ОК" и вот что выдает
Номер счета для операций с типом Покупка, приход не существует.
кликаю на нее два раза вот код...
Цитата:
private boolean check(SysModule _sysModule,
LedgerVoucher _ledgerVoucher,
boolean _checkDuplicate = true)
{
boolean ok = true;
boolean checkBlock;
LedgerPeriod ledgerPeriod;
COSMovements_Ledger COSMovements_Ledger;
LedgerTable ledgerTable;
;
// Validating transaction date
ledgerPeriod = LedgerPeriod::find(ledgerTrans.TransDate, ledgerTrans.PeriodCode);
if (!ledgerPeriod || ledgerTrans.TransDate > ledgerPeriod.PeriodEnd)
ok = checkFailed(strfmt("@SYS17614", ledgerTrans.TransDate));
if (ledgerPeriod.PeriodStatus != LedgerPeriodStatus::Open)
ok = checkFailed(strfmt("@SYS17615", ledgerTrans.TransDate));
if (ledgerTrans.PeriodCode == PeriodCode::Opening)
ok = checkFailed(strfmt("@SYS16774"));
ok = ledgerPeriod.checkModuleIsOpen(_sysModule, ledgerTrans.TransDate) && ok;
if (!_ledgerVoucher.checkPostingType(ledgerTrans.Posting))
ok = checkFailed(strfmt("@SYS25150", _sysModule));
this.checkOpeningTrans();
// Validating ledger account (and access rights)
if (! _ledgerVoucher.parmReversal())
{
if (!ledgerTrans.AccountNum)
{
ok = checkFailed(strfmt("@SYS24816", ledgerTrans.Posting));
}
if (accrualRefTableid && accrualRefRecid)
{
checkBlock = false;
}
else
{
checkBlock = _ledgerVoucher.parmCheckBlock();
}
if (!LedgerTable::checkAllowPosting(ledgerTrans.AccountNum,
ledgerTrans.Posting,
false,
checkBlock))
{
if (!LedgerParameters::find().AbortErrorAccount)
{
if (!this.parmLedgerAccount(LedgerSystemAccounts::accountNum(LedgerPostingType::ErrorAccount)))
{
ok = checkFailed(strfmt("@SYS24816", LedgerPostingType::ErrorAccount));
}
}
else
{
ok = checkFailed("@SYS21628");
}
}
// Find the account and then call the instance based nethods to validate the account.
ledgerTable = LedgerTable::find(ledgerTrans.AccountNum);
ok = ledgerTable.checkPostingType(ledgerTrans.Posting,false) && ok;
ok = Dimensions::checkDimension(ledgerTrans.Dimension, true,
_ledgerVoucher.parmCheckBlockedDimensions()) && ok;
ok = LedgerTable::checkDimension(ledgerTrans.AccountNum, ledgerTrans.Dimension) && ok;
ok = appl.dimensionSetValidation(false, company).checkDimension(ledgerTrans,
fieldnum(LedgerTrans, Dimension),
false) && ok;
ok = ledgerTable.checkUserId(curuserid()) && ok;
ok = ledgerTable.checkAccountCurrency(ledgerTrans.CurrencyCode,
(ledgerTrans.Posting == LedgerPostingType::ExchRateGain ||
ledgerTrans.Posting == LedgerPostingType::ExchRateLoss)) && ok;
}
// Validating amount
ok = LedgerVoucherTransObject::checkRoundOff(ledgerTrans.AccountNum, ledgerTrans.AmountMST) && ok;
ok = LedgerVoucherTransObject::checkRoundOffCur(ledgerTrans.AccountNum, ledgerTrans.CurrencyCode, ledgerTrans.AmountCur) && ok;
ok = LedgerVoucherTransObject::checkDebitCredit(ledgerTrans.AccountNum, ledgerTrans.AmountMST, this.parmCorrect()) && ok;
// Validate voucher
if (!ledgerTrans.Voucher)
{
ok = checkFailed("@SYS24569");
}
else
{
if (_checkDuplicate)
{
ok = LedgerParameters::checkDuplicate(ledgerTrans.Voucher, ledgerTrans.TransDate) && ok;
}
}
if (_ledgerVoucher.parmVoucherSeriesCode())
{
ok = this.checkLedgerPostingJournalId(_ledgerVoucher.parmVoucherSeriesCode()) && ok;
}
else
{
ok = this.checkLedgerPostingJournalId(this.ledgerVoucherSeries()) && ok;
}
// validate cost accounting
COSMovements_Ledger = COSMovements_Ledger::construct();
ok = COSMovements_Ledger.checkTrans(ledgerTrans) && ok;
return ok;
}