05.09.2003, 06:19 | #1 |
Участник
|
Складская аналититика в журналах переноса
Axapta 3.0.
Для номенклатуры настроена группа складской аналитки следующим образом: Склад: первичная аналитика хранения, физ. наличие, финансовый склад. Номер ГТД: пропуск для расходов, физ. наличие, финансовый склад. На склад оприходована номенклатура. Для нее указан склад и номер ГТД. Делаем журнал переноса для этой номенклатуры с одного склада на другой. Как известно, при это создается как минимум две складских проводки: одна для расхода, другая для прихода. Проводка расхода идет с той же аналитикой, как мы ее оприходовали. А вот с проводкой прихода получается лажа. Склад у нее стоит правильный, тот, на который мы перемещаем (собственно, как я понимаю, он берется из строки журнала переноса). А номер ГТД пустой. То есть можно, конечно, поставить руками его в журнале, тогда все будет правильно, но ведь это крайне неудобно. В версии 2.5. проводка прихода учитывала аналитику расхода и номер ГТД автоматически брался оттуда. Здесь же такой механизм не работает. Подозреваю, что мы что-то не так настроили в группе складской аналитики, но что? |
|
08.09.2003, 11:31 | #2 |
NavAx
|
Действительно в Axapta 3.0 складская аналитика не переносится в журнале Перенос как в 2.5. Мы это кастомизировали.
|
|
08.09.2003, 11:54 | #3 |
Участник
|
Цитата:
Действительно в Axapta 3.0 складская аналитика не переносится в журнале Перенос как в 2.5.
Цитата:
Мы это кастомизировали.
|
|
08.09.2003, 13:11 | #4 |
NavAx
|
перекрой методы modified для конролов в grid или у полей в datasource и там переноси.
|
|
08.09.2003, 13:22 | #5 |
Участник
|
Цитата:
Изначально опубликовано raz
перекрой методы modified для конролов в grid или у полей в datasource и там переноси. У нас используется автоматическое резервирование, то есть пользователь в строках журнала не указывает номер ГТД, а номер этот автоматически берется системой из того, что есть в наличии. Поэтому проводка расхода формируется с имеющимся номером ГТД. Можно было бы, конечно, перехватывать процедуру резервирования и в строку журнала вставлять тот номер ГТД, с которым была создана проводка резервирования, однако как быть в случае, если перемещается, скажем, 10 единиц номенклатуры, 5 с одним ГТД и 5 с другим? По идее должно быть создано по 2 проводки расхода/прихода. То есть в строке журнала таким образом провести операцию не получится. Или придется делать две строки. В общем, чувствую я, что решение тут не простое. Блин, но ведь в 2.5 все работало без проблем! |
|
17.09.2003, 09:29 | #6 |
Участник
|
Нашел!
Ну вот, оказалось все не так уж сложно. Для тех, кому еще приспичит исправить вышеуказанный баг (или все же фичу?)
В классе InventMov_Jour_TransferIssue необходимо перекрыть два метода следующим образом: PHP код:
PHP код:
|
|
29.09.2003, 07:35 | #7 |
Участник
|
тут видимо оЧепЯтка
InventMovement newMovement_TransferReceipt() { return InventMov_Jour_TransferReceipt(inventJournalTrans, inventType); } а надо наверно InventMovement Movement_TransferReceipt() { return new InventMov_Jour_TransferReceipt(inventJournalTrans, inventType); } и что-то нифига автоматом не подставляет аналитики в журнал переноса... |
|
29.09.2003, 07:42 | #8 |
Участник
|
Да, прошу прощения. Конечно, new InventMov_Jour_TransferReceipt(inventJournalTrans, inventType);
|
|
29.09.2003, 07:54 | #9 |
Участник
|
попробовал настроить аналитику СКЛАД+SN
СКЛАД - первичная SN - пропускать при расходе в журнале переноса ставлю "ОТКУДА" : склад и SN "КУДА": только склад разношу , смотрю проводки - в приходной проводке нету SN видимо в приведенном коде чего-то не хватает ? |
|
29.09.2003, 08:16 | #10 |
Участник
|
Кхм. Честно говоря не знаю. Я проверял этот метод только с партиями и номером ГТД. Может быть, с серийниками есть какая-то особенность, которую я не учел? Или настройка должна быть специальная...
|
|
19.03.2004, 14:58 | #11 |
Участник
|
Я наверно торможу, но в классе InventMov_Jour_TransferIssue вообще нет указанных методов
|
|
19.03.2004, 15:30 | #12 |
Дмитрий Ерин
|
InventMovement
Цитата:
Изначально опубликовано Firestarter
Я наверно торможу, но в классе InventMov_Jour_TransferIssue вообще нет указанных методов
__________________
|
|
19.03.2004, 16:45 | #13 |
Участник
|
Re: InventMovement
Цитата:
Изначально опубликовано Ruff
Зато есть у предков. Корень у них InventMovement. Что упустил? Или modify в форме надо тоже изменить? Если да, то как? |
|
12.01.2006, 18:42 | #14 |
Злыдни
|
Подниму тему. Интересная такая фишка получается.
Проблема: стали появляться в системе журналы переноса, у которых проводка расхода идет с полной комбинацией складских аналитик, а в проводке прихода все аналитики пустые, только склад указан. Один из путей, как этого можно достичь: создаем строку журнала переноса, указываем со склада/на склад и, например, из партии. А в партию не указываем. Резервируем лот. Готово дело - проводка прихода с пустой аналитикой. Хорошо, но для партии у нас НЕ установлен "Пропуск для приходов". А журнал с легкостью разносится. Недолгие копания в коде скорее породили дополнительные вопросы, нежели ответы 1) Класс InventUpdate, метод updateTransDimTransferReceipt(InventTrans inventTransIssue, InventDim _inventDimIssueNew) В нем идет поиск проводки прихода для того, чтобы изменить аналитику/разбить проводку при изменении проводки расхода. Но поиск идет как-то странно: сначала делается merge аналитики прихода с аналитикой расхода PHP код:
PHP код:
2) Но это пол-беды. Почему появляется приходная проводка с пустой аналитикой, для которой "Пропуск для расходов" не установлен? Находим проверку в классе InventMov_Jour_Transfer PHP код:
Что интересно, в потомках этого класса InventMov_Jour_TransferIssue и InventMov_Jour_TransferReceipt эти методы не перекрыты. Вроде бы нигде в мануалах я не встречал указания на то, что галки "Пропуск для расходов" и "Пропуск для приходов" надо ставить только парами... Если второй пример (с галками) я склонен считать откровенной багой, то с первым у меня такой уверенности нет. Объясните - в чем тут глубинный смысл, которого я явно не догоняю? |
|
15.03.2016, 11:24 | #15 |
Участник
|
В Ax2009
аналитика Прихода автоматически дозополняется отсутствующей аналитикой из аналитики Расхода, т.е. если в Приходе не установлен ГТД, а в Расходе установлен, то в Приход будет проставлен ГТД из Расхода. Для нас такая ситуация не приемлема. В итоге в class InventMovement в метод mergeTransDimTransferReceipt внесли изменения: public InventDim mergeTransDimTransferReceipt(InventDim _toInventDim, InventDimGroupId _dimGroupId = this.dimGroupId(), InventDim _fromInventDim = this.inventdim(), InventDim _origFromDim = _fromInventDim) { // _toInventDim.mergeUsedDim(_dimGroupId,_fromInventDim); //Аналитика Прихода не объединяется с аналитикой Расхода, а берется в чистом виде.. _toInventDim = InventDim::find(_fromInventDim.inventDimId); return _toInventDim; } В складских журналах перенос все работает. Вопрос: не может ли это где-то в других случаях использоваться, т.е.не создадут ли эти изменения проблем в будующем в др. подзадачах? |
|
Теги |
ax3.0 |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|