27.12.2011, 23:51 | #1 |
Участник
|
Не разносятся верно складские журналы
Прошу подсказать возможные причины следующего.
Разношу складской журнал типа Перенос, апдейтятся все нужные таблицы (InventTrans и так далее), но в LwdgerTrans операция не фиксируется. Счета у складов с которого (Счёт ГК) и на который переношу (Корр. счёт) разные. Спасибо. Последний раз редактировалось Cardagant; 27.12.2011 в 23:56. |
|
28.12.2011, 00:01 | #2 |
Ищущий знания...
|
Цитата:
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
28.12.2011, 00:02 | #3 |
Участник
|
Версия: DAX 2009
|
|
28.12.2011, 00:18 | #4 |
Ищущий знания...
|
Разноску запасов настроили (Управление запасами \ Настройка \ Разноска \ Разноска)?
Там на форме на вкладке Запасы необходимо сделать настройки для Расхода, Прихода, Внутрихолдинговые расчеты с клиентами, Внутрихолдинговые расчеты с поставщиками. P.S. вот тут об одном приколе на эту тему писал...
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
28.12.2011, 00:25 | #5 |
Участник
|
Да, все настройки в форме Управление запасами \ Настройка \ Разноска \ Разноска сделаны верно.
|
|
28.12.2011, 00:41 | #6 |
Microsoft Dynamics
|
Цитата:
В стандартной функциональности разноска в ГК будет выполняться только в случае, если при переносе изменяется сайт или, при использовании российских профилей учета, изменяется профиль учета. Еще есть зависимость от российского параметра: Управление запасами\ Настройка\ Параметры\ Разное\ Финансовая разноска\ Журналы переноса и заказы на перемещение. В последних ролапах AX2009 эта логика еще докручивалась, чтобы учитывать счета разноски, соответствующие профилям учета. Если у вас есть модификации разноски в зависимости от складов, они тоже должны быть вписаны в эту логику. В общем, чтобы понять логику и от чего она зависит, смотрите метод класса InventMov_Jour_Transfer.mustBeBookedFinancially(), из него все должно быть очевидно. |
|
|
За это сообщение автора поблагодарили: lev (5). |
28.12.2011, 00:47 | #7 |
Ищущий знания...
|
Цитата:
Сообщение от gene
Что означает "счета у складов"? В стандартной функциональности счета разноски движений номенклатуры не зависят от складов. У вас сделаны какие-то модификации?
В стандартной функциональности разноска в ГК будет выполняться только в случае, если при переносе изменяется сайт или, при использовании российских профилей учета, изменяется профиль учета. Еще есть зависимость от российского параметра: Управление запасами\ Настройка\ Параметры\ Разное\ Финансовая разноска\ Журналы переноса и заказы на перемещение. В последних ролапах AX2009 эта логика еще докручивалась, чтобы учитывать счета разноски, соответствующие профилям учета. Если у вас есть модификации разноски в зависимости от складов, они тоже должны быть вписаны в эту логику. В общем, чтобы понять логику и от чего она зависит, смотрите метод класса InventMov_Jour_Transfer.mustBeBookedFinancially(), из него все должно быть очевидно.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
28.12.2011, 00:59 | #8 |
Участник
|
Цитата:
Спасибо вам за советы. Завтра посмотрю подробнее места, указанные вами. |
|
28.12.2011, 00:59 | #9 |
Ищущий знания...
|
Ещё хочется добавить.
Если вы используете складскую аналитику "Профиль учета", то посмотрите вот эту тему (ссылка дана сразу на нужное сообщение от fed), она поможет вам избежать проблем с задвоением InventTransPosting'ов, при рпзноске переносов.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
28.12.2011, 16:45 | #10 |
Участник
|
Посмотрел согласно вашим советам места в системе, всё верно. Так что здесь что-то ещё не так...
|
|
28.12.2011, 16:50 | #11 |
Ищущий знания...
|
А у вас метод mustBeBookedFinancially() класса InventMov_Jour_Transfer модифицирован?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
28.12.2011, 16:55 | #12 |
Участник
|
|
|
28.12.2011, 17:01 | #13 |
Участник
|
Вот код этого метода в системе:
X++: boolean mustBeBookedFinancially() { InventDim inventDimTo; InventDim inventDimFrom; ; if (CompanyInfo::features_W() == CRSEFeatures_W::RU && !InventParameters::find().EnableTransferFinancialPosting_RU) { inventDimFrom = inventJournalTrans.inventDim(); inventDimTo = inventJournalTrans.toInventDim(); if (inventDimFrom.InventProfileId_RU == inventDimTo.InventProfileId_RU) { return false; } } if (InventParameters::find().InventPosting_ZTR) { if (this.accountBalanceSheet() == this.accountOperations())/* || this.accountOperations() && this.storno_RU()*/)//!!storno_RU return false; return true; } else if (!InventParameters::find().EnableTransferFinancialPosting_RU) { return false; } if (inventJournalTrans.InventTransId == inventJournalTrans.ToInventTransId || !inventJournalTrans.ToInventTransId) return false; if (!super()) return false; inventDimFrom = inventJournalTrans.inventDim(); inventDimTo = inventJournalTrans.toInventDim(); if (CompanyInfo::features_W() == CRSEFeatures_W::RU && inventDimFrom.InventProfileId_RU != inventDimTo.InventProfileId_RU) { return true; } if (inventDimFrom.InventSiteId != inventDimTo.InventSiteId) { return true; } if (!InventDim::isInventDimEqualItemDim(this.dimGroupId(), inventDimFrom, inventDimTo)) { return true; } return false; } |
|
28.12.2011, 17:08 | #14 |
Ищущий знания...
|
как раз он НЕ должен быть модифицирован
т.е. в стандартной системе, при наличии выше описанных в теме настроек, проводки по переносам создаются (вчера вечером протестил). если у Вас проводки не создаются, значит скорее всего в системе были какие либо доработки. Проверка на возможность формирования фин операций в системе выполняется в указанном методе (mustBeBookedFinancially()).
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
28.12.2011, 17:14 | #15 |
Участник
|
Цитата:
Сообщение от lev
как раз он НЕ должен быть модифицирован
т.е. в стандартной системе, при наличии выше описанных в теме настроек, проводки по переносам создаются (вчера вечером протестил). если у Вас проводки не создаются, значит скорее всего в системе были какие либо доработки. Проверка на возможность формирования фин операций в системе выполняется в указанном методе (mustBeBookedFinancially()). Такой вопрос ещё, быть может подскажете где происходит инициализация сумм для разноски журнала Перенос? |
|
28.12.2011, 17:15 | #16 |
Ищущий знания...
|
Цитата:
Сообщение от Cardagant
Вот код этого метода в системе:
X++: boolean mustBeBookedFinancially() { InventDim inventDimTo; InventDim inventDimFrom; ; if (CompanyInfo::features_W() == CRSEFeatures_W::RU && !InventParameters::find().EnableTransferFinancialPosting_RU) { inventDimFrom = inventJournalTrans.inventDim(); inventDimTo = inventJournalTrans.toInventDim(); if (inventDimFrom.InventProfileId_RU == inventDimTo.InventProfileId_RU) { return false; } } if (InventParameters::find().InventPosting_ZTR) { if (this.accountBalanceSheet() == this.accountOperations())/* || this.accountOperations() && this.storno_RU()*/)//!!storno_RU return false; return true; } else if (!InventParameters::find().EnableTransferFinancialPosting_RU) { return false; } if (inventJournalTrans.InventTransId == inventJournalTrans.ToInventTransId || !inventJournalTrans.ToInventTransId) return false; if (!super()) return false; inventDimFrom = inventJournalTrans.inventDim(); inventDimTo = inventJournalTrans.toInventDim(); if (CompanyInfo::features_W() == CRSEFeatures_W::RU && inventDimFrom.InventProfileId_RU != inventDimTo.InventProfileId_RU) { return true; } if (inventDimFrom.InventSiteId != inventDimTo.InventSiteId) { return true; } if (!InventDim::isInventDimEqualItemDim(this.dimGroupId(), inventDimFrom, inventDimTo)) { return true; } return false; } X++: if (InventParameters::find().InventPosting_ZTR) { if (this.accountBalanceSheet() == this.accountOperations())/* || this.accountOperations() && this.storno_RU()*/)//!!storno_RU return false; return true; } else if (!InventParameters::find().EnableTransferFinancialPosting_RU) { return false; } 2. И ещё разок на всякий случай спрошу, в параметрах галка "Журнал переноса и заказ на перемещение" (EnableTransferFinancialPosting_RU) стоит? 3. Ещё нужно разобраться, что у Вас возвращают методы this.accountBalanceSheet() и this.accountOperations(), может быть в них ещё что то дописано. В общем нужно воспользоваться дебагером и потрассировать разноску журнала переноса.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
28.12.2011, 17:17 | #17 |
Ищущий знания...
|
Цитата:
может у вас какие то ещё проверки написаны не только в этом методе?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
28.12.2011, 17:19 | #18 |
Ищущий знания...
|
Цитата:
Сообщение от lev
вот этих строк в стандарте нет:
X++: if (InventParameters::find().InventPosting_ZTR) { if (this.accountBalanceSheet() == this.accountOperations())/* || this.accountOperations() && this.storno_RU()*/)//!!storno_RU return false; return true; } else if (!InventParameters::find().EnableTransferFinancialPosting_RU) { return false; }
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
28.12.2011, 17:23 | #19 |
Ищущий знания...
|
Цитата:
надеюсь народ, кто точно знает, либо подтвердит, мои предположения, либо напишет как есть на самом деле.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
28.12.2011, 17:23 | #20 |
Участник
|
При дебаге было видно, что AmountMST и AmountCur, CostAmount нулевые, хотя определены параметры количество и цена в строке журнала. Возможно, суммы некорректно передаются в ваучер?
Последний раз редактировалось Cardagant; 28.12.2011 в 17:31. |
|