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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.09.2009, 08:49   #1  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Аксапта - такая система, в которой скажем так... разработчики ядра (ax32.exe) не соревнуются в плане качества поставляемых API (системных классов, таблиц и т.д.), т.е. какие-то вещи, которые с т.з. разработчика должны работать - могут не работать или иметь какие-то глюки. Это, кстати - говоря - не про Микрософт будет сказано - а про тех, кто это писал до Микрософта.
Поэтому - какие-то (иногда кажущиеся очевидными) идеи технически нереализуемы и поэтому приходится менять постановку задачи.
нифига не понял, это вы о чем?

Цитата:
Сообщение от sukhanchik Посмотреть сообщение
В Вашем случае - лучшим решением будет отказаться от решения Вашей задачи таким способом.
Я бы вначале попросил описать задачу подробнее, прежде чем давать советы по реализации.

Цитата:
Сообщение от sukhanchik Посмотреть сообщение
"дао Аксапты" состоит в том, чтобы "посмотреть как это сделано в другом месте Аксапты и сделать по аналогии". Если какой-то прием в Аксапте не применяется - то и нечего его применять. С одной стороны есть риск нарваться на "особенности работы" ядра, с другой стороны - система вылезет из однообразия в интерфейсе для пользователя и других программистов - что усложнит жизнь всем.
Посмотреть как это сделано в другом месте можно в \Forms\tutorial_Form_AddControl

Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Конструктивно, по вопросу - "на лету" добавлять контрольки (т.е. не formBuild*-классами) - нельзя. Ну точнее - есть проблемы с привязкой к данным и т.д. В 3.0, я, поковырявшись с этим, похоронил эту идею. В 4.0 - может что-то и изменилось - но не думаю.
Конструктива не увидел:
- Контролы добавлять можно, проблем с данными нет - я это показал
- "поковырявшись с этим, похоронил эту идею" - возможно, вам не хватило навыков, ковыряясь в 3.0 ? В чем именно была проблема ?

Цитата:
Сообщение от sukhanchik Посмотреть сообщение
В примере, указанном DSPIC контрол действительно добавляется... Но боюсь, что на linkActive такое может не сработать. Просто потому что linkActive. А SysTableBrowser не показатель - т.к. там контролы добавляются до вызова run(), т.е. через FormBuild*, а не через Form*-классы
Смею вас заверить, что на linkActive такое сработает. Обоснуйте свои опасения.

Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Просто потому что linkActive
потому что гладиолус (С)
Старый 25.09.2009, 10:51   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от DSPIC Посмотреть сообщение
- "поковырявшись с этим, похоронил эту идею" - возможно, вам не хватило навыков, ковыряясь в 3.0 ? В чем именно была проблема ?
Наезд
Лично я похоронил потому что слишком много метапрогрограмминга, слишком тяжело такие решения сопровождать и апгрейдить.
__________________
полезное на axForum, github, vk, coub.
За это сообщение автора поблагодарили: oip (1).
Старый 25.09.2009, 11:26   #3  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
Цитата:
Сообщение от mazzy Посмотреть сообщение
Наезд
...
Да, высказывания sukhanchik'а в очередной раз не аргументированы, более того, противоречивые. Тем не менее, извините.

Цитата:
Сообщение от oip Посмотреть сообщение
Если кто на моем проекте попытается такое без действительно осо-о-о-обой необходимости (пока на моей практике такой не было) сделать, я ему руки оборву.

+1 к словам mazzy и sukhanchik. Контролы надо не добавлять, а скрывать.
Согласен, я бы тоже оборвал. Но, я исходил из условия:

Цитата:
Сообщение от erudit Посмотреть сообщение
...
Родительская форма содержит инф-ю о том какие контролы должны быть добавлены на дочернюю форму (их имена и т.п.), т.е. заранее добавить контролы и прятать/показывать - не подходит.
...
В общем, развернутое ТЗ в студию, после чего можно продолжить по существу.

Последний раз редактировалось DSPIC; 25.09.2009 в 11:28.
Старый 25.09.2009, 11:53   #4  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 438 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Есть задачи, которые по другому кроме как динамическим добавлением контролов не реализуются.
В Ax-e пока с таким не сталкивался. Но если будут, твёрдо утверждать что задача плохая и нужно пересматреть её реализацию или отказаться не буду.
Пример.
Давно была такая задача. Реализовывал на C++ Builder.
Есть таблица в неё забиваються операции и время работы этих операций.
Эти операции должны были появиться на сэнсорном экране в два столбца в виде кнопок с названиями этих операций. Форма на весь экран.
На протяжении дня кнопки могли перераспределяться в зависимости от того сколько времени и обрабатываеться ли это операция в это время.
Пришлось делать.
Подобные задачи думаю и в аксе могут быть.
Кликнул оператор склада одну из волшебных кнопок и наступило счастье, кликнул кнопку которая рядом счастье отсторнировалось.
Если есть у человека время и желание зачем отговаривать.
Я думаю что он уже понял, что нужно ещё раз подумать, а только потом приступать.
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему.
Старый 25.09.2009, 19:40   #5  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,342 / 3563 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
За день моего отсутствия со стороны DSPIC столько возражений - что прям уж даже удивительно почему у него ко мне такое неравнодушие
Цитата:
Сообщение от DSPIC Посмотреть сообщение
нифига не понял, это вы о чем?
Я думаю, что те люди, которые сталкиваются с программированием в Аксапте, придя из других систем - понимают о чем я писал. У Вас никогда не бывало такого, что Вы ожидаете от метода некий результат - а по факту он не соответствует Вашим ожиданиям?
Чтобы не быть голословным - скажу, что на таблице есть методы validateField и validateWrite. Методы похожи по своему названию и предназначению. Но validateField только информирует пользователя о том что не прошла проверка, но при этом записывая в поле неверное значение, а validateWrite не дает обновить (добавить) запись, если проверка не прошла. Возможно - этот нюанс описан в документации (=> это не бага, а фича). Но для программиста, начинающего осваивать систему (коим скорее всего является автор ветки) - это как раз тот случай, когда ожидания не соответствуют реалиям.

Цитата:
Сообщение от DSPIC Посмотреть сообщение
Я бы вначале попросил описать задачу подробнее, прежде чем давать советы по реализации.
Конкретная задача описана достаточно подробно, чтобы сказать - что ТАК в Аксапте делать не нужно (хотя и технически возможно). А автор ветки может и не знать глобально всю задачу и уж тем более ему может затруднительно повлиять на изменение архитектуры решения задачи.

Цитата:
Сообщение от DSPIC Посмотреть сообщение
Посмотреть как это сделано в другом месте можно в \Forms\tutorial_Form_AddControl
Да, но Вы также отсылали к SysTableBrowser, что в условиях поставленной задачи (не использовать FormBuild*-классы) - совершенно бесполезный пример. Вы уж сами давайте четкие ответы - а то с одной стороны - для Вас задача описана недостаточно подробно, чтобы давать советы по реализации - а с другой стороны Вы их даете.
Цитата:
Сообщение от DSPIC Посмотреть сообщение
Конструктива не увидел:
- Контролы добавлять можно, проблем с данными нет - я это показал
- "поковырявшись с этим, похоронил эту идею" - возможно, вам не хватило навыков, ковыряясь в 3.0 ? В чем именно была проблема ?
Ну... я ж не претендую на идеальные знания во всех областях. Возможно, что в тот момент мне и не хватило навыков или условия были чуть-чуть другие (уже не помню).
Контролы добавлять технически можно. Это как с оповещениями в 4-ке - работают? Да. Маркетинг рекламирует. А то, что эта система ляжет, если повесить оповещения на InventTrans при относительно спокойной одновременной работе 15 пользователей с заказами - об этом нигде не говорится.
Так и тут. Пример есть. Просто можно пойти своим путем, насобирав кучу граблей и глюков, а можно пойти проверенным путем (FormBuild*) и прийти к тому же результату - только без грабель. Т.е. что-то где-то не отобразится, что-то где-то не подтянется, EDT может некорректно подхватиться, форма будет тормозить с перерисовыванием и т.д. Я не знаю всего. В свое время я делал форму, в которой настройками в таблице задавалось - какие контролы нужно отображать. Помню - что в конечном счете я пришел к варианту показа скрытых контролов - иначе то ли чего-то вылетало толи еще чего-то. Но и то - форма тормозила и определенные визуальные "прыжки" иногда наблюдались. Вывод - так делать неправильно. Хотя и технически возможно.

Цитата:
Сообщение от DSPIC Посмотреть сообщение
Смею вас заверить, что на linkActive такое сработает. Обоснуйте свои опасения.
Опасения связаны с тем, что событие срабатывает при каждом изменении позиции курсора. Добавлять контролы (а не показывать скрытые) на этом событии - может привести к вылету Аксапты. Уточню: это мои опасения (т.е. как Вы говорите - голословные утверждения). Может такого и не случится. Можете считать меня в этом случае параноиком или менее компетентным, чем Вы в этой области.

Со своей стороны попрошу Вас, DSPIC - обосновать Ваше утверждение ссылками "Да, высказывания sukhanchik'а в очередной раз не аргументированы". А то иначе получается откровенный наезд (я бы даже это счел за оскорбление).
__________________
Возможно сделать все. Вопрос времени
Старый 25.09.2009, 21:15   #6  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
...
Со своей стороны попрошу Вас, DSPIC - обосновать Ваше утверждение ссылками "Да, высказывания sukhanchik'а в очередной раз не аргументированы". А то иначе получается откровенный наезд (я бы даже это счел за оскорбление).
Извините, наверное, с кем-то Вас перепутал.
Теги
добавить, контрол, программно, форма

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Динамическое создание DataSource на форме, и добавление элементов дизайна. epack DAX: Программирование 12 24.11.2010 15:31
Добавление таблицы на форму PurchTable Rect DAX: Программирование 3 21.09.2008 17:54
Динамическое создание контролов на форме Yari DAX: Функционал 8 23.08.2007 13:51
Как обновить форму, если добавление через кнопку? Arahnid DAX: Программирование 5 21.05.2007 11:18
Динамическое добавление элементов в отчет Maxim Gorbunov DAX: База знаний и проекты 1 17.01.2002 14:48
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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