![]() |
#3 |
Administrator
|
Вместо
Код: inventJournalTrans.JournalId = #JournalNum; inventJournalTrans.JournalType = inventJournalTable.JournalType; Код: journalTransData.initFromJournalTable(); Кстати, можно обойтись без всех этих ритуальных танцев в JournalTableData и JournalTransData, а просто использовать Код: inventJournalTrans.initFromInventJournalTable(inventJournalTable); Код: inventJournalTrans.itemId = inventTable.itemId; inventJournalTrans.dimension = inventTable.dimension; inventJournalTrans.projCategoryId = inventTable.projCategoryId; Код: inventJournalTrans.initFromInventTable(inventTable); Код: //Инициализируем складскую аналитику ... Код: inventDim = inventJournalTrans.inventDim(); Код: //Инициализируем активную аналитику из настроке журнала для расчета количества inventDimParm = InventJournalTable::journalId2inventDimParm(inventJournalTable.JournalId); //*** Специфика заполнения строки для журнала инвентаризации *** //Подсчитаем и запишем значение количества запасов в наличии на текущую дату inventJournalTrans.inventOnHand = InventSumDatePhysicalDim::onHandQty( inventJournalTrans.transDate, inventJournalTrans.itemId, inventDim, inventDimParm); Код: inventJournalTrans.inventMovement().journalSetInventDimField(); Код: //Заполним номер документа ГК (если необходимо) if (inventJournalTable.voucherDraw == JournalVoucherDraw::Entering) journalTransData.initVoucher(voucher_last,false); //Присвоим номер строки журнала inventJournalTrans.lineNum = InventJournalTrans::lastLineNum(#JournalNum) + 1; //Добавим запись // !!! Внимание - по умолчанию при добавлении записи в строку журнала формируется // складская проводка. Чтобы этого избежать, необходимо вызывать insert c параметром true. inventJournalTrans.insert(); //Подсчитаем итоги по журналу journalTransData.addTotal(false,false); Код: inventJournalTrans.insertFromCode(); В целом, хотелось бы отметить, что для работы с журналами в Аксапте уже существует очень широкий набор функций. Создание строк журнала из кода - вполне типичная задача, которая решена много раз. Стоит посмотреть, как это делается в стандартном приложении.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|