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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.09.2004, 11:01   #1  
djoker is offline
djoker
Участник
Аватар для djoker
 
83 / 10 (1) +
Регистрация: 28.05.2004
Адрес: Красноярск
? Создание системы накопительных скидок
Здравствуйте, значит задача такая:
Добавить в систему возможность начисления накопительной скидки при расчете с клиентами.

Я пошел следующим образом:
я перерабатывал следующие объекты:

\Forms\PriceDiscActivationPurch
\Forms\PriceDiscGroup
\Projects\ETK_AccumulateDiscUpgrade\CustomerObjects
\Forms\PriceDiscTable
\Data Dictionary\Tables\PriceDiscTable
\Data Dictionary\Base Enums\PriceType
\Data Dictionary\Tables\PriceDiscGroup
\Data Dictionary\Base Enums\PriceGroupType
\Data Dictionary\Tables\PriceAccumDiscGroupValues
\Data Dictionary\Tables\PriceAccumDiscGroup
\Forms\PriceAccumDiscGroup

т.е. добавил в перечислимый тип скидки - свой "накопительная скидка"
переделал кнопки и т.д., но весь гемморой в том, что между модулями Заказы/Закупки используется одна форма - Группы Цен/Скидок -> Коммерческие соглашения -> цена.
И все поля на гриде и кнопки изменяются программно - смотря из какого модуля запущены...

Вот теперь конкретно - что не получается: Как мне оставить при выборе "накопительная скидка" - в форме "Цены" только нужные поля, тобишь "валюта, скидка, сумма, про.ск.1,2 и т.д."
Кто делал может, ПОМОГИТЕ. заранее спасибо.
__________________
Смотрим в книгу - видим фигу.
Старый 29.09.2004, 13:18   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
я бы предложил способ с меншими модфикациями.

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

Периодическим заданием вы рассчитываете уровень накопительной скидки и устанавливаете в параметре клиента соответствующий код общей скидки.

В заказе ничего динамически не рассчитывается. Код менять не надо.
Надо только дописать логику, которая изменяет параметр в клиенте.

Отвечая на ваш вопрос. В init формы вроде все прописано control.visible(boolean). Что конкртено непонятно? Есть ли универсальный механизм? Нет, универсального для нового типа скидок нет. Надо switch'ик расширять. Везде, где идет работа с ценами.
Старый 29.09.2004, 13:52   #3  
djoker is offline
djoker
Участник
Аватар для djoker
 
83 / 10 (1) +
Регистрация: 28.05.2004
Адрес: Красноярск
Если я правильно понял - берем оборот по клиенту, выбираем из таблицы скидку, соответствующему этому обороту, затем пихаем это значение в "общую скидку" и далее рассчитываем как обычно...
Да, но как тогда расчитывать дополнительно "Общую скидку"?
__________________
Смотрим в книгу - видим фигу.
Старый 29.09.2004, 13:58   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Общая скидка рассчитывается в заказе в кнопке Функции в нижней части окна.
Хорошо, используйте скидки по строке. Если у вас проблемы с общей.

Главное: не программируйте
Сделайте несколько групп скидок и перемещайте клиента дополнительным заданием между этими группами.

По русски это звучит следуюшим образом: периодически перемещайте вашего клиента в другую колонку прайс-листа.
Программист должен запрограммировать только логику, которая решает, в какую колонку надо переместить клиента.
Старый 29.09.2004, 16:34   #5  
Lazy_Tiger is offline
Lazy_Tiger
NavAx
Axapta Retail User
1C
NavAx Club
 
610 / 31 (3) +++
Регистрация: 17.12.2001
Адрес: Красноярск
Mazzy на 200% прав! (Как почти всегда)

Мы тоже начали писать свой механизм скидок... И только сделав прочитали таки документацию
Не тот случай когда вообще нужно программировать
__________________
И все они создания природы...
Старый 30.09.2004, 05:19   #6  
djoker is offline
djoker
Участник
Аватар для djoker
 
83 / 10 (1) +
Регистрация: 28.05.2004
Адрес: Красноярск
Спасибо, за участие! Будем делать ...
__________________
Смотрим в книгу - видим фигу.
Старый 30.09.2004, 08:24   #7  
djoker is offline
djoker
Участник
Аватар для djoker
 
83 / 10 (1) +
Регистрация: 28.05.2004
Адрес: Красноярск
Процесс оказался легче чем я думал - занял всего 20 минут.
Работает следующим образм:
В группе общей скидки мы создаем например гр. Накопительной скидки, и указываем в ней значения, сумма - процент скидки.
Затем в форме заказы указываем в гр.Общей скидки - Нашу группу накопительной скидки,



и в строках выполняем расчет "Накопительной скидки",



система укажет скидку, взависимости от оборота по клиенту...



ну и всё.
Может кто может посоветовать как доработать/улучшить буду благодарен.
Прикрепленный файл проекта - AccumDiscUpgrade
Вложения
Тип файла: rar accumdiscupgrade.rar (36.1 Кб, 39 просмотров)
Тип файла: img45196-1 (76.0 Кб, 344 просмотров)
Тип файла: img45196-2 (28.9 Кб, 481 просмотров)
Тип файла: img45196-3 (39.0 Кб, 314 просмотров)
__________________
Смотрим в книгу - видим фигу.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Каков процент внедрений "стандартной" поставки системы Аксапта? coolibin DAX: Прочие вопросы 17 10.02.2009 12:45
Слабые и сильные стороны системы Axapta MandrenkoP DAX: Прочие вопросы 57 01.08.2006 13:45
Создание справочной системы listener DAX: Программирование 0 01.08.2003 11:37
Проблемы с производительностью системы MIkeFW DAX: Прочие вопросы 16 25.06.2002 20:29
Введение в Аксапту Роман Кошелев DAX: Прочие вопросы 0 18.12.2001 14:00

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

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

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