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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.03.2018, 17:10   #1  
Cathome is offline
Cathome
Участник
Аватар для Cathome
 
54 / 23 (1) +++
Регистрация: 10.11.2010
Адрес: Москва
В общем, решила сделать класс, который будет делать то, что мне нужно. Но это оказалось весьма нетривиально.
Сначала думала отнаследоваться от InventCostClosingRecalc, но оказалось, не судьба, т.к. у него только статические конструкторы.
Тогда решила отнаследоваться от RunBaseBatch, но тут встал вопрос, как получить параметры из диалога пересчёта, ведь он запаковывается до того, как распаковывается мой класс. Использовала xSysLastValue, чтобы достать параметры пересчёта, и параметр getLastCalled, что бы это ни было (не смогла нагуглить о нём ничего вразумительного), для того, чтобы делать это только при создании пакетного задания, но не при его просмотре и запуске.

Всё это наводит лишний раз на мысль о том, что я чего-то не понимаю в стандартном функционале пересчёта, если никому до нас это не надобилось.
__________________
"казалось бы, зачем виртуализировать виртуализаторы виртуализаторов виртуальных ява-машин, но Оракл было уже не остановить..." © Башорг
Старый 27.03.2018, 18:53   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Cathome Посмотреть сообщение
Делаем это руками - до тех пор, пока при очередном пересчёте не будет чисто в плане сопоставлений. Это занимает 3-4 повторения.
...
В общем, я думаю над тем, чтобы сделать класс, который бы запускался в пакетном режиме и крутил бы пересчёт по условию.
скорее всего, не надо делать никакого класса.

у стандартного функционала есть два параметра

1. число повторений. по умолчанию = 100
2. минимальное изменение себестоимости. по умолчанию = 1

это значит, что стандартный функционал будет повторять процедуру закрытия до тех пор,
ПОКА себестоимость изменяется сильно (больше, чем второй параметр)
ИЛИ будет выполнено максимальное число повторений

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

обычно ставят минимальное изменение = 0.01 (1 копейка)
это очень маленький порог. округления сумм дают не меньше копейки. поэтому из-за округлений, значение 0.01 не работает как нужно.
нужно поставить хотя бы 0.02. на самом деле 1 вполне хорошее допущение.

а вот первый параметр обычно оставляют по умолчанию = 100.
хотя в вашем случае "3-4 повторения" означает, что фактически вы делаете 300-400 итераций.

поэтому поставьте в первый параметр 400 или 500.
а второй параметр не уменьшайте слишком близко к 0.01, сделайте 1.0 или хотя бы 0.10
Миниатюры
Нажмите на изображение для увеличения
Название: 1.PNG
Просмотров: 392
Размер:	73.2 Кб
ID:	11865   Нажмите на изображение для увеличения
Название: 2.PNG
Просмотров: 445
Размер:	73.7 Кб
ID:	11866  

__________________
полезное на axForum, github, vk, coub.

Последний раз редактировалось mazzy; 27.03.2018 в 18:55.
За это сообщение автора поблагодарили: alex55 (1).
Теги
пересчет себестоимости, складские запасы

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
модификация taxTrans_RU в пакетном режиме в классе GoodsInRouteUpdate_RU Владимир Максимов DAX: Программирование 0 13.08.2015 18:13
DAX 2009 - Трассировка долгих SQL-запросов в пакетном режиме N.D.P. DAX: Администрирование 4 18.03.2015 09:13
Denis Fedotenko: Себестоимость и закрытие склада Blog bot DAX: База знаний и проекты 44 29.03.2010 14:54
Вывод отчета в файл в пакетном режиме Egor_bl DAX: Программирование 3 09.11.2006 09:36
Вывод отчета в файл в пакетном режиме Egor_bl DAX: Программирование 16 09.10.2006 19:10
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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