Показать сообщение отдельно
Старый 11.03.2010, 16:37   #9  
IntoTheRain is offline
IntoTheRain
Участник
Аватар для IntoTheRain
 
42 / 20 (1) +++
Регистрация: 19.02.2010
Адрес: Санкт-Петербург
Ни фига не понимаю блин..

в демобазе делаю как делал в первом сообщении..

потом в двух мануалах написано по разному

"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;
}
__________________