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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.03.2002, 10:17   #1  
slava is offline
slava
сибиряк
Самостоятельные клиенты AX
 
468 / 23 (1) +++
Регистрация: 28.12.2001
Адрес: Москва
field Group
подскажите , как получить все (или конкретную field Group) таблицы, и поля в этой группе. вариант с перебором AOT не предлагать
Может можно как-то проще ?
__________________
С уважением, Вячеслав.
Старый 25.03.2002, 09:50   #2  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Извините, нет времени отвечать подробно, дам только направление для поисков.

Посмотрите класс DictFieldGroup. Там про него даже помощь какая-то написана.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 25.03.2002, 10:54   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
max, странная поставнока вопроса. Ты не находишь?

Что значит "получить"?
Если хочешь "получить", то штатное средство - перебор AOT с помощью классов просмотрщиков-манипуляторов (например, DictFieldGroup). Повторюсь - это штатный и самый прямой путь.

Если же что-либо другое, то попробуй сформулировать что ты хочешь от группы полей.
__________________
полезное на axForum, github, vk, coub.
Старый 25.03.2002, 11:50   #4  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Сергей, думаю, что под перебором AOT здесь все-таки подразумевалось использование методов treeNode.AOT* С ними все действительно очень сложно получается.

Однако, действительно, некоторые вещи с помощью DictFieldGroup сделать не удастся (не уверен, но кажется добавить поле в группу с помощью этого класса не получится).
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 25.03.2002, 12:12   #5  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Хм... Наверное.

А зачем добавлять поле в группу ПРОГРАММНО?
Ты мастера делаешь?

Тебе ж еще с синхронизацией и обновлением AOTа придется мучатся...
Может проще дать пользователю доступ в репозитарий? Или на худой конец открыть ему только данную таблицу с помощью контектного меню? Это будет штатное использование штатных средств с штатными возможностями по управлению доступом и т.п.

Может скажешь что за задача? Не могу себе представить (кроме задач системного программирования) где такая фича могла бы понадобится.
__________________
полезное на axForum, github, vk, coub.
Старый 25.03.2002, 12:43   #6  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Сергей, если Вы спрашиваете меня, то конкретной задачи у меня нет. Я просто предположил, какого рода действия не удастя произвест через класс Dict*, а придется использовать treeNode.AOT*

А к какой таблице Вы предлагаете дать пользователю доступ? Кстати, никто не знает, как пользователю разрешить/запретить доступ к части AOT (кажется, можно регулировать доступ к формам, классам и т. п., а вот к конкретным формам и классам можно или нет)?
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 25.03.2002, 13:09   #7  
slava is offline
slava
сибиряк
Самостоятельные клиенты AX
 
468 / 23 (1) +++
Регистрация: 28.12.2001
Адрес: Москва
Спасибо за DictFieldGroup.

а задача действительно туманная:

у меня есть класс, который выкидывает данные в Excel.
Находясь в форме, хочу по каждому Query, привязанному к dataSource выкладывать данные в Excel. Можно каждую таблицу на отдельный лист. Все это проделывается по менюайтему кинутому на произвольную формочку. Что бы уменьшить объем информации хочется выбирать поля таблицы, которые входят в определенную field Group, можно даже Автоотчет. Вот для этого и нужно получить список этих полей.
Надеюсь кто-нибудь понял постановку
__________________
С уважением, Вячеслав.
Старый 25.03.2002, 21:53   #8  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Я, например, нет.

Если тебе эта фича нужна для разработки/отладки, то почему бы тебе не выделить все строчки грида и не кинуть в Эксель через буфер обмена? (выделить все строчки можно нажав на квадрат в верхнем-левом углу грида).
Пару раз так проделаешь, поймешь что к чему и пройдет у тебя потребность в такой фиче.

Если эта фича нужна для пользователей... Опять же, Ihmo, лучше сделать нормальный отчет с помощью мастера отчетов, а не заниматься программизмом.

slava, я не понимаю почему именно такая постановка вопроса?
Тебе нужны данные для отладки? Так возьми их без программизма.
Тебе нужно дать данные для пользователей? Так сделай им нормальный отчет.
__________________
полезное на axForum, github, vk, coub.
Старый 26.03.2002, 06:32   #9  
Andrew Besedin is offline
Andrew Besedin
Участник
 
121 / 15 (1) ++
Регистрация: 25.01.2002
Всем привет!
Задача с выкидыванием данных в Эксель весьма актуальна. Напр., есть такой отчет - акт сверки расчетов между нашим предприятием и другим. Так вот, бухгалтерия хочет иметь возможность его править ручками (т.к. туда попадают разные "ненужные" проводки - напр, сторнировочные). Вариант с RTF-файлом не совсем то, т.к.не получается суммы пересчитывать - мало ли что они там изменят? Но, с другой стороны, нормального инструмента по выгрузке форматированных данных в Эксель тоже нет. Вот вам и задача
__________________
С уважением,
Андрей Беседин
Старый 26.03.2002, 07:43   #10  
slava is offline
slava
сибиряк
Самостоятельные клиенты AX
 
468 / 23 (1) +++
Регистрация: 28.12.2001
Адрес: Москва
<b>2mazzy</b>
фича нужна и для разработки/ отладки, и для пользователей.
Некоторые комментарии к замечаниям
Не очень удобно выкидывать данные простой пометкой грида, так как столбцы, не входящие в грид, упорно не хотят выпрыгивать в Excel. Я в чем-то их даже понимаю
К тому же постоянно съезжающая кодировка при таком переносе из Аксапты в Excel, сильно раздражает.
По поводу отчетов:
сообщение "Отчет отмасштабирован на нн-ое количество процентов" после того как он уже сформировался, приводит пользователей в ступор. Он действительно зачем-то масштабируется! И на листе формата А4 весь текст умещается на уголке листа!!! Причем данная фича приходит и уходит нерегулярно. Пока пытаюсь лечить ее изменением настройки принтеров. Но объясните тогда, почему один отчет масштабируется, а другой нет?!
Совсем недавно обнаружил что, выделяя курсором мыши текст в окне сформировавшегося отчета, можно копировать его в другие приложения. Вот если бы Аксапта позволяла выделять листами, цены бы ей не было
А выгрузка данных в Excel сейчас активно используется нашими экономистами. Сформировав за определенный период показатели по предприятию (остатки, реализация, приход, розница, касса, банк, ....) во всяких разрезах, они могут за пять минут подготовить любую справку или отчет. При всем желании, в Аксапте это трудно реализовать за такое время.
А по выгрузке данных из форм - мне кажется, это просто удобно. Что-то <b>можно</b> делать без программизма. Многое <b>можно</b> делать без программизма. Многое <b>надо</b> делать без программизма. Но только если это многое уже нормально реализовано.
__________________
С уважением, Вячеслав.
Старый 26.03.2002, 10:06   #11  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Пара ответов...
Цитата:
Изначально опубликовано Andrew Besedin
Вариант с RTF-файлом не совсем то, т.к.не получается суммы пересчитывать - мало ли что они там изменят?
Не очень понял, что за RTF-файл. Я как-то писал про выгрузку через текстовый файл (выбирайте именно формат ASCII). Тогда получается CSV-файл, который от обычного XLS файла существенно отличается только отсутствием форматирования и разбивки на листы.

Цитата:
Изначально опубликовано Andrew Besedin
Но, с другой стороны, нормального инструмента по выгрузке форматированных данных в Эксель тоже нет.
Вынужден согласиться

Цитата:
Изначально опубликовано slava
По поводу отчетов:
сообщение "Отчет отмасштабирован на нн-ое количество процентов" после того как он уже сформировался, приводит пользователей в ступор. Он действительно зачем-то масштабируется! И на листе формата А4 весь текст умещается на уголке листа!!! Причем данная фича приходит и уходит нерегулярно. Пока пытаюсь лечить ее изменением настройки принтеров. Но объясните тогда, почему один отчет масштабируется, а другой нет?!
В диалоге, появляющемся при формировании отчета, на второй заклаке есть замечательные группы контролов, позволяющие включить заданную ориентацию листа и отключить масштабирование. Сделайте это один раз, потом данные сохраняться. Ориентацию страницы, кстати, можно задать в свойствах ReportDesign. С масштабированием такой финт, кажется, не проходит.

Цитата:
Изначально опубликовано slava
...они могут за пять минут подготовить любую справку или отчет. При всем желании, в Аксапте это трудно реализовать за такое время.
Кто знает. Наверное, это зависит от опыта работы в конкретной программе. В Excel по началу тоже, наверное, было непривычно.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 26.03.2002, 10:48   #12  
slava is offline
slava
сибиряк
Самостоятельные клиенты AX
 
468 / 23 (1) +++
Регистрация: 28.12.2001
Адрес: Москва
RE: Кто знает. Наверное, это зависит от опыта работы в конкретной программе.
Нет, скорее это зависит от постановки задачи. Когда приходит начальник отдела и просит дать ему "это, плюс вот это, а вот это в другом разрезе" и все за 5 минут, то не применяя "программизм" в Аксапте получить данные либо очень сложно, либо невозможно в краткие сроки. А тащить каждую такую постановку в систему смысла , как мне кажется, не имеет.
Конечно, многое зависит и от опыта работы в конкретной программе. Но все же иметь инструмент трансфера данных в привычные для большинства пользователей офисные приложения было бы не так уж плохо.
__________________
С уважением, Вячеслав.
Старый 26.03.2002, 21:19   #13  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
К Andrew Besedin
Цитата:
нормального инструмента по выгрузке форматированных данных в Эксель тоже нет
Есть.
1. Документооборот (без программирования)
2. Отчеты в российском модуле зарплата (с программированием)
Хотя все зависит от определения слова "нормальный"


К Slava
Цитата:
Не очень удобно выкидывать данные простой пометкой грида, так как столбцы, не входящие в грид, упорно не хотят выпрыгивать в Excel
Никто тебе не мешает модифицировать грид. Особенно на время тестирования. Не так ли?

Про масштабирование. Уже рассказали.
Скорее всего, ты говоришь про отчет "кассовая книга". В дизайне таких отчетов были оставлены очень широкие элементы (возможно пустые). Если выводится секция с таким элементом, то Аксапта пытается смаштабировать. В частности в кассовой книге так происходит, если печатать с титульным листом. Если печатать без титульного листа, то все нормально. Совет: найди в отчете широкие элементы и измени их ширину.


Цитата:
Совсем недавно обнаружил что, выделяя курсором мыши текст...
А еще к печатаемому элементу можно привязывать MenuItem... Но это уже программирование...

Цитата:
они могут за пять минут подготовить любую справку или отчет. При всем желании, в Аксапте это трудно реализовать за такое время
Ты, наверное, имел в виду время формирования отчетов. Так?
Ты наверняка знаешь, что существует два подхода OLTP и OLAP.
OLTP - данные можно быстро добавлять и легко изменять. Время выборки большое
OLAP - данные обновляются медленно. Однако время выборки минимальное (несколько секунд).

Так вот. Аксапта - традиционная OLTP система. Данные для анализа лучше размещать в OLAP-системах. Аксапта имеет штатные средства для работы с MS OLAP. Предполагается, что эффективнее выгрузить данные туда и анализировать там, чем заставлять OLTP-систему корячится.

Цитата:
Что-то можно делать без программизма. Многое можно делать без программизма. Многое надо делать без программизма. Но только если это многое уже нормально реализовано.
Согласен.
Считаю, что программировать бизнес-логику - неэффективно и нерентабельно.
Считаю, что программировать можно и нужно систему безопасности, черно-белое, дополнительные функции, необходимые в рутинной работе (скопировать, отобрать, заполнить значениями и т.п.)


Цитата:
то не применяя "программизм" в Аксапте получить данные либо очень сложно, либо невозможно в краткие сроки
Ты, наверное, знаешь, что в стандартном окне Query можно добавлять поля? А также ты наверное знаешь, что в этом же окне можно добавлять и связанные [b]таблицы/b]? И наверняка этим пользуешься для того, чтобы модифицировать выборку в стандартных отчетах? И все равно "очень сложно"? Можешь объяснить почему?
__________________
полезное на axForum, github, vk, coub.
Старый 27.03.2002, 09:46   #14  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Изначально опубликовано mazzy
...И все равно "очень сложно"? Можешь объяснить почему?
Разумеется, что касается данных из Axapta в чистом виде, то особых сложностей не возникает. А что делать, если в отчете нужно получить результат некоторой нетривиальной операции над полями (на самом деле, даже разделить одно на другое), то просто отчетом по query уже не обойтись. Видимо, здесь подойдет использование OLAP. Ничего определенного по этому поводу сказать не могу, так как ни разу не пробовал выгружать данные на OLAP-сервер из Axapta. А кто-нибудь делал? Может поделитесь опытом и расскажете, какие возникли проблемы (без них, кажется, не должно было обойтись)
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 28.03.2002, 06:41   #15  
slava is offline
slava
сибиряк
Самостоятельные клиенты AX
 
468 / 23 (1) +++
Регистрация: 28.12.2001
Адрес: Москва
... А еще к печатаемому элементу можно привязывать MenuItem... Но это уже программирование...

Можно поподробнее? Вот как раз это свойство элементов отчета я в свое время так и не смог понять. Добавляю control в отчет, эксперементирую с типами menuItem, но на экране все равно статический текст. У меня конечно есть предположения как оно должно работать, но хотелось бы знать точно.
__________________
С уважением, Вячеслав.
Старый 28.03.2002, 20:03   #16  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Изначально опубликовано max
А что делать, если в отчете нужно получить результат некоторой нетривиальной операции над полями (на самом деле, даже разделить одно на другое), то просто отчетом по query уже не обойтись. Видимо, здесь подойдет использование OLAP.
OLAP - подойдет.
Если же хочется обойтись без ОЛАПа, то есть три варианта (разлчаются объемом программирования)
1. Экспортировать стандартный отчет в Эксель. Вычислить нетривиальную функцию в Экселе.
2. В стандартном отчете добавить вычислимое поле (Поле выводит результат display-метода. display-метод надо запрограммировать)
3. Создать с помощью мастера отчетов свой отчет и вставить в свой отчет вычислимое поле.

Цитата:
Добавляю control в отчет, эксперементирую с типами menuItem, но на экране все равно статический текст.
Насколько я помню должно появляться контекстное меню при нажатии правой кноки мыши на этом элементе.
__________________
полезное на axForum, github, vk, coub.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axStart: Check if the table field is mapped. Blog bot DAX Blogs 0 07.03.2009 00:05
Изменение группы полей (Field Group) на таблице Lucky13 DAX: Программирование 11 04.03.2009 17:51
palleagermark: Set focus on a particular field on an EP page Blog bot DAX Blogs 0 27.11.2008 14:05
axStart: table & field ID conflicts Blog bot DAX Blogs 0 29.05.2008 17:05
Говорят вышел SP2 для Axapta 3. Кто нибуть что знает на эту тему? soin DAX: Прочие вопросы 10 13.10.2003 10:43
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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