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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.04.2006, 11:51   #1  
LexusS is offline
LexusS
Участник
 
17 / 10 (1) +
Регистрация: 11.04.2006
Red face Вопрос "знающим" по отчетам
Всем привет, я новичек. Пришел из Аксеса не могу никак начать врубаться, в Аксапту все непонятно и неудобно , подскажите кто может или дайте ссылку.
1.Можно немго рассказать какие события за какими идут, что надо перекрыть и куда написать Запрос (с групировкой, по нескольким таблицам, вощем запрос я написать смогу) при создании отчета?
простые отчеты (без кода) у меня получаются.

2.Как проверить результат запроса (встречал "Вьюха" что это такое?). Знаю что не сложно но не знаю как.
Старый 11.04.2006, 12:12   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от LexusS
1.Можно немго рассказать какие события за какими идут, что надо перекрыть и куда написать Запрос (с групировкой, по нескольким таблицам, вощем запрос я написать смогу) при создании отчета?
простые отчеты (без кода) у меня получаются.
Руководство разработчика. ключевое слово sequence.

Цитата:
Сообщение от LexusS
2.Как проверить результат запроса (встречал "Вьюха" что это такое?). Знаю что не сложно но не знаю как.
Запросов в Аксапте бывает несколько.
Если речь идет о query, то читайте руководство разработчика.
Есть два способа - программный (он и описан в руководстве разработчика)
Подставить форму в свойства запроса (но этот способ требует хоть каких-то навыков в Аксапте)
Начните с программного способа.
Начните с RTFM.

Рекомендую
http://axapta.mazzy.ru/lib/#gettingstarted
__________________
полезное на axForum, github, vk, coub.
Старый 11.04.2006, 12:17   #3  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,309 / 3546 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Хех ... Как Аксесник аксеснику (ба! знакомые проблемы! )
0. Все не так просто как в Аксессе - не так описано; малоиспользумеые события могут больше глючить или велика вероятность ошибиться... и вообще много чего неудобно... Аксесс как обычно рулит
1. Перечень событий описан в Developer Guide... но там по кускам инфа - но выдрать можно. Далеко не так как в VBA-шной справке - намного хуже
2. Результат запроса можно проверить только написав тестовый джоб (\Jobs\). Других красивых путей в стандарте нет. Мои попытки сделать что-то типа обозревателя запросов (в плане данных) не привели к какому-либо удачному решению.
Да, кстати - нужно учесть фичу - Аксапта и Аксесс немного по-разному представляют себе SQL-запрос - и в Аксапте запрос нельзя подложить (увы ) под отчет. (Сразу подчеркну - нельзя - это означает как правило этого не получается в том понимании как это делалось в Аксессе) Делается это с помощью цикла while путем перебора данных.. Да, и нужно учесть что в синтаксисе X++ конструкции INNER/LEFT/RIGHT/OUTER JOIN нет. Понятно, что эта конструкция может построиться через WHERE, но в прямом виде этого нет. После Аксесса с его удобным построителем запросов - тут гораздо тоскливей...
По поводу "вьюхи" - это сохраненный SELECT. Причем в Аксапте - это скульные вьюхи.
Собсно говоря сложные запросы (как в Аксессе, с использованием н-цати таблиц или запросы на основе запросов) - здесь в большинстве своем (это я говорю с точки зрения новичка, который начал пробовать свои силы в Аксапте, до этого поработав в Аксессе) таких не получится.
Как правило - это будет делаться циклом по выборке записей. А в цикле - уже будут исполняться отдельные sql-запросы (т.е. сложный запрос бьется на несколько маленьких).

Примерно так. Хочу сразу отметить - что мое мнение - исключительно основано на личных ощущениях при переходе от Аксесса к Аксапте и написано с точки зрения аксессника.
__________________
Возможно сделать все. Вопрос времени

Последний раз редактировалось sukhanchik; 11.04.2006 в 12:26.
Старый 11.04.2006, 12:26   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от sukhanchik
1. Перечень событий описан в Developer Guide... но там по кускам инфа - но выдрать можно. Далеко не так как в VBA-шной справке - намного хуже
О!!! Да! Намного. На очень много...

Цитата:
Сообщение от sukhanchik
2. Результат запроса можно проверить только написав тестовый джоб (\Jobs\).
Есть. Обратите внимание на свойство Form в запросе.
Но согласен с тем, что это не для новичков.

Цитата:
Сообщение от sukhanchik
Других красивых путей в стандарте нет. Мои попытки сделать что-то типа обозревателя запросов (в плане данных) не привели к какому-либо удачному решению.
не понял.
Вы про Главное меню \ Администрирование \ Запросы \ База данных \ Журнал трассировки операторов SQL. Кнопка План запроса.
Да, кстати - нужно учесть фичу - Аксапта и Аксесс немного по-разному представляют себе SQL-запрос - и в Аксапте запрос нельзя подложить (увы ) под отчет. Делается это с помощью цикла while путем перебора данных.. Да, и нужно учесть что в синтаксисе X++ конструкции INNER/LEFT/RIGHT/OUTER JOIN нет. Понятно, что эта конструкция может построиться через WHERE, но в прямом виде этого нет. После Аксесса с его удобным построителем запросов - тут гораздо тоскливей...[/QUOTE]
__________________
полезное на axForum, github, vk, coub.
Старый 11.04.2006, 12:54   #5  
LexusS is offline
LexusS
Участник
 
17 / 10 (1) +
Регистрация: 11.04.2006
2 mazzy
спасибо буду искать.

2 sukhanchik
приятно встретить собрата, а то все 1с да 1с.

Мысли вслух: Раз уж делали Аксапту, неужели нельзя сделать чтонить поудобнее, ведь сколько времени тратится впустую на форму когда понимаешь содержание, или это просто точный расчет для зарабатывания денег, жалко конечно ведь система на самом деле путевая.
Старый 11.04.2006, 13:09   #6  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
2 LexusS:
Не могу не вставить свои "5 копеек", ибо путешествие свое по AxForum-у начал практически с аналогичного вопроса.
Может, Вам будет полезно: http://www.axforum.info/forums/showt...4358#post94358
Успехов!
Старый 11.04.2006, 15:24   #7  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,309 / 3546 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
2mazzy:
Не.... я не совсем про это... конечно - план запроса (то что Вы привели) - это штука полезная и нужная. Но.... это не то, что имелось в виду под вопросом аксессника. В Аксессе есть возможность сконстрировать запрос на выборку и тут же (не сохраняя его) - одной кнопкой просмотреть результаты выборки. Если запрос сложный (много таблиц/запросов, много связей и условий, есть группировка) - то это является далеко не лишним.
К тому же в плане запроса - только большой большой скуль... это некая трансляция скуля аксаптийного в скуль настоящий... Главное - тут нельзя результирующие данные (результат выборки).

В отношении свойства Form в запросе... я согласен с тем - что я, имея в виду под запросом выражение select в коде X++ совершенно забыл про объекты Query.

Однако - Query - хотя и представляет собой запрос - как объект - его нельзя (или я не знаю как) создать по SQL-строке. Поэтому как верно было подмечено - это отнюдь не для новичков
__________________
Возможно сделать все. Вопрос времени
Старый 11.04.2006, 15:28   #8  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,309 / 3546 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от LexusS
Мысли вслух: Раз уж делали Аксапту, неужели нельзя сделать чтонить поудобнее, ведь сколько времени тратится впустую на форму когда понимаешь содержание, или это просто точный расчет для зарабатывания денег, жалко конечно ведь система на самом деле путевая.
Возражения вслух: Аксапта создавалась как система учета в первую очередь, и ее средства разработки - содавались в первую очередь как возможность дополнительной настройки. Аксапта НЕ создавалась как среда программирования.
То, что она такая получилась - это еще спорный вопрос - хорошо или плохо. Для сравнения - в САПе - существенно меньшая гибкость подстроек - и то что в Аксапте неудобно (с т.з. программирования) - там может быть просто невозможно. Но с другой стороны - САП и меньше подвержен программированию
__________________
Возможно сделать все. Вопрос времени
Старый 11.04.2006, 16:57   #9  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от sukhanchik
В отношении свойства Form в запросе... я согласен с тем - что я, имея в виду под запросом выражение select в коде X++ совершенно забыл про объекты Query.
И совершенно напрасно.

Цитата:
Сообщение от sukhanchik
Однако - Query - хотя и представляет собой запрос - как объект - его нельзя (или я не знаю как) создать по SQL-строке. Поэтому как верно было подмечено - это отнюдь не для новичков
Не-а! Категорически не согласен.
Именно объекта Query надо начинать изучение.
Не для новичков передача параметров из объекта Query в форму.
__________________
полезное на axForum, github, vk, coub.
Старый 11.04.2006, 19:04   #10  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,309 / 3546 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от mazzy
Не-а! Категорически не согласен.
Именно объекта Query надо начинать изучение.
Есть тут маленький нюанс. Есть категория людей - которая не знает SQL Server, язык SQL, и т.д. и идет изучать Аксапту. Для них - все в новизну. Они логично начинают изучать с Query в данном случае (к примеру)
Есть категория людей - которая частично что-то знает. Кто-то изучал C++, C#, Java, SQL, просто работал с базами данных. Если человек программировал в Аксессе непрерывно около года - то он с вероятностью 95% привык к SQL-конструкциям. Уже по постановке задачи можно с ходу сгенерить SQL-запрос. В каком-то смысле это уже образ мысли такой.... Теперь ситуация (а я думаю - она типична для тех, кто пришел изучать Аксапту - до этого активно работавших с T-SQL или Access-SQL) - видит чел новую систему, видит в ней знакомые слова. Очевидно - что вначале - он еще мыслит категориями Аксесса - что заведомо неверно, но процесс идет, и сначала осваиваются запросы из X++, а потом уже следующим этапом идет освоение Query и т.д.

Это на моем примере. Мне кажется это типично для всех - кто изучал что-то, что имеет так или иначе отражение в Аксапте (либо другой системе). Конечно, я не имею представление - как правильно (лучше для осознания ) нужно было изучать Аксапту... но - мне кажется я не один такой (и не претендую на гуру) ... Кто изучает Аксапту - работая среди своих коллег - у того скорее всего похожая ситуация
__________________
Возможно сделать все. Вопрос времени

Последний раз редактировалось sukhanchik; 11.04.2006 в 19:06.
Старый 12.04.2006, 09:37   #11  
LexusS is offline
LexusS
Участник
 
17 / 10 (1) +
Регистрация: 11.04.2006
согласен с sukhanchik. Лично я как аксесник пытаюсь все смотреть сквозь призму аксеса и начинаю сразу делать запросы, и мне очень не хватает милого сердцу конструктора, на думаю что я начинаю потихоньку прозревать.
Старый 12.04.2006, 10:38   #12  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от LexusS
согласен с sukhanchik. Лично я как аксесник пытаюсь все смотреть сквозь призму аксеса и начинаю сразу делать запросы, и мне очень не хватает милого сердцу конструктора, на думаю что я начинаю потихоньку прозревать.
И я согласен с sukhanchik. И тоже как аксесник вижу мир через эту призму (11-й год уже как). И "прозревать", честно говоря, не тороплюсь. Я в Аксапте полтора года, причем первый год знакомство шло практически исключительно на уровне таблиц БД, которые я по мере необходимости прилинковывал как таблицы ODBC к аксессному файлу (я даже назвал его скромненько: dbAxapta.mdb). Ну а дальше понятно: любая последовательность НОРМАЛЬНЫХ запросов, хочется отчеты - пожалуйста - в Аксесе же! Причем, всё быстро и уверенно. В общем, чувствовал себя достаточно комфортно. Год прошёл, думаю, надо бы уже по-взрослому Аксу начать осваивать. Вот, начал... Пока чувствую себя автомобилем с колесами без шипов на льду - газу много, а перемещение не очень большое и не очень контролируемое...
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Вопрос по модулю "Сервисное обслуживание" в четверке Янг DAX: Функционал 2 04.09.2008 16:34
Вопрос по полю Spid(s) на форме "активные пользователи" xgmann DAX: Программирование 2 18.02.2008 23:38
Вопрос по поводу "Модификации были отменены". Что можно сделать? Hans DAX: Программирование 23 22.12.2005 16:34
Вопрос совсем "зеленый". Куда приткнуть метод? Hobo DAX: Программирование 3 13.02.2004 18:07

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

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

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