AXForum  
Zurück   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Kennwort vergessen?
Registrieren Forum Rules Hilfe Benutzerliste Heutige Beiträge Suchen

 
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 25.01.2007, 11:21   #1  
Eldar9x ist offline
Eldar9x
MCTS
Benutzerbild von Eldar9x
Oracle
MCBMSS
 
1.064 / 166 (8) ++++++
Registriert seit: 29.09.2006
Ort: Казань
Видимость поля
Здравствуйте. Вот такой вопрос. В таблицу добавляем новое поле. Нужно скрыть это поле во всех формах где оно есть, если конфигурационный ключ нашей фирмы не включен. Конечно, можно было бы это сделать и через форму, но ведь легче скрывать поле прямо в самой таблице. Вопрос в том, если вообще это возможно, в какой метод это засунуть. И второй вопрос, следует ли это делать?

ну, или хотя бы как поле таблицы программно сделать невидимым, то есть программно установить Visible этого поля в No?

Geändert von Eldar9x (25.01.2007 um 12:10 Uhr)
Alt 25.01.2007, 12:10   #2  
belugin ist offline
belugin
Участник
Benutzerbild von belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4.622 / 2925 (107) +++++++++
Registriert seit: 16.01.2004
Blog-Einträge: 5
Если у поля заполнить свойство ConfigurationKey то что будет неправильно?
Alt 25.01.2007, 12:20   #3  
oip ist offline
oip
Axapta
Лучший по профессии 2014
 
2.564 / 1416 (53) ++++++++
Registriert seit: 28.11.2005
Blog-Einträge: 1
А разве это не приведет к потере данных при отключенном ключе?
Отключение же просто физически удалит это поле в БД, а не скроет.
Alt 25.01.2007, 12:21   #4  
Eldar9x ist offline
Eldar9x
MCTS
Benutzerbild von Eldar9x
Oracle
MCBMSS
 
1.064 / 166 (8) ++++++
Registriert seit: 29.09.2006
Ort: Казань
Именно так и хотел сделать, но вот это Создание feature key на поле формы
заставило искать другой путь
Таким образом (не знаю насчет корректности решения) хочу в методе InitValue до супера проверить конфиг. ключ и отключить видимость поля в самой же таблице, но вот не знаю как обратиться непосредственно к полю...
К тому же сообщение oip открыло еще одну проблему...- поэтому программно

Geändert von Eldar9x (25.01.2007 um 12:27 Uhr)
Alt 25.01.2007, 12:42   #5  
mazzy ist offline
mazzy
Участник
Benutzerbild von mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29.472 / 4494 (208) ++++++++++
Registriert seit: 29.11.2001
Ort: Москва
Blog-Einträge: 10
Zitat:
Zitat von Eldar9x Beitrag anzeigen
Именно так и хотел сделать, но вот это Создание feature key на поле формы
заставило искать другой путь
Таким образом (не знаю насчет корректности решения) хочу в методе InitValue до супера проверить конфиг. ключ и отключить видимость поля в самой же таблице, но вот не знаю как обратиться непосредственно к полю...
К тому же сообщение oip открыло еще одну проблему...- поэтому программно
feature key в Ax3.0 не работают. Они оставлены для совместимости.
В Ax3.0 работают Configuration key и Security key.

Возвращаясь к исходному вопросу.
Если вы хотите физически удалить данные, то нужно использовать configuration key.
Если вы хотите "скрыть", то нужно использовать security key.
__________________
полезное на axForum, github, vk, coub.
Alt 25.01.2007, 12:56   #6  
oip ist offline
oip
Axapta
Лучший по профессии 2014
 
2.564 / 1416 (53) ++++++++
Registriert seit: 28.11.2005
Blog-Einträge: 1
Zitat:
Zitat von Eldar9x Beitrag anzeigen
но вот не знаю как обратиться непосредственно к полю...
Обратиться можно, например, так:
X++:
static void setVisible(Args _args)
{
    #AOT
    #define.Visible('Visible')
    #define.Fields('Fields')
    #define.No('No')

    treeNode treeNode;
    treeNode fieldNode;
    str      properties;
    str      tableName = tableid2Name(tableNum(tableOip));
    str      fieldName = fieldid2name(tableNum(tableOip), fieldNum(tableOip, field1));
    str      myTablePath = #TablesPath + '\\' + tableName;
    str      myFieldPath = myTablePath + '\\' + #Fields + '\\' + fieldName;
;
    treeNode = infolog.findNode(myTablePath);
    fieldNode = infolog.findNode(myFieldPath);
    properties = fieldNode.AOTgetProperties();
    properties = setProperty(properties, #Visible, #No);
    fieldNode.AOTsetProperties(properties);
    treeNode.AOTsave();
}
Но поддерживаю Маззи. Лучше через SK решить задачу. Конфигурационные ключи не для этого.
This post has been rated by: Eldar9x (1).
Alt 25.01.2007, 13:14   #7  
belugin ist offline
belugin
Участник
Benutzerbild von belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4.622 / 2925 (107) +++++++++
Registriert seit: 16.01.2004
Blog-Einträge: 5
может тогда просто не давать никому прав на это поле и всё?

можно даже без securityKey - если есть SK на таблице то можно добраться и до поля

Geändert von belugin (25.01.2007 um 13:20 Uhr)
Alt 25.01.2007, 13:21   #8  
oip ist offline
oip
Axapta
Лучший по профессии 2014
 
2.564 / 1416 (53) ++++++++
Registriert seit: 28.11.2005
Blog-Einträge: 1
Zitat:
Zitat von Eldar9x Beitrag anzeigen
В таблицу добавляем новое поле. Нужно скрыть это поле во всех формах где оно есть, если конфигурационный ключ нашей фирмы не включен.
Может постановку задачи изменить?
Alt 25.01.2007, 13:24   #9  
belugin ist offline
belugin
Участник
Benutzerbild von belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4.622 / 2925 (107) +++++++++
Registriert seit: 16.01.2004
Blog-Einträge: 5
Zitat:
Таким образом (не знаю насчет корректности решения) хочу в методе InitValue до супера проверить конфиг. ключ и отключить видимость поля в самой же таблице, но вот не знаю как обратиться непосредственно к полю...
1. initValue будет вызываться только при создании новых записей
2. теоретически можно подкорячить Класс  SysSetupFormRun и обходить все датасурсы формы скрывая поле.
Alt 25.01.2007, 13:29   #10  
Eldar9x ist offline
Eldar9x
MCTS
Benutzerbild von Eldar9x
Oracle
MCBMSS
 
1.064 / 166 (8) ++++++
Registriert seit: 29.09.2006
Ort: Казань
Маззи, спасибо, за объяснение. Oip, огромное спасибо за код, то что надо. Все таки буду делать программно (потом легче отыскать ))); Belugin, что значит не давать прав?, поле должно быть доступно если ключ активен...
Alt 25.01.2007, 13:31   #11  
Eldar9x ist offline
Eldar9x
MCTS
Benutzerbild von Eldar9x
Oracle
MCBMSS
 
1.064 / 166 (8) ++++++
Registriert seit: 29.09.2006
Ort: Казань
2 belugin: то есть пресечь проблему в "корне" (т.е. таблице) не выйдет? Все равно придется копать в сторону форм и классов? На мой взгляд, вполне логично, вырубить поле в случае нактивного конф. ключа прямо там на таблице, а не копаться в различных формах где это поле показывается. То есть обрубаем в корне, исчезает везде...

Geändert von Eldar9x (25.01.2007 um 13:35 Uhr)
Alt 25.01.2007, 13:37   #12  
belugin ist offline
belugin
Участник
Benutzerbild von belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4.622 / 2925 (107) +++++++++
Registriert seit: 16.01.2004
Blog-Einträge: 5
вот еще идея - создать SK его задать для поля, а у него уже установить CK.
Alt 25.01.2007, 13:40   #13  
mazzy ist offline
mazzy
Участник
Benutzerbild von mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29.472 / 4494 (208) ++++++++++
Registriert seit: 29.11.2001
Ort: Москва
Blog-Einträge: 10
Zitat:
Zitat von Eldar9x Beitrag anzeigen
Все таки буду делать программно (потом легче отыскать)
Вас проклянут все разработчики, которые будут потом работать в вашим кодом.
За то, что вы используете нештатный механизм для решения штатной задачи.

Этот топик очень напоминает мультик про Львенка и Черепаху.
http://hedgehoginmist.narod.ru/turtle.html
Zitat:
Они недовольно посмотрели друг на друга и вместе закончили:
- И на солнышко гляжу!
- И всё-таки надо петь лежу! - сказала Черепаха. - Это же я придумала!
- А как же я буду петь лежу, если я сижу? - спросил Львёнок.
- А ты ляг, и тогда всё будет по правде. Ты будешь лежать и петь: "Только я всё лежу!"
- А я не люблю лежать, - сказал Львёнок. - Я люблю бегать. Ну, в крайнем случае - сидеть!
- Но ты же лежал, когда подкрался ко мне!
- Я лежал, только чтобы подслушать песню, - сказал Львёнок. - Я лежу только в особенных случаях.
- Ну, а как ты спишь? Сидя, что ли? - спросила Черепаха.
- Нет, сплю я лёжа. Но когда я сплю, я же не пою!
- А ты представь себе, что ты спишь и поёшь!..
__________________
полезное на axForum, github, vk, coub.
Alt 25.01.2007, 13:44   #14  
Eldar9x ist offline
Eldar9x
MCTS
Benutzerbild von Eldar9x
Oracle
MCBMSS
 
1.064 / 166 (8) ++++++
Registriert seit: 29.09.2006
Ort: Казань
Mazzy, на 100% уверен, что ведущий программист скажет также и заставит переделывать, но уж если проблема возникла, то хочу ее решить...этим путем. Belugin, а каким образом задать SK для поля таблицы, или в свойстве ConfigurationKey поля можно задать не только CK, но и SK?

Geändert von Eldar9x (25.01.2007 um 13:50 Uhr)
Alt 25.01.2007, 13:48   #15  
oip ist offline
oip
Axapta
Лучший по профессии 2014
 
2.564 / 1416 (53) ++++++++
Registriert seit: 28.11.2005
Blog-Einträge: 1
Зря. Впрочем, как скажите.
Alt 25.01.2007, 13:50   #16  
kashperuk ist offline
kashperuk
Участник
Benutzerbild von kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4.361 / 2084 (78) +++++++++
Registriert seit: 30.05.2004
Ort: Atlanta, GA, USA
Я ни на что не намекаю, но здесь прозвучала по этому поводу хорошая фраза
"Только самоубийца будет работать с такими, как ты"

(что-то типа, а програмист вместо того, чтобы просто решить задачу, будет неделю придумывать и реализовывать извращенный алгоритм, который позволит сделать точно то же, что можно было сделать стандартным способом, который уже много раз испробован) Это конечно весело и прикольно, а сишнику вдвойне, но это не так, как следует делать на языке ERP системы
Alt 25.01.2007, 13:51   #17  
Eldar9x ist offline
Eldar9x
MCTS
Benutzerbild von Eldar9x
Oracle
MCBMSS
 
1.064 / 166 (8) ++++++
Registriert seit: 29.09.2006
Ort: Казань
дык....
Alt 25.01.2007, 13:54   #18  
Himan ist offline
Himan
Участник
Benutzerbild von Himan
 
312 / 12 (1) ++
Registriert seit: 07.11.2006
Ort: Tumen
Zitat:
Zitat von kashperuk Beitrag anzeigen
(что-то типа, а програмист вместо того, чтобы просто решить задачу, будет неделю придумывать и реализовывать извращенный алгоритм, который позволит сделать точно то же, что можно было сделать стандартным способом, который уже много раз испробован) Это конечно весело и прикольно, а сишнику вдвойне, но это не так, как следует делать на языке ERP системы
Но плох тот програмист который не хочет написать свое решение, несматря на множество уже решенных возможносте, т.е. изобрести вилосипед, а вдруг этот велосипед будет лучше, быстрее, красивее..........

Но в основном эти решения не используются.........
__________________
Рабочий день сокращает жизнь на 8 часов
Alt 25.01.2007, 13:57   #19  
kashperuk ist offline
kashperuk
Участник
Benutzerbild von kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4.361 / 2084 (78) +++++++++
Registriert seit: 30.05.2004
Ort: Atlanta, GA, USA
Zitat:
Zitat von Himan Beitrag anzeigen
Но плох тот програмист который не хочет написать свое решение, несматря на множество уже решенных возможносте, т.е. изобрести вилосипед, а вдруг этот велосипед будет лучше, быстрее, красивее..........

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

Но, насколько мне известно, суть проблемы - сделать то, что нужно, и побыстрее
Alt 25.01.2007, 14:00   #20  
oip ist offline
oip
Axapta
Лучший по профессии 2014
 
2.564 / 1416 (53) ++++++++
Registriert seit: 28.11.2005
Blog-Einträge: 1
Zitat:
Zitat von Himan Beitrag anzeigen
Но плох тот програмист который не хочет написать свое решение, несматря на множество уже решенных возможносте, т.е. изобрести вилосипед, а вдруг этот велосипед будет лучше, быстрее, красивее..........
"Процесс подготовки грамотного разработчика на Microsoft Axapta в среднем занимает год.
...
Большое время подготовки, указанное нами, подразумевает подготовку грамотного разработчика. Мы вкладываем в это понятие не только умение кодировать - внутренняя среда и язык программирования Microsoft Axapta достаточно просты (а кодировать программисту со знанием Java и C++ несложно научиться за неделю). Грамотный разработчик должен знать существующиющие функциональные возможности и вести разработку, максимально использую уже имеющийся материал."

Из Книги А. Еременко.
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Denis Fedotenko: Новые поля в складских проводках Blog bot DAX: База знаний и проекты 10 24.05.2007 11:57
Не получается закрыть видимость поля в гриде для группы egorych DAX: Администрирование 1 28.02.2007 11:07
Получение из поля Map кода поля реальной таблицы, к ней привязанной (Mappings) vey DAX: Функционал 5 16.03.2005 11:16
Получить значение поля таблицы по номеру (Id) поля Anais DAX: Программирование 2 15.04.2004 13:00
Недопустимая комбинация поля/поля ссылки Berty Wooster DAX: Программирование 2 29.05.2003 16:31

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Рейтинг@Mail.ru
Alle Zeitangaben in WEZ +3. Es ist jetzt 17:28 Uhr.
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.