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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.01.2008, 12:03   #1  
Beast-L is offline
Beast-L
Участник
Аватар для Beast-L
 
104 / 21 (1) +++
Регистрация: 20.10.2006
Адрес: Киев
Можно ли динамически добавлять поля в грид?
Пытаюсь сделать так:

void clicked()
{
FormStringControl fscl;
;

super();

fscl = Grid.addControl(FormControlType::String, "ItemGroupId");
fscl.dataSource(InventTable_ds);
fscl.dataField(fieldnum(InventTable, ItemGroupId));

InventTable_ds.executeQuery();
}


Колонка появилась но данных нет.
Старый 22.01.2008, 12:09   #2  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Попробуйте addDataField вместо addControl
Старый 22.01.2008, 12:47   #3  
Demetrio is offline
Demetrio
MCITP
Аватар для Demetrio
MCP
MCBMSS
 
24 / 11 (1) +
Регистрация: 17.12.2007
Адрес: Москва
И скорее всего это нужно делать не по клику на кнопку, а в init-е формы
Старый 22.01.2008, 12:50   #4  
NNB is offline
NNB
Участник
 
103 / 12 (1) ++
Регистрация: 31.08.2006
Может ограничиться созданием нескольких гридов и показом их по мере нужды?
Старый 22.01.2008, 13:12   #5  
Beast-L is offline
Beast-L
Участник
Аватар для Beast-L
 
104 / 21 (1) +++
Регистрация: 20.10.2006
Адрес: Киев
Цитата:
Сообщение от NNB Посмотреть сообщение
Может ограничиться созданием нескольких гридов и показом их по мере нужды?
Нет. Нужно показывать остатки в разрезе аналитики и дилеров, дилера могут добавляться и каждый пользователь должен иметь возможность показывать/скрывать того или иного дилера на гриде
Старый 22.01.2008, 13:27   #6  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,311 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Добавление поля в грид - операция более трудоемкая (для системы), нежели скрытие/показ поля.
Если Вы хотите именно добавить поле - то посмотрите форму и класс SysTableBrowser (обозреватель таблиц) - там происходит именно добавление полей (так как Вам надо)
Однако, я бы рекомендовал не делать таблицу а-ля Excel. Сделать-то Вы сделаете. Только в следующий раз пользователи могут захотеть большего - а технически может случиться облом.
Поэтому - можно просто добавить 2 поля: Значение аналитики и Название дилера. И сделать комбобоксы-фильтры, чтобы можно было посмотреть остатки в разрезе дилеров/аналитик.
При этом будет работать стандартный фильтр по Ctrl+F3
__________________
Возможно сделать все. Вопрос времени
Старый 22.01.2008, 14:03   #7  
Beast-L is offline
Beast-L
Участник
Аватар для Beast-L
 
104 / 21 (1) +++
Регистрация: 20.10.2006
Адрес: Киев
Дело в том что дилеров больше 200 и на грид их всех добавлять само по себе трудоёмко а тем более если меняется их наличие то каждый раз прийдётся дёргать форму разработчику а это не есть хорошо :-)
Старый 22.01.2008, 15:18   #8  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Beast-L Посмотреть сообщение
Дело в том что дилеров больше 200 и на грид их всех добавлять само по себе трудоёмко а тем более если меняется их наличие то каждый раз прийдётся дёргать форму разработчику а это не есть хорошо :-)
Трудоемко для кого? Для вас, как для программиста?
А для пользователей предлагаемый вами вариант не тудоемок?
__________________
полезное на axForum, github, vk, coub.
Старый 22.01.2008, 15:22   #9  
Beast-L is offline
Beast-L
Участник
Аватар для Beast-L
 
104 / 21 (1) +++
Регистрация: 20.10.2006
Адрес: Киев
Цитата:
Сообщение от mazzy Посмотреть сообщение
Трудоемко для кого? Для вас, как для программиста?
А для пользователей предлагаемый вами вариант не тудоемок?
Интересно чем же он трудоёмок? Зайти в форму настроек поставить галки на нужных дилерах и нажать ОК, помоему довольно просто!
Старый 22.01.2008, 15:49   #10  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Beast-L Посмотреть сообщение
Зайти в форму настроек поставить галки на нужных дилерах и нажать ОК, помоему довольно просто!
Поставить до 200 галочек? Просто?!
__________________
полезное на axForum, github, vk, coub.
Старый 22.01.2008, 17:52   #11  
Beast-L is offline
Beast-L
Участник
Аватар для Beast-L
 
104 / 21 (1) +++
Регистрация: 20.10.2006
Адрес: Киев
Цитата:
Сообщение от mazzy Посмотреть сообщение
Поставить до 200 галочек? Просто?!
Почему сразу 200? Обычно нужно до 20. Хотя 200 тоже можно (Специальной кнопкой отметить все и убрать ненужные)

Последний раз редактировалось Beast-L; 22.01.2008 в 17:57.
Старый 22.01.2008, 19:03   #12  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Beast-L Посмотреть сообщение
Почему сразу 200?
Потому что вы сами об этом сказали

Цитата:
Сообщение от Beast-L Посмотреть сообщение
Дело в том что дилеров больше 200 и на грид их всех добавлять само по себе трудоёмко
выделено мной.

Хорошо, вы уже осознали, что только галочками вы не обойдетесь - придется писать дополнительные функции для установки и снятия всех галочек.

Вопрос о том, как установить 100 из 200 галочек я пропускаю. Думаю, что рано или позно вы додумаетесь до функционала сохранения галочек. А затем до функционала копирования галочек между пользователями. А затем до разбора ошибочных галочек в случае добаления/удаления дилера. А затем...

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

================
Пойдем дальше?
Предположим что вы в начале пути и сделали замечательный функционал для отметки всех 200 дилеров. Ваш замечательный функционал создал грид с 200 колонками. И что теперь делать пользователю? Он сможет с ним работать? Он сможет его распечатать? Вы действительно считаете, что грид с 200 колонками удобен для пользователя?

Например, лично вам удобно работать с Обозревателем таблиц, где используется динамическое добавление колонок? Почему? Что бы вы улучшили?

================
Обратите внимание на эти ВАШИ слова.
Цитата:
Сообщение от Beast-L Посмотреть сообщение
Обычно нужно до 20.
Именно в них кроется решение задачи. Вам осталось только вникнуть в потребности пользователей и выяснить почему именно столько и что это за обычные условия? Затем сделать именно то, что нужно пользователям, а не программисткие "универсальные галочки" или "динамическое добавление колонки в грид".
__________________
полезное на axForum, github, vk, coub.
Старый 23.01.2008, 17:13   #13  
Beast-L is offline
Beast-L
Участник
Аватар для Beast-L
 
104 / 21 (1) +++
Регистрация: 20.10.2006
Адрес: Киев
Трудоёмко 200 (дилеров всего до 200) имелось ввиду если добавить их при создании формы, а потом скрывать ненужные. Менеджеры по закупкам одновременно работают только максимум с двадцатью но желательно иметь возможность работать и с большым количеством.

Хотят приблизительно так:
Нажмите на изображение для увеличения
Название: purch.JPG
Просмотров: 429
Размер:	21.4 Кб
ID:	3161
Старый 23.01.2008, 17:28   #14  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Beast-L Посмотреть сообщение
Трудоёмко 200 (дилеров всего до 200) имелось ввиду если добавить их при создании формы, а потом скрывать ненужные. Менеджеры по закупкам одновременно работают только максимум с двадцатью но желательно иметь возможность работать и с большым количеством.
Э-э-э... Может я тормоз?
А зачем добавлять 200 дилеров при создании, если нужно только 20?
А большее количество - это сколько? меньше 200? меньше 100? меньше 50? меньше 25?
__________________
полезное на axForum, github, vk, coub.
Старый 23.01.2008, 17:34   #15  
Beast-L is offline
Beast-L
Участник
Аватар для Beast-L
 
104 / 21 (1) +++
Регистрация: 20.10.2006
Адрес: Киев
со всеми дилерами никто не работает
до 20 использует один менеджер закупок
другие до 20 использует второй менеджер закупок и т.д.
а большее - больше 20 (желательно произвольное колличество выбранных для работы из всех возможных)

Последний раз редактировалось Beast-L; 23.01.2008 в 17:38.
Старый 23.01.2008, 17:40   #16  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,732 / 406 (17) +++++++
Регистрация: 23.03.2006
почему просто не вывести все в эксель?
Старый 23.01.2008, 17:48   #17  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Beast-L Посмотреть сообщение
со всеми дилерами никто не работает
до 20 использует один менеджер закупок
другие до 20 использует второй менеджер закупок и т.д.
Дык, добавьте 20 и меняйте название колонок.
Я тормоз? Чувствую что чего-то не понимаю.

Цитата:
Сообщение от Beast-L Посмотреть сообщение
а большее - больше 20 (желательно произвольное колличество выбранных для работы из всех)
Вот что всегда бесило в "программистском подходе"...
Вы сами пробовали работать с произвольным количеством? Пробовали печатать отчет, содержащий хотя бы 50 колонок? Ведь Аксапта масштабирует такие отчеты до микротекста...

Ну, не может быть произвольного количества.
По причинам физического ограничения зрения пользователей.

Ну, попробуйте же сами.
Зачем над пользователями то издеваться?

Из ФИЗИЧЕСКОГО ограничения неизбежно следует, что существует некоторое максимальное число колонок, когда пользователь еще может удобно и нормально работать. Опыт подсказывает, что это очень небольшое число колонок - 10-20, максимум 30.

А это значит, что вы как программист должны предусмотреть специальные случаи отображения большего числа колонок. Или переделать интерфейс так, чтобы и при большом числе данных было удобно с ними работать.

Еще раз повторю свою мысль и закончу свое участие в этой ветке, пожалуй.
  1. Вставая на путь динамического программирования, вы неизбежно встаете на путь непрерывной борьбы с программисткими задачами, бесконечно далекими от реальных потребностей пользователя. Постарайтесь не использовать динамическое программирование.
  2. Динамическое программирование неизбежно приводит к созданию неудобных для пользователя интерфейсов в стиле "простыня". Ни работать, ни распечатать. Не надо делать "универсальных" решений, сделайте красивое решение конкретной проблемы конкретного пользователя.
  3. Постоянно помните об ограничениях пользователей: Человек не в состоянии воспринимать слишком мелкий шрифт, человек не в состоянии удержать в голове больше 7-9 объектов одновременно и т.д.
  4. Продумайте интерфейс так, чтобы человеку было удобно. В конце концов, предусмотрите два варианта - один для малого числа дилеров, другой для большого числа
__________________
полезное на axForum, github, vk, coub.
Старый 23.01.2008, 17:50   #18  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от ice Посмотреть сообщение
почему просто не вывести все в эксель?
О... Бл-л-лин...
Умолкаю.

http://www.artgorbunov.ru/bb/soviet/
__________________
полезное на axForum, github, vk, coub.
Старый 23.01.2008, 18:08   #19  
Beast-L is offline
Beast-L
Участник
Аватар для Beast-L
 
104 / 21 (1) +++
Регистрация: 20.10.2006
Адрес: Киев
Цитата:
Сообщение от ice Посмотреть сообщение
почему просто не вывести все в эксель?
В эксель не прокатывает так как колонку "к отгрузке" заполнять должен сам пользователь.

Цитата:
Сообщение от mazzy Посмотреть сообщение
неудобных для пользователя интерфейсов в стиле "простыня"
Пользователи сейчас работают как раз с простынёй и хотят чтобы этой кучи колонок не было а были только нужные на данный момент. Сколько они выберут ? А если им захочеться больше? Или что ещё хуже действительно нужно будет. Например сделаю 20 им понадобиться 21. Может и не часто нужно будет но помоему раза достаточно.

Кроме того даже просто с точки зрения спортивного интереса хочеться знать можно ли такое сделать.

Лично мне было бы удобно работать с двумя гридами, но так они не хотят.

Последний раз редактировалось Beast-L; 23.01.2008 в 18:14.
Старый 23.01.2008, 18:15   #20  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,732 / 406 (17) +++++++
Регистрация: 23.03.2006
X++:
... "к отгрузке"  ...
об этом вы не упоминали, нельзяли нормально озвучить условие задачи?
это видимо: сформировать портянку, расставить значения, по кнопке ОК сформировать заказы

Последний раз редактировалось ice; 23.01.2008 в 18:17.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Можно ли получить recordset, используя ID таблицы и ID поля 111andrei DAX: Программирование 2 20.03.2007 12:49
Лукап, содержащий поля нескольких таблиц matew DAX: Программирование 4 30.11.2006 16:02
Переименование поля kashperuk DAX: Программирование 0 19.07.2006 17:20
Можно настроить OLAP без поля CurrencyCode? Hidden DAX: Программирование 8 31.05.2006 11:37
Автоматическое увеличение значения поля при создании новой записи. sguryev DAX: Программирование 3 06.02.2003 14:00

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

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

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