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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.05.2009, 08:36   #1  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Параметры клиентов в разрезе компаний
У нас большая часть таблиц находится в виртуальной. Столкнулись с проблемой, как задавать праметры, например, для клиента, если этот параметр различается по компаниям. Придумали схему, где параметр задается как ссылка по recId на другую таблицу и указывается в строках для шапки (а эта таблица уже различна по компаниям ). То есть как-бы динамическое количество полей. Все хорошо, за исключением того, что если строку в справочнике удалить, а потом создать, то ссылка станет неверной (recId поменяется). Плюс еще сложность настройки.
Мне это не нравится, и поэтому собираюсь переделать на обычную таблицу с полями.
Может у кого-нибудь есть идеи как реализовать такую схему?
Старый 19.05.2009, 08:47   #2  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,737 / 404 (17) +++++++
Регистрация: 23.03.2006
почему не использовать в качестве "ссылки" ключ таблицы для которой задаются параметры?
Старый 19.05.2009, 09:28   #3  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,322 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Мы делали дополнительную таблицу, не включали ее в виртуальную компанию и связывали ее со справочником клиентов 1:1 (правда по Inner Join, т.к. хотелось иметь сортировку). Минус всего этого - приходилось заботиться о создании записи в таблице при создании клиента.

Мне кажется - это самый простой и правильный способ. Связка по RecId не есть здорово.
__________________
Возможно сделать все. Вопрос времени
Старый 19.05.2009, 09:31   #4  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Цитата:
почему не использовать в качестве "ссылки" ключ таблицы для которой задаются параметры?
таблица может быть любая, ключ может быть комбинированный, непонятно как строить лукап
Старый 19.05.2009, 09:33   #5  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Цитата:
Минус всего этого - приходилось заботиться о создании записи в таблице при создании клиента.
а таблицу эту выносили в отдельную кнопку?
Старый 19.05.2009, 09:46   #6  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,322 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Не. Есть 3 пути:
1. Прилепливание таблицы к форме клиентов и связь по Inner Join.
+ Есть сортировка и фильтрация
- Надо заботиться о создании новой записи
+ Все данные видны в одной карточке
2. Прилепливание таблицы к форме клиентов и связь по Exists Join (кажется)
- Нет сортировки и фильтрации (для новой таблицы)
+ Не надо заботиться о создании новой записи
+ Все данные видны в одной карточке
3. Добавление кнопки
+ О сортировки и фильтрации никто не думает
+ Не надо заботиться о создании новой записи
- Все данные не видны в одной карточке

Мы пошли сначала по пути 2, затем (по просьбе пользователей) - по пути 1. Но жизнь показала - что надо было пользователей послать и остановиться на 2-м варианте, т.к. при создании новой компании автоматически "пропадали" клиенты, а запускать каждый раз джоб по созданию записей было непозволительной роскошью. Так было в 3-шке и при переходе на 4-ку мы вернулись ко 2-му варианту
__________________
Возможно сделать все. Вопрос времени

Последний раз редактировалось sukhanchik; 19.05.2009 в 09:50.
За это сообщение автора поблагодарили: Eldar9x (2).
Старый 19.05.2009, 09:50   #7  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Цитата:
2. Прилепливание таблицы к форме клиентов и связь по Exists Join
- Нет сортировки и фильтрации (для новой таблицы)
+ Не надо заботиться о создании новой записи
+ Все данные видны в одной карточке
правильно ли я себе представляю процеес настройки параметров?
Заходим в компанию 1, заводим клиента, вводим праметры.
Заходим в компанию 2, находим клиента, вводим параметры (возможно другие)
Старый 19.05.2009, 09:53   #8  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,322 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от Eldar9x Посмотреть сообщение
правильно ли я себе представляю процеес настройки параметров?
Заходим в компанию 1, заводим клиента, вводим праметры.
Заходим в компанию 2, находим клиента, вводим параметры (возможно другие)
Совершенно верно. При этом, если параметр не вводить, то запись создана не будет (БД пухнуть не будет).
__________________
Возможно сделать все. Вопрос времени
Старый 19.05.2009, 09:58   #9  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Я думаю, сделать примерно так, создать вкладку на клиентах, в ней (по delayed) та самая таблица параметров (которая не в виртуальной), и, не поля, а грид, с полями этой таблицы, потому что, возможно, придется эти параметры вводить в разрезе еще одного поля (например, параметры клиента для поставщика 1 м/б одни, для поставщика 2 - другие). С другой стороны, пользователю придется эти строки параметров создавать...
Старый 19.05.2009, 10:08   #10  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,322 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Я бы так не советовал делать.
1. Это к вопросу о том, что настройки может сделать только разработчик.
2. Вы лишаетесь безумно нужной возможности лукапа, перехода к основной таблице и впадаете в зависимость от одного типа данных. Конечно можно сделать все (см. форму расширенного запроса SysQueryForm), но это не повод ТАК программировать.
3. Вам действительно надо создавать запись.

И потом. На чем Вы экономите? На одной таблице? Посмотрите на Аксапту глазами ее создателей. Создатели решили разделить таблицы клиентов и поставщиков, но сделали мап CustVendTable для размещения (работы с) общей функциональности для клиентов и поставщиков.

Соответственно - Вам что надо сделать:
1. Таблицу для клиентов
2. Таблицу для поставщиков
3. Таблицу для (на этом месте может быть любая Ваша таблица)
.....
И сделать Map аналогичный CustVendTable. Всю общую функциональность повесить на работу с этим мапом

Живите с Аксаптой по ее законам и жизнь покажется проще
__________________
Возможно сделать все. Вопрос времени

Последний раз редактировалось sukhanchik; 19.05.2009 в 10:13.
Теги
lookup, как правильно, компания

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Холдинг как одна или несколько компаний в Аксапте? skof DAX: Прочие вопросы 27 31.07.2009 09:47
Сергей Герасимов: О технической поддержке клиентов по продуктам Microsoft Dynamics Blog bot DAX Blogs 4 13.02.2007 14:58
Произвольное объединение компаний для отчетов и операций в них gl00mie DAX: Программирование 11 07.08.2006 14:22
Коды клиентов в CRM - проблема Zabr DAX: Функционал 5 01.12.2003 12:41
Связь справочника компаний с справочниками контрагентов tav DAX: Функционал 10 06.03.2003 17:26
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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