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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.02.2010, 10:21   #1  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2161 (81) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Сейчас это поле нужно для создания нескольких почтовых сообщений для пользователей группы на основании первого (стандартного) - каждому должно прийти письмо со ссылкой именно на его оповещение. Ну и плюс - можно смотреть потом какие оповещения были сделаны для группы, т.е. для разбора типа "я не получал", "мне не приходило" и т.п.

На развитие думал про такую возможность:
В AX2009 в рамках документооборота есть понятие согласование и задача. При этом назначение задачи могут получить несколько пользователей, но выполнять ее нужно только один раз (одному сотруднику) - для этого пользователь нажимает кнопку "Принять" - т.е. уведомляет остальных, что он взял задачу на себя и остальным ее выполнять не надо (наскока я помню, в системе остальные оповещения просто будут удалены). В 4.0, предлагаю, сделать также - добавить признак правила оповещения "Задача" и по этому признаку давать возможность нажать кнопку "Принять", после чего все остальные оповещения этой группы надо либо удалить, либо пометить как-нибудь.
__________________
Ivanhoe as is..
Старый 24.02.2010, 17:19   #2  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
677 / 517 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
спасибо за ответ. честно говоря, я всё равно не понял назначение этого поля, ибо и без него каждый пользователь из группы получает своё оповещение.

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

нарисовал пока вот так, "жёстко". (фрагмент метода класса)

X++:
static str getFieldValueFromCode(str _fieldByCode, common _buffer)
...
 // if the table exists
    if (bufferTable)
    {
        parentBuffer = _buffer;
        // the table here is the "parent" table to _buffer
        // it comes to a parent table: we need to locate one
        if (tId != _buffer.TableId)
        {
            // Realised for Sales and Purchase orders only
            // Sales orders
            if ((tId == tableNum(SalesTable)) && (_buffer.TableId == tableNum(SalesLine)))
            {
                parentBuffer = SalesTable::find(SalesLine::findRecId(_buffer.RecId).SalesId);
            }
            // Purchase orders
            if ((tId == tableNum(PurchTable)) && (_buffer.TableId == tableNum(PurchLine)))
            {
                parentBuffer = PurchTable::find(PurchLine::findRecId(_buffer.RecId).PurchId);
            }
        }
...
провернуть такой же трюк на таблице ProdJournalBOM, которая связана с ProdJournalTable не получается...
__________________
Felix nihil admirari
Старый 24.02.2010, 17:42   #3  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2161 (81) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Цитата:
Сообщение от wojzeh Посмотреть сообщение
спасибо за ответ. честно говоря, я всё равно не понял назначение этого поля, ибо и без него каждый пользователь из группы получает своё оповещение.
...
Хм, сам когда написал, понял что не понятно. Попробую еще раз
Как работает стандарт:
0. Общий фреймворк обработки записанных событий:
1. запускает создание оповещение в EventInbox.
2. по записи из п.1 запускает создание почтового сообщения.

Т.е. п.1 про п.2 ничего не знает.

После того, как мы вклинились в п.1 и наделали кучку дополнительных оповещений, система переходит к п.2 и передает параметром только основное оповещение, т.к. ничего не знает про наши дополнительные оповещения.

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

По поводу вашей задачи - не совсем понятно, чего вы хотите добится - можете с точки зрения пользователя объяснить?
__________________
Ivanhoe as is..
Старый 24.02.2010, 19:16   #4  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
677 / 517 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
теперь понял. спасибо!

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

то есть, изменения происходят в дочерней таблице, а поле для уведомлений ищется в родительской.
__________________
Felix nihil admirari
Теги
alert, ax2009, ax4.0, законченный пример, оповещения, полезное

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: List of fixes that improve performance of certain features in Dynamics AX 2009 Blog bot DAX Blogs 0 13.10.2009 19:06
gatesasbait: Dynamics AX 2009 SSRS and SSAS Integration Tips Blog bot DAX Blogs 3 09.07.2009 13:07
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
Arijit Basu: AX 2009 - Quick Overview Blog bot DAX Blogs 4 19.05.2008 14:47
ALEG: Проект "Фишка недели" и первый пост - Microsoft Dynamics™ AX .NET Business Connector Blog bot DAX Blogs 1 22.11.2006 09:43

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

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

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