|
![]() |
#1 |
Участник
|
Цитата:
Есть ли аналогичный механизм в DAX?
А если чего то и нет, значит это не нужно вовсе! Если, местным гуру будет не лень, то они напишут это ещё раз ![]() |
|
![]() |
#2 |
Участник
|
Цитата:
Сообщение от svcoder
![]() 1. В 1С есть 2 способа для формирования параметризированных запросов: ПостроительОтчетов и СКД. Каждый из них делит запрос на 2 части: Настройки (Выборка, Отбор, Сортировка) и Запрос, в тексте которого указывается в какие места необходимо применить указанные настройки. То есть для отчета с возможностью расшифровки пишется 1 текст запроса, к которому применяются настройки и получается итоговый текст запроса. Разумеется настройки можно сохранить. Есть ли аналогичный механизм в DAX?
если запрос пишется текстом, то подстановки конечно работают X++: strfmt("Hello, %1", "world") == "Hello, world" если запрос пишется в коде, то базовая проверка синтаксиса есть. но изменить такой запрос очень и очень проблематично. хотя и возможно - в Аксапте можно программно менять код. если используется Query, то при помощи методов этого класса можно менять любой акспект запроса. Причем объект хранит не текст, а структуру запроса. Текст запроса появляется как результат работы класса в соответствующем методе. при помощи класса Query очень сложно создать синтактически невалидный текст запроса. именно способ c Query является предпочтительным (хотя и у него есть свои ограничения. например, нельзя сделать relation со знаком >=). скорее всего вы хотели спросить "насколько удобно работать с запросом" ответ: в Аксапте запрос рекомендуется хранить в классе Query. В этом случае работать с запросом на порядок легче и удобнее, нежели с текстом. читайте на форуме по ключевому полю Query. Цитата:
Причем один запрос может выродится в несколько. Аксапта такие случаи постарается корректно обработать (справедливости ради, надо отметить, что большинство смертельных для Аксапты глюков происходит именно в таких случаях). (для Аксаптоведов: я имею в виду временные таблицы в середине запроса, я имею в виду выключенные конфигурационными ключами таблицы, я имею в виду автовыбор полей в запросе) Цитата:
в ядре аксапты нет понятия периодичность. в адре можно сделать группировку по произвольным полям (обычный SQL). "периодичность" в Аксапте - это понятие уровня бизнес-приложения. сгруппировать с точностью до поля в таблице периоды - конечно же можно. добавил: да, и конечно же в Аксапте есть предметные классы, которые работают с остатками/оборотами. в этих классах конечно же есть понятие периодичность, даты. как правило, программисту на этом уровне уже не нужно "строить запросы". на этом уровне он должен обращаться к методам соответствующих классов. пример http://axapta.mazzy.ru/lib/inventsumdate/ другие примеры ищите на форуме. Цитата:
как только видишь слово "все" - жди логической ошибки. Последний раз редактировалось mazzy; 28.12.2010 в 15:02. Причина: добавил про периодичность. |
|
![]() |
#3 |
Ищущий знания...
|
Цитата:
![]() не внимательно прочитал, приношу свои извинения!
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем Последний раз редактировалось lev; 28.12.2010 в 16:00. Причина: зачеркнул неверное утверждение |
|
![]() |
#4 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: lev (2). |
![]() |
#5 |
Ищущий знания...
|
Цитата:
![]() не внимательно прочитала, беру свои слова обратно. спасибо Raven Melancholic за поправочку.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
![]() |
#6 |
Участник
|
К сообщению mazzy про запрос следует добавить то, что запрос является не только отдельным объектом, но и в формах, отчетах и т.п. используется именно запрос. С некоторыми тонкостями все средства обработки из языка запросов в форме, отчетах, наследниках RunBase (отдаленный аналог обработки в 1С) одинаковы. Кроме настройки этих запросов из кода можно полностью заменить запрос у той же формы в момент выполнения.
Справедливости ради, стоит сказать, что такие программные манипуляции усложняют восприятие. То есть, чтобы понять почему форма (отчет) ведут себя тем или иным образом, а не так, как ожидаешь, приходится лезть в код, а не смотреть дизайн. Но одно из самых замечательных свойств этой унификации запросов то, что пользователь может задавать в форме, в отчете, в обработке дополнительные связи с другими таблицами способом, который разработчик и не предполагал. Правда, это добавление не позволяет вывести какие-то дополнительные данные, но в качестве фильтрации вполне хорошо себя зарекомендовало. Такие настройки можно сохранять и использовать в дальнейшем. Например, в списке клиентов пользователь таким способом может отфильтровать клиентов каким-нибудь особым способом, под который писать отдельные отчеты или запросы не требуется. Скажем ,пользователь может задать что-то подобное: "Отобразить тех клиентов, у которых у директора день рождения на следующей недели и которые купили у нас в прошлом месяце чего-то на сумму больше миллиона за раз, но долги которых не являются просроченными". |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
![]() |
#7 |
Участник
|
Цитата:
Сообщение от Raven Melancholic
![]() Например, в списке клиентов пользователь таким способом может отфильтровать клиентов каким-нибудь особым способом, под который писать отдельные отчеты или запросы не требуется. Скажем ,пользователь может задать что-то подобное: "Отобразить тех клиентов, у которых у директора день рождения на следующей недели и которые купили у нас в прошлом месяце чего-то на сумму больше миллиона за раз, но долги которых не являются просроченными".
|
|
Теги |
1c, платформа, сравнение систем |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|