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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.08.2011, 19:32   #41  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от mazzy Посмотреть сообщение
э-э-э... это можно сделать и в стандарте, если выделить несколько контролов и задать значение свойства.
Только одно но. В стандартном редакторе выделить несколько контролов можно лишь в дереве, а непосредственно в дизайнере груповое выделение либо заблокировано (в AX2009) либо приводит к непроизвольному вылету клиента.
Старый 31.08.2011, 12:57   #42  
Ярослав Щекин is offline
Ярослав Щекин
Участник
 
78 / 174 (6) ++++++
Регистрация: 16.03.2009
Выкладываю новую версию.
Изменения:
. Исправлена ошибка в ScaleControl.
. Отключено применение Link-ов при изменении свойств групп.
. Добавлена возможность загрузки фоновых изображений (для обрисовки). Для ускорения его работы использовано/дописано C-ное расширение на основе TkImageTools.

Последний раз редактировалось Ярослав Щекин; 28.04.2012 в 08:11.
Старый 31.08.2011, 15:19   #43  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Ярослав Щекин Посмотреть сообщение
Добавлена возможность загрузки фоновых изображений (для обрисовки).
Здорово было бы сделать конвертацию структуры отчёта из doc.* и xls.*
Старый 01.09.2011, 19:54   #44  
Ярослав Щекин is offline
Ярослав Щекин
Участник
 
78 / 174 (6) ++++++
Регистрация: 16.03.2009
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Здорово было бы сделать конвертацию структуры отчёта из doc.* и xls.*
Да, но, по-моему, для этого лучше подошёл бы макрос на VBA, который бы формировал файл экспорта с control'ами для Axapta.

Выкладываю новую версию.

Изменения:
. Исправлена ошибка при активации пункта меню "Show background image".

Последний раз редактировалось Ярослав Щекин; 28.04.2012 в 08:11.
Старый 05.09.2011, 19:55   #45  
Ярослав Щекин is offline
Ярослав Щекин
Участник
 
78 / 174 (6) ++++++
Регистрация: 16.03.2009
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Здорово было бы сделать конвертацию структуры отчёта из doc.* и xls.*
Я тут набросал тривиальный прототип макроса для Excel. На его основе можно сделать конвертацию структуры отчёта из .xls.

X++:
Dim CurrName As Integer

Sub Main()
Dim R As Range, c As Range

CurrName = 1
SFileName = Application.GetSaveAsFilename
Open SFileName For Output As #1

For Each c In Selection
    If c.Value <> "" Then
        Set R = c.MergeArea
        Call OutputControl(c, R)
    End If
Next c

Close #1
End Sub

Function Pt2mm(Pt As Double) As String
Pt2mm = Replace(CStr(Round(Pt * 0.352777777778, 2)) + " mm", ",", ".")
End Function

Function ConvThickness(Th As Integer) As String
Select Case Th
    Case xlHairline
    ConvThickness = "Hairline"
    Case xlThin
    ConvThickness = "pt1"
    Case xlMedium
    ConvThickness = "pt3"
    Case xlThick
    ConvThickness = "pt5"
End Select
End Function

Function ConvLine(L As Integer) As String
Select Case L
    Case xlSolid
    ConvLine = "Solid"
    Case xlNone
    ConvLine = "None"
    Case xlDash
    ConvLine = "Dash"
    Case xlDashDot
    ConvLine = "DashDot"
    Case xlDashDotDot
    ConvLine = "DashDotDot"
End Select
End Function

Sub OutputControl(TheCell As Range, CtrlRange As Range)
Print #1, "TXTFIELD"
Print #1, "  PROPERTIES"
Print #1, "    Name                #TempName" + CStr(CurrName)
Print #1, "    AutoDeclaration     #No"
Print #1, "    Left                #" + Pt2mm(CtrlRange.Left)
Print #1, "    Top                 #" + Pt2mm(CtrlRange.Top)
Print #1, "    Width               #" + Pt2mm(CtrlRange.Width)
Print #1, "    Height              #" + Pt2mm(CtrlRange.Height)
Print #1, "    TopMargin           #Auto"
Print #1, "    BottomMargin        #Auto"
Print #1, "    LeftMargin          #Auto"
Print #1, "    RightMargin         #Auto"
Print #1, "    ModelFieldName      #"
Print #1, "    ConfigurationKey    #"
Print #1, "    SecurityKey         #"
Print #1, "    Label               #"
Print #1, "    LabelLineBelow      #Solid"
Print #1, "    LabelLineThickness  #pt1"
Print #1, "    ChangeLabelCase     #Auto"
Print #1, "    ShowLabel           #No"
Print #1, "    LabelTabLeader      #Auto"
Print #1, "    LabelFont           #"
Print #1, "    LabelFontSize       #"
Print #1, "    LabelItalic         #No"
Print #1, "    LabelUnderline      #No"
Print #1, "    LabelBold           #Default"
Print #1, "    LabelCharacterSet   #0"
Print #1, "    LabelWidth          #Auto"
Print #1, "    LabelPosition       #Left"
Print #1, "    Visible             #Yes"
Print #1, "    MenuItemType        #Display"
Print #1, "    MenuItemName        #"
Print #1, "    CssClass            #"
Print #1, "    LabelCssClass       #"
Print #1, "    WebTarget           #"
Print #1, "    Text                #" + TheCell.Value
Print #1, "    TypeHeaderPrompt    #Do not append ...:"
Print #1, "    ColorScheme         #RGB"
Print #1, "    BackgroundColor     #255 255 255"
Print #1, "    BackStyle           #Opaque"
Print #1, "    ForegroundColor     #0 0 0"
Print #1, "    LineAbove           #" + ConvLine(CtrlRange.Borders(xlEdgeTop).LineStyle)
Print #1, "    LineBelow           #" + ConvLine(CtrlRange.Borders(xlEdgeBottom).LineStyle)
Print #1, "    LineLeft            #" + ConvLine(CtrlRange.Borders(xlEdgeLeft).LineStyle)
Print #1, "    LineRight           #" + ConvLine(CtrlRange.Borders(xlEdgeRight).LineStyle)
Print #1, "    Thickness           #" + ConvThickness(CtrlRange.Borders(xlEdgeLeft).Weight)
Print #1, "    Alignment           #Left"
Print #1, "    ChangeCase          #Auto"
Print #1, "    Font                #"
Print #1, "    FontSize            #"
Print #1, "    Italic              #No"
Print #1, "    Underline           #No"
Print #1, "    Bold                #Default"
Print #1, "    CharacterSet        #0"
Print #1, "    ExtendedDataType    #"
Print #1, "  ENDPROPERTIES"
Print #1, "ENDTXTFIELD"
Print #1, ""
CurrName = CurrName + 1
End Sub
За это сообщение автора поблагодарили: S.Kuskov (5).
Старый 07.09.2011, 17:51   #46  
kair84 is offline
kair84
Участник
 
47 / 58 (2) ++++
Регистрация: 15.04.2010
Адрес: Belarus
Классная вещь, но есть еще над чем работать:
- при переносе текста на след. строку не учитываются заки переноса "-"
- непрлохо было бы во время перемещения контролов, в строке статуса показывать их положение, а не только после того как отпустил
- размеры шрифтов немного увеличены, пример, в дизайнере ах, текст помещается в границах контрола, и при печати тоже, а в этом выходит за его границы.
Старый 09.09.2011, 12:31   #47  
Ярослав Щекин is offline
Ярослав Щекин
Участник
 
78 / 174 (6) ++++++
Регистрация: 16.03.2009
Цитата:
Сообщение от kair84 Посмотреть сообщение
- при переносе текста на след. строку не учитываются заки переноса "-"
Добавил в ограничения.

Цитата:
Сообщение от kair84 Посмотреть сообщение
- непрлохо было бы во время перемещения контролов, в строке статуса показывать их положение, а не только после того как отпустил
Мне не кажется, что это нужно, есть же сетка и линейки.

Цитата:
Сообщение от kair84 Посмотреть сообщение
- размеры шрифтов немного увеличены, пример, в дизайнере ах, текст помещается в границах контрола, и при печати тоже, а в этом выходит за его границы.
Об этом написано в README, и причины я не понимаю, видимо Axapta либо выводит шрифты не совсем стандартным методом, либо использует какие-то другие шрифты.

Выкладываю новую версию.
Изменения:

. Много исправлений для улучшения поддержки измерений в Char-ах.
. Убрана установка всех Lines=Dashes при создании новых SHAPEFIELD.
. Несколько исправлений для корректной обработки изменения свойства Visible.
. Добавлено ограничение в README.txt.
. Добавлена экспериментальная поддержка генерации кода на X++ для экспорта отчёта в Excel.

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

Последний раз редактировалось Ярослав Щекин; 28.04.2012 в 08:11.
Теги
xpo, xpo editor, законченный пример, полезное, редактор

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Альтернативные конструкторы отчетов в Axapta Jox DAX: Программирование 22 25.04.2009 22:02
Просмотр отчетов Axapta через WEB OliaM DAX: Функционал 17 24.01.2005 23:46
Target - новый инструментарий формирования отчетов для Axapta?! OliaM DAX: Программирование 35 15.01.2005 11:09
Отчеты: стандартные средства Axapta или сторонние генераторы отчетов? ArturK DAX: Функционал 6 14.08.2003 13:54
Введение в Аксапту Роман Кошелев DAX: Прочие вопросы 0 18.12.2001 14:00

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

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

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