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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.06.2005, 19:25   #1  
malex is offline
malex
Участник
 
164 / 19 (1) ++
Регистрация: 10.08.2004
Адрес: Тверь, Москва
? Связь складских и финансовых аналитик
Задача:
Необходимо на формах где одновременно присутствуют финансовая и складская аналитика при изменении значения одной из складских аналитик менять значение финансовой аналитики.

Например, есть финансовая аналитика - Проект и складская аналитика - Проект. В справочнике складской аналитики Проект есть поле содержащее ссылку на финансовую аналитику Проект.

Как это лучше реализовать?
Первое что приходит в голову - перекрыть modified на контроле складской аналитики и написать что-то вроде
PHP код:
    SysDim finProject;
    ;
    
ret super();
    
finProject InventProject_NV::find(InventProjectId_NV.text()).finProject;
    if (
finProject)
    {
        
salesLine.Dimension[#finProjectDimNum] = finProject;
        
salesLine_ds.refresh();
    } 
Правильнее было бы написать это в modified на DS, но modified для поля InventDimId почему-то не срабатывает.

В любом случае подобный код нужно написать на всех формах, где встречаются финансовые и складские аналитики. А таких форм более 50.

Есть ли какой-нибудь способ реализовать данную функциональность в одном месте??
Старый 02.06.2005, 20:41   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Re: Связь складских и финансовых аналитик
Цитата:
Изначально опубликовано malex
Есть ли какой-нибудь способ реализовать данную функциональность в одном месте??
Нет. Потому что о параметрах связи знают только каждая из форм.

Вернее, можно сделать один класс, но вызывать его все равно придется из каждой формы.

Кроме того, не забывайте, что складская аналитика может подбираться Аксаптой автоматически (ищите "автоподстановка ГТД" на этом форуме). В этом случае на форме и в проводках складская аналитика может быть разной.

Скорее всего, вам нужно менять условия задачи.
__________________
полезное на axForum, github, vk, coub.
Старый 03.06.2005, 09:45   #3  
malex is offline
malex
Участник
 
164 / 19 (1) ++
Регистрация: 10.08.2004
Адрес: Тверь, Москва
Спасибо за ответ
Связь необходимо сделать только для собственной (нестандартной) аналитики, поэтому с автоматическая подстановкой я не пересекусь.
А насчет корректности задачи - деньги клиентом уже заплачены, да и решаю такие вопросы не я
Старый 03.06.2005, 10:47   #4  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,691 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Мне кажется, что простейшее решение, это перекрыть modified на DS для InventDim, но не на поле InventDimId, а на том поле, которое и содержит твою нестандартную аналитику.

Дело в том, что, например, в формах SalesTable и PurchTable просто не происходит модификация InventDim_ds.InventDimId. Посмотри код метода

\Forms\SalesTable\Data Sources\SalesLine\Methods\write

Там не модификация, а просто замена всей записи InventDim происходит

PHP код:
...
        
// Нашли или создали складскую аналитику по заданным значениям
        
salesLine.inventDimId InventDim::findOrCreate(inventDim).inventDimId;
...
        if (
salesLine.inventDimId != inventDim.inventdimId)
        {
            
// Обновили источник данных
            
inventDim.data(InventDim::find(salesLine.inventDimId));
            
inventDim.write();
        }
.... 
А насчет универсальности, не думаю что получится. Ведь в каждом конкретном случае невозможно сказать в какой именно таблице ты собираешся менять финансовую аналитику при изменении складской.
Старый 03.06.2005, 14:10   #5  
malex is offline
malex
Участник
 
164 / 19 (1) ++
Регистрация: 10.08.2004
Адрес: Тверь, Москва
Цитата:
Изначально опубликовано Владимир Максимов
Мне кажется, что простейшее решение, это перекрыть modified на DS для InventDim, но не на поле InventDimId, а на том поле, которое и содержит твою нестандартную аналитику.
Действительно, так правильнее. Thanks.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
сопоставление по клиенту с учетом финансовых аналитик? Aquarius DAX: Функционал 3 20.12.2008 10:05
Добавление складских аналитик. DAX 4.0 Бигудь DAX: Функционал 7 16.10.2008 12:30
ALEG: Интересная статья про иерархию финансовых аналитик в Microsoft Dynamics AX 4.0 Blog bot DAX Blogs 0 09.11.2006 06:00
mazzy: Иерархия финансовых аналитик в Microsoft Dynamics AX 4.0 Blog bot DAX Blogs 0 28.10.2006 17:22
Добавление финансовых аналитик в Оракле.. MironovI DAX: Программирование 32 08.08.2006 13:02

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

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

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