08.02.2005, 15:37 | #1 |
Участник
|
уважаемые господа,
буду очень признателен всем кто даст какие нибудь пояснения по следующему вопросу: часть заказов на отгрузку имеют тип "Контракт" при пересчете данные заказы (строки заказов) игнорируются (на них не падает коррекция) коррекция появляется только при закрытии это глюк, или имеются какие-то разумные объеснения данному факту |
|
08.02.2005, 22:15 | #2 |
Участник
|
Перефразируйте вопрос и уточните, чем вы занимаетесь.
|
|
09.02.2005, 09:53 | #3 |
Участник
|
Если мне не изменяет память, то по строкам в заказах и закупках с типом "Контракт" не создается проводок. Можно посмотреть в запросе "Склад"-"Проводки". Если нет проводок, то что пересчитывать?
|
|
09.02.2005, 14:37 | #4 |
Участник
|
вношу пояснения: занимаюсь я пересчетом себестоимости и закрытием склада,
(типа кнопки нажимаю: управление запасами /периодические операции/закрытие и коррекция), а суть проблемы в строках заказов порожденых от заказа с типом контракт (и соответственно пересчетом их себестоимости) с уважением, готов внисти любые дополнения по вашим просьбам |
|
15.02.2005, 13:38 | #5 |
Участник
|
Неохота ковырятся в базе... посмотрите заполнено ли поле "Ссылка на лот" в ваших проводках которые не пересчитываются?
|
|
22.02.2005, 21:26 | #6 |
Участник
|
Хм... действительно пересчет не корректирует проводку расхода, созданную заказом, который в свою очередь создан из контракта. Наверное, это бага...
Только я никогда не запускал пересчет. А для чего вам это понадобилось? |
|
10.03.2005, 11:33 | #7 |
Участник
|
"Бага" эта известная. Хотя некоторые утверждают, что это не "бага", а "фича".
Эта "бага-фича", проявляет себя еще и когда ЗАКУПКА созданна на основании контракта: такая закупка не будет учавствовать в сопоставлении с расходами при пересчете. Данная проблема связана с тем, что у таких закупок и заказов (которые созданны на основании контракта), складские проводки имеют заполненное поле "Ссылка на лот". Как известно, данное поле, кроме всего прочего, указывает из какого лота прихода, взять себестоимость для лота расхода. В нашем же случае эти ссылки на лоты содержат номера лотов, которых нет в таблице складских проводок, а есть только в строках заказов или строках закупок. Это те самые строки контрактов на основании которых мы создавали заказы или закупки. И как известно, строки контрактов не создают складских проводок. А следовательно и не имееют складской себестоимости. В классе InventCostItemDim, есть следующие методы: 1. protected void load(InventDim _inventDimCriteria) 2. protected void updateSettleRefItem(ItemId _itemId) в этих методах вы увидите запросы в которых встречается такое условие: <div class='XPPtop'>X++</div><div class='XPP'> inventTrans.InventRefTransId [color=:blue]==[/color] [color=:red]''[/color]</div> или <div class='XPPtop'>X++</div><div class='XPP'> inventTrans.InventRefTransId != [color=:red]''[/color]</div> но, помимо того что мы выбираем проводки с заполненными или незаполненными InventRefTransId, нам еще следует проверять, имеется ли проводка с таким лотом в InventTrans. Зачем такая проверка, я думаю совершенно очевидно. При небольшой корректировке этих запросом мы добиваемся правильного пересчета. Все. Проверенно временем. |
|