AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Функционал
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.11.2017, 14:37   #1  
RSrd is offline
RSrd
Участник
 
9 / 12 (1) ++
Регистрация: 30.05.2013
Благодарю за ответы!

Да, в InventSum есть некорректная запись с ценой 1,5 миллиона вместо 500 рублей за штуку.

Как правильно в данном случае поступить?
Как исправить InventSum, проводки и желательно найти причину?
Старый 15.11.2017, 15:16   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от RSrd Посмотреть сообщение
Да, в InventSum есть некорректная запись с ценой 1,5 миллиона вместо 500 рублей за штуку.

Как правильно в данном случае поступить?
Как исправить InventSum, проводки и желательно найти причину?
0.
InventSum - главная таблица складского модуля.
InventSum - не доступна из штатного функционала на редактирование для пользователя
InventSum могут исправить либо алгоритмы аксапты, либо прямой запрос к базе данных.

другими словами, inventSum - как печень - должна работать как часы.
Принять быстрые меры конечно нужно.
но неправильные суммы в этой таблице означает, что у вас где-то ОЧЕНЬ плохо.
и, конечно же, нужно найти причину.

1.
Для исправления есть методы как интерфейса (исправляет все, работает долго), так и точечные из кода (исправляет то, что попросите. что именно просить остается за вами)

Обсуждалось неоднократно. Поищите.
Например, Пересчет inventSum

2.
Исправлять проводки НЕ нужно.
Нужно ДОБАВИТЬ коррекции.
так вы сохраните историю и сможете быть уверенными что все алгоритмы работают корректно.

Коррекция находится в Закрытии склада. Там была кнопка "коррекция проводок".
Откорректировать себестоимость можно в приходных проводках.
В расходных себестоимость должна автоматически пересчитаться после запуска закрытия или коррекции склада.

(у меня сейчас нет акс4 под рукой. на скриншоте акс2012 и английская. но думаю, будет понятно)

3.
и да, обязательно разберитесь и устраните причину.
скорее всего, у вас не одна неправильная проводка, а целая группа неправильных.
Миниатюры
Нажмите на изображение для увеличения
Название: ax6.PNG
Просмотров: 442
Размер:	61.8 Кб
ID:	11730  
__________________
полезное на axForum, github, vk, coub.
За это сообщение автора поблагодарили: Logger (1).
Старый 15.11.2017, 22:31   #3  
RSrd is offline
RSrd
Участник
 
9 / 12 (1) ++
Регистрация: 30.05.2013
Благодарю за подробные инструкции!

Однако:

1.
Пересчет InventSum пересчитывает его по InventTrans и больше ничего не происходит - я правильно понимаю?
У нас InventTrans соответствует InventSum, и оба неправильные, поэтому ничего не изменилось.

2.
Я выбрал все приходные проводки (см. скрин) - там все цены корректные - корректировать нечего.
Что можно здесь сделать?

3.
Да. Многие проводки по этой номенклатуре неверны - в тех случаях, когда товар резервировался со склада и цена считалась по InventSum. Если резерва не было и товар брался из заказа на покупку - цена корректная (второй скрин).


Что можно сделать дальше?
Миниатюры
Нажмите на изображение для увеличения
Название: Transaction Adjustments.jpg
Просмотров: 454
Размер:	133.5 Кб
ID:	11731   Нажмите на изображение для увеличения
Название: InventTrans.jpg
Просмотров: 367
Размер:	218.7 Кб
ID:	11732  

Старый 16.11.2017, 08:49   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Без паники!
Почти все разбирались с себестоимостью.
продано 6.10.17 две штуки за 8млн - это конечно круто.

Да, выглядит типично для неправильно сработавшего алгоритма.
Многие в акс4 прошли через багу. Если это бага, то теперь для баги решение давно уже есть. )
Кроме того, у вас могли работать какие-то алгоритмы, созданные вашими программистами.
А также могли быть неправильные исходные данные.

Впрочем... Давайте по порядку.


Цитата:
Сообщение от RSrd Посмотреть сообщение
Пересчет InventSum пересчитывает его по InventTrans и больше ничего не происходит - я правильно понимаю?
У нас InventTrans соответствует InventSum, и оба неправильные, поэтому ничего не изменилось.
да, пересчет только обновляет InventSum на основании inventTrans.
да, он ничего больше делать не должен.

Если неправильные данные в проводках продажи, то нужно будет добиться, чтобы пересчет и закрытие склада сработало правильно и вывело на правильную сумму.

Цитата:
Сообщение от RSrd Посмотреть сообщение
2.
Я выбрал все приходные проводки (см. скрин) - там все цены корректные - корректировать нечего.
Что можно здесь сделать?
ок. спасибо, что проверили. принято.
пока будем исходить из этого и оставим приходные проводки.
значит, надо разбираться с расходными. причем с суммой, которая появляется в момент разноски. А это мгновенная средняя которая берется из InventSum/

к вопросу вернемся позже.


Цитата:
Сообщение от RSrd Посмотреть сообщение
3.
Да. Многие проводки по этой номенклатуре неверны - в тех случаях, когда товар резервировался со склада и цена считалась по InventSum. Если резерва не было и товар брался из заказа на покупку - цена корректная (второй скрин).
Угу. Принято.

Сначала давайте обустроим рабочее место.
Во-первых, нужно на форму вытащить складскую аналитику.
Хотя бы ту, по которой установлен признак Финансовая (по ней считается себестоимость)
Кнопка Склад \ Отображение аналитики

Далее.
Придется попросить программистов вытащить вам два поля на грид: общую сумму и себестоимость единицы.
Попросите, чтобы программисты сразу перетащили эти поля в конец грида.

это dispaly-методы. всегда перетаскивал их мышкой на форму.
для программиста дело плевое, а консультанту добавляет мегатонны эффективности при разборе с себеоимостью.
см. скриншот

Далее.
Вытащите себе на грид поле Коррекция из вкладки Обновление.
Скройте поле с финансовой себестоимостью и финансовой датой (очень, похоже что вы используете только Invoice/Накладные).
измените названия полей так, чтобы было удобно.
сделать это можно самостоятельно правой кнопкой, Персонализация.

получится похоже на скриншот 3

даже если у вас не получится модифицировать форму,
то вы можете выгрузить данные в excel и там уже добавить формулы и расчетные величины. так, чтобы было удобно для анализа.


Цитата:
Сообщение от RSrd Посмотреть сообщение
Что можно сделать дальше?
Ок. Грамотный вопрос.

Как исправить
В расходных проводках себестоимость корректируется в соответствии в процедуре закрытия и пересчета склада: Какова бы ни была исходно рассчитанная, после пересчета склада сумма полей Posted+Adjustment должна давать правильную себестоимость.

Поэтому.
1.
Запускаете пересчет склада по вашей номенклатуре (сначала лучше в тестовой базе, а не в рабочей. и для быстроты эксперимента по одной номенклатуре, задайте фильтры)

2.
смотрите как изменилась себестоимость в расходных проводках.

2.1.
если после пересчета сум(Разнесено + Коррекция) дает правильную себестоимость, то с вашими алгоритмами все хорошо. вам нужно только разобраться откуда появляется изначальная неправильная. Продажи в минус? Что-то в карточке? Что-то исправили в процедуре резервирования?

2.2.
если после пересчета сум(Разнесено + Коррекция) продолжает давать дикое отклонение (скорее всего, с другим знаком), то поздравляю - у вас тот самый баг, про который говорил fed. самый простой способ победить баг - найти и установить обновления для ax4, после чего запустить пересчет склада.


Диагностика
после того как вы показали складскую аналитику и выполнили исправления, нужно разобраться с причиной.
нужно понять, не происходит ли отклонение по какому-то одному складу/партии.

далее стоит посмотреть в карточку товара, указана ли там какая-нибудь дикая цена для складских операций.
Вы говорите про резервирование. Но я подозреваю, что у вас происходит продажа в минус. В этом случае себестоимость берется не из InventSum, а из карточки товара.

Если в карточке нет подозрительного, то стоит проверить процедуру резервирования - создать заказ, указать номенклатуру и количество, при котором должны происходить "неправильные вещи", не разносить, посмотреть что создается в строчках заказа и в складских проводках до разноски. Может быть, в тестовой базе разнести и проверить разноску.

примерно так.
Миниатюры
Нажмите на изображение для увеличения
Название: price.PNG
Просмотров: 589
Размер:	163.4 Кб
ID:	11733   Нажмите на изображение для увеличения
Название: 2.PNG
Просмотров: 324
Размер:	95.4 Кб
ID:	11734  

Нажмите на изображение для увеличения
Название: 3.PNG
Просмотров: 334
Размер:	123.4 Кб
ID:	11735  
__________________
полезное на axForum, github, vk, coub.

Последний раз редактировалось mazzy; 16.11.2017 в 08:57.
За это сообщение автора поблагодарили: RSrd (1).
Старый 17.11.2017, 16:17   #5  
RSrd is offline
RSrd
Участник
 
9 / 12 (1) ++
Регистрация: 30.05.2013
Благодарю за оперативный ответ!

Вчера весь день экспериментировали с пересчетом и закрытием.
В карточке цены, судя по истории базы, были всегда корректные - менялись в пределах 100 рублей.

После пересчета склада цены не изменились.

Решили сделать закрытие склада на тестовой базе - после этого корректировки появились, и себестоимость в InventTrans похожа на правду.

Однако, в InventSum себестоимость - 36 рублей и не пересчитывается

Что касается обновления - по имеющейся информации, установлен последний кумулятивный апдейт.
Разбираюсь вот, где их найти.

Можно ли применить алгоритм закрытия по одной номенклатуре и без, собственно, закрытия?
И - что сделать в итоге с InventSum?
Миниатюры
Нажмите на изображение для увеличения
Название: AfterClosing.jpg
Просмотров: 436
Размер:	203.3 Кб
ID:	11739   Нажмите на изображение для увеличения
Название: Version.jpg
Просмотров: 419
Размер:	46.3 Кб
ID:	11740  

Старый 17.11.2017, 17:06   #6  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от RSrd Посмотреть сообщение
Однако, в InventSum себестоимость - 36 рублей и не пересчитывается
...
И - что сделать в итоге с InventSum?
InventSum должна содержать сумму ВСЕХ проводок.
не на дату, не за период. а ВСЕХ - прошлых, настоящих и будущих.
Если это не так - искать неправильный код.

Цитата:
Сообщение от RSrd Посмотреть сообщение
Можно ли применить алгоритм закрытия по одной номенклатуре и без, собственно, закрытия?
Закрытие - нельзя
Пересчет - можно.

Закрытие: это пересчет + пометка полностью сопоставленных проводок галочкой Закрыто. Проводки, помеченные галочкой Закрыто, больше не участвуют в процедуре расчета.

Ключевой момент - это производство и возвраты. при этих операциях из одной номенклатуры может появится другая номенклатура. поэтому себестоимость с одной номенклатуры может перейти (списаться) на другую номенклатуру.

Когда вы пересчитываете с фильтрами, то можете потерять такие переходы.
Закрытие будет считать все.
Миниатюры
Нажмите на изображение для увеличения
Название: 1.PNG
Просмотров: 423
Размер:	46.7 Кб
ID:	11741  
__________________
полезное на axForum, github, vk, coub.
Старый 17.11.2017, 17:23   #7  
RSrd is offline
RSrd
Участник
 
9 / 12 (1) ++
Регистрация: 30.05.2013
Цитата:
Сообщение от mazzy Посмотреть сообщение
Ключевой момент - это производство и возвраты. при этих операциях из одной номенклатуры может появится другая номенклатура. поэтому себестоимость с одной номенклатуры может перейти (списаться) на другую номенклатуру.

Когда вы пересчитываете с фильтрами, то можете потерять такие переходы.
Закрытие будет считать все.
Спасибо, проверим возвраты. Судя по всем - это то самое направление, где нужно рыть.
Я имел ввиду - можно ли сделать джоб, выполняюий закрытие, но понимаю, что это лишено смысла, и нужно использовать пересчет склада с правильными фильтрами.

Цитата:
Если в карточке нет подозрительного, то стоит проверить процедуру резервирования - создать заказ, указать номенклатуру и количество, при котором должны происходить "неправильные вещи", не разносить, посмотреть что создается в строчках заказа и в складских проводках до разноски. Может быть, в тестовой базе разнести и проверить разноску.
Да, я проверял: до и после резервирования цены выглядят нормально.
После разноски накладной - подтягивается некорректная цена из InventSum (до и после закрытия поведение - то же).

Последний раз редактировалось RSrd; 17.11.2017 в 17:28.
За это сообщение автора поблагодарили: mazzy (2).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Неверная сумма в проводке по отмене сопоставления с предоплатой АХ2009 ksenia DAX: Функционал 5 29.09.2016 17:33
Связь inventsettlement с расходными и приходными проводками inventtrans с одинаковым лотом Aquarius DAX: Программирование 1 23.05.2016 16:42
Странное поведение при закрытии склада-ошибка в коде? Aquarius DAX: Программирование 11 27.06.2013 13:37
Query из 7 таблиц Cornflower DAX: Программирование 29 15.03.2007 11:27
Связь таблиц InventTrans и PurchLine Pustik DAX: Программирование 2 25.11.2004 12:23
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:56.