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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.05.2010, 20:56   #1  
Andrux is offline
Andrux
Участник
Axapta Retail User
 
263 / 17 (1) ++
Регистрация: 29.05.2007
Удаление InventSettlemens
Вопрос глупый, но все же
если отменить все пересчеты себестоимости, удалить проводки по этип операциям (в ГК), и удалить все записи в InventSettlements, а затем пересчитать себестоимость, что будет?
Старый 14.05.2010, 21:18   #2  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Записи в InventSettlement относятся не только к закрытию склада и корректировкам. Например, к корректировке себестоимости, разноске накладных расходов.

В общем, плохо будет.

Посмотрите функцию суммирования сопоставлений. Или она очисткой сопоставлений называется.
__________________
С уважением,
glibs®
За это сообщение автора поблагодарили: aidsua (2).
Старый 14.05.2010, 22:01   #3  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 868 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Удалить можно те, что с Canceled = 1
За это сообщение автора поблагодарили: mazzy (2).
Старый 15.05.2010, 20:58   #4  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1296 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
е
Цитата:
сли отменить все пересчеты себестоимости
нет проблем, это штатный механизм Аксапты.
Цитата:
удалить все записи в InventSettlements
Если пересчеты и закрытия себестоимости отменены, то записи в InventSettlements никак не влияют на баланс главной книги (с точки зрения российских ПБУ возможны проблемы из-за разницы сторно и реверса операций).
Цитата:
удалить проводки по этип операциям (в ГК)
Абсолютно лишняя операция. Отмена закрытия (пересчета) и так скорректирует операции по ГК. Опять же, если забыть про корреспонденцию счетов, то операция совершенно законная. Если добавить российские правила, то есть небольшие проблемы
Цитата:
удалить все записи в InventSettlements
Не нужно. Отмена пересчетов или закрытий отмечает записи в InventSettlements как не активные. Эти неактивные записи можно удалить стандартной периодической операцией.
PS: в общем, если вы не скрыли какие-то неочевидные особенности, то задачу вполне можно решить стандартными средствами. (если же сказали не все, то нужно думать, как решить задачу)
За это сообщение автора поблагодарили: mazzy (2).
Старый 17.05.2010, 12:27   #5  
Zabr is offline
Zabr
Участник
Axapta Retail User
 
1,202 / 345 (14) ++++++
Регистрация: 26.06.2002
Адрес: Москва
Цитата:
Сообщение от Wamr Посмотреть сообщение
Удалить можно те, что с Canceled = 1
В таком случае, непонятно отсутствие во всех индексах на таблице поля Canceled (я уж молчу об отдельном индексе под это дело...). То есть, похоже, разработчики таким вот образом как бы намекают, что не стоит этого делать...
Старый 17.05.2010, 13:20   #6  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,913 / 5736 (197) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от Zabr Посмотреть сообщение
В таком случае, непонятно отсутствие во всех индексах на таблице поля Canceled (я уж молчу об отдельном индексе под это дело...). То есть, похоже, разработчики таким вот образом как бы намекают, что не стоит этого делать...
В таком случае, непонятно наличие оператора
X++:
delete_from inventSettlement
        index hint ItemDateIdx
        where inventSettlement.ItemId       == _inventTable.ItemId              &&
              inventSettlement.Cancelled    == NoYes::Yes                       &&
              inventSettlement.SettleModel  != InventSettleModel::PhysicalValue &&
              inventSettlement.TransDate    <  transDateDel;
в методе inventCostCleanup.updateDelSettlement(). На что же нам намекают его авторы ?

А если говорить по делу, то та функциональность которая нужна топикстартеру присутствует в этом самом классе inventCostCleanup. Разница только в том, что он проводки по ГК не удаляет, а сторнирует. (О чем уже было сказано Raven Melancholic).
Если написать свой класс, который удаляет отмененные записи в inventSettlement, проводки по ГК (с аккуратным пересчетом балансов в ledgerBalanceDim / LedgerBalanceDimTrans) и сопутствующую запись в inventClosing, то можно добиться полного удаления следов закрытия/пересчета склада. Я конечно знаю, что это методологически неверно, но во время запуска системы мне приходилось для устранения последствий собственных ошибок такие классы писать.

Последний раз редактировалось fed; 17.05.2010 в 13:22.
Старый 18.05.2010, 13:15   #7  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Zabr Посмотреть сообщение
В таком случае, непонятно отсутствие во всех индексах на таблице поля Canceled (я уж молчу об отдельном индексе под это дело...). То есть, похоже, разработчики таким вот образом как бы намекают, что не стоит этого делать...
А по-моему, "отсутствие в индексах" - просто ошибка.
Причем понятно откуда она взялась - просто не тестируют с отмененными закрытиями.
__________________
полезное на axForum, github, vk, coub.
Старый 18.05.2010, 14:24   #8  
Zabr is offline
Zabr
Участник
Axapta Retail User
 
1,202 / 345 (14) ++++++
Регистрация: 26.06.2002
Адрес: Москва
Цитата:
Сообщение от mazzy Посмотреть сообщение
А по-моему, "отсутствие в индексах" - просто ошибка.
Да, конечно, про намёки я ж просто пошутил. У меня например inventsettlement - 53 млн. записей на 28 Гб (данные+индексы),.
Старый 18.05.2010, 16:00   #9  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1850 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от mazzy Посмотреть сообщение
А по-моему, "отсутствие в индексах" - просто ошибка.
Причем понятно откуда она взялась - просто не тестируют с отмененными закрытиями.
Ну это как посмотреть. Если регулярно проводить ТО системы, включающее удаление отмененных сопоставлений в прошлых периодах, то селективность и соответственно польза от такого индекса радостно стремится к нулю. Так что если вы N-цать лет экспериментировали с закрытием склада и не чистили InventSettlement, то соотношение "хороших" и "плохих" сопоставлений и количество данных будут такие, что оптимизатору будет дешевле запустить один table scan чем миллионы раз метаться от записей в индексе к страницам с данными. В этом случае очистка частями по дате сопоставления (TransDate) вам в помощь, благо поле проиндексировано неоднократно
__________________
-ТСЯ или -ТЬСЯ ?
За это сообщение автора поблагодарили: mazzy (2), Zabr (1).
Старый 18.05.2010, 17:47   #10  
Zabr is offline
Zabr
Участник
Axapta Retail User
 
1,202 / 345 (14) ++++++
Регистрация: 26.06.2002
Адрес: Москва
Цитата:
Сообщение от Vadik Посмотреть сообщение
то селективность и соответственно польза от такого индекса радостно стремится к нулю.
Это да, но меня на самом деле интересовала скорость чистки, сколько времени моя база будет шуршать по 53 миллионам записей без индекса по нужному полю.
Теги
пересчет себестоимости, удаление

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Автоматическое удаление AX 4.0 HISS DAX: Администрирование 3 16.10.2010 20:39
Ax 3. Запускаю на сервере удаление файла. Не удаляет. Arahnid DAX: Администрирование 17 05.02.2010 16:05
Корректное удаление проводки DreamCreator DAX: Программирование 7 25.05.2006 13:22
Удаление проекта Maxim Gorbunov DAX: Программирование 0 24.12.2001 23:04

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

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

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