11.06.2013, 18:02 | #1 |
Administrator
|
Индикаторы в SysCompareForm и IE10 (AX 2009 & AX 2012)
В процессе апгрейда приложения обнаружилось неприятное свойство формы SysCompareForm: индикаторы (красный и синий прямоугольники около комбо-боксов) в форме отображаются с помощью ActiveX HTML Document, и после обновления до IE 10 они пропадают:
В общем-то, большой проблемы в этом нет, но доставляет некоторое неудобство - постоянно приходится вспоминать, что в редакторе подсвечено красным цветом, а что - синим. Небольшое изменение меода init() формы SysCompareForm возвращает индикаторы обратно (код для AX 2009): X++: void init() { // <Fix for IE 10> #localmacro.HTMLGradient @'<html> <body scroll="No" style="border: 0; margin: 0;"> <table style="filter:progid:DXImageTransform.Microsoft.Gradient( startColorstr=%1, endColorstr=%2, gradientType=1); height: 100%; width: 100%"> <td></td> </table> </body> </html>' #endmacro // </Fix for IE 10> super(); html.prefColumnSize(600,400); combobox1.prefColumnSize(400,100); // // Set height of html controls to match height of comboBox controls // redHtmlGroup.height(comboBox1.heightValue()); blueHtmlGroup.height(comboBox2.heightValue()); // // Create gradients for red and blue indicators // // <Fix for IE 10> /* SysHelp::showHTML(htmlRed, @'<html> <body scroll="No" style=" filter:progid:DXImageTransform.Microsoft.Gradient( startColorstr=#FF0000, endColorstr=#FF9999, gradientType=1);" ></body></html>'); */ SysHelp::showHTML(htmlRed, #HTMLGradient(#FF0000, #FF9999)); // </Fix for IE 10> // <Fix for IE 10> /* SysHelp::showHTML(htmlBlue, @'<html> <body scroll="No" style=" filter:progid:DXImageTransform.Microsoft.Gradient( startColorstr=#2222FF, endColorstr=#9999FF, gradientType=1);" ></body></html>'); */ SysHelp::showHTML(htmlBlue, #HTMLGradient(#2222FF, #9999FF)); // </Fix for IE 10> }
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me Последний раз редактировалось Maxim Gorbunov; 11.06.2013 в 21:06. Причина: Поменял макрос #HTMLGradient |
|
|
За это сообщение автора поблагодарили: Vadik (1), kashperuk (5), Logger (3), Daiver (1), gl00mie (2), IvanS (1), Sergey Petrov (1). |
11.06.2013, 18:39 | #2 |
Участник
|
Пошуршал, пишут, что уже пофикшено - билд 6.2.1000.739
Вот "официальный" фикс: X++: void init() { boolean useGreen = false; super(); html.prefColumnSize(600,400); combobox1.prefColumnSize(400,100); _sysCompare = element.args().caller(); if (_sysCompare.parmContext()) { if (_sysCompare.parmContext() is SysCodeCoverageCompareContext) { useGreen = true; } } // // Set height of html controls to match height of comboBox controls // redHtmlGroup.height(comboBox1.heightValue()); blueHtmlGroup.height(comboBox2.heightValue()); // // Create gradients for red and blue / green indicators // this.createGradientIndicator(htmlRed, @'#FF0000', @'#FF9999'); if (useGreen) { this.createGradientIndicator(htmlBlue, @'#00FF00', @'#99FF99'); } else { this.createGradientIndicator(htmlBlue, @'#2222FF', @'#9999FF'); } } X++: private void createGradientIndicator(Object htmlActiveX, str startColor, str endColor) { str htmlBodyText; ; htmlBodyText = @" <html> <head> <style> .tableGradient { filter:progid:DXImageTransform.Microsoft.Gradient( startColorstr="+startColor+@", endColorstr="+endColor+@", gradientType=1); } body { border:0px; margin:0px; background-image: linear-gradient(to right, "+startColor+@", "+endColor+@"); background-color: "+startColor+@"; } </style> </head> <body scroll='No'> <table width='100%' height='100%' class='tableGradient'><td></td></table> </body> </html>"; SysHelp::showHTML(htmlActiveX, htmlBodyText); } |
|
|
За это сообщение автора поблагодарили: Maxim Gorbunov (3), Vadik (1), Logger (3), gl00mie (2). |
11.06.2013, 19:07 | #3 |
Участник
|
Будет ли сей багфикс включен в CU?
|
|
11.06.2013, 19:08 | #4 |
Участник
|
|
|
11.06.2013, 21:00 | #5 |
Administrator
|
Спасибо. А для AX 2009 хотфикса нет такого?
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
11.06.2013, 21:07 | #6 |
Administrator
|
Да, с <table> похоже, правильнее, чем с <div>.
Поменял макрос в исходном сообщении.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
12.06.2013, 12:31 | #7 |
Участник
|
Я было себе поставил IE10, а потом удалил. Потому что стало невозможно делать некоторые вещи на корпоративном сайте (MS Sharepoint, кстати). Например, подгружать документы. Что характерно, с Google Chrome проблем нет.
|
|
29.01.2017, 16:39 | #8 |
Участник
|
Коллеги, с IE11 и DAX2009 указанный способ не помогает. Может, кто знает, что для такой комбинации прописывать?
__________________
MS Dynamics AX 2009 Kernel 5.0.1600.4110 Application 5.0.1500.6491 |
|
30.01.2017, 00:10 | #9 |
Участник
|
Цитата:
А еще, IE можно заставить работать практически в любой версии, начиная с 6.0, если не ошибаюсь. |
|
05.02.2017, 14:04 | #10 |
Administrator
|
Вроде бы работает.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
|
За это сообщение автора поблагодарили: Logger (1). |
Теги |
ax2009, ax2012, ie10, syscompareform, баг |
|
|