Цитата:
Сообщение от
svcoder
1. В 1С есть 2 способа для формирования параметризированных запросов: ПостроительОтчетов и СКД. Каждый из них делит запрос на 2 части: Настройки (Выборка, Отбор, Сортировка) и Запрос, в тексте которого указывается в какие места необходимо применить указанные настройки. То есть для отчета с возможностью расшифровки пишется 1 текст запроса, к которому применяются настройки и получается итоговый текст запроса. Разумеется настройки можно сохранить. Есть ли аналогичный механизм в DAX?
в DAX можно писать запрос текстом, можно писать запрос непосредственно в коде, а можно использовать класс Query.
если запрос пишется текстом, то подстановки конечно работают
X++:
strfmt("Hello, %1", "world") == "Hello, world"
в подобных подстановках нет никакой проверки синтаксиса. программисту нужно быть предельно осторожным, если он использует этот способ. об этом я и писал.
если запрос пишется в коде, то базовая проверка синтаксиса есть. но изменить такой запрос очень и очень проблематично. хотя и возможно - в Аксапте можно программно менять код.
если используется Query, то при помощи методов этого класса можно менять любой акспект запроса. Причем объект хранит не текст, а структуру запроса. Текст запроса появляется как результат работы класса в соответствующем методе. при помощи класса Query очень сложно создать синтактически невалидный текст запроса.
именно способ c Query является предпочтительным (хотя и у него есть свои ограничения. например, нельзя сделать relation со знаком >=).
скорее всего вы хотели спросить "насколько удобно работать с запросом"
ответ: в Аксапте запрос рекомендуется хранить в классе Query. В этом случае работать с запросом на порядок легче и удобнее, нежели с текстом.
читайте на форуме по ключевому полю Query.
Цитата:
Сообщение от
svcoder
2. После того как настройки применяются к базовому запросу, СКД исключает из запроса соединения и объединения которые не влияют на результат. Есть ли подобных механизм в DAX?
Да.
Причем один запрос может выродится в несколько. Аксапта такие случаи постарается корректно обработать (справедливости ради, надо отметить, что большинство смертельных для Аксапты глюков происходит именно в таких случаях).
(для Аксаптоведов: я имею в виду временные таблицы в середине запроса, я имею в виду выключенные конфигурационными ключами таблицы, я имею в виду автовыбор полей в запросе)
Цитата:
Сообщение от
svcoder
3. В 1С с помощью виртуальной таблицы остатков и оборотов можно описать запрос, который может вывести остатки и обороты с указанной в настройках периодичностью (Год, Месяц, День, Регистратор, Запись). Есть ли подобный механизм в DAX?
понятие "периодичность" в 1С - это понятие из ядра "предметно-ориентированной системы"
в ядре аксапты нет понятия периодичность.
в адре можно сделать группировку по произвольным полям (обычный SQL).
"периодичность" в Аксапте - это понятие уровня бизнес-приложения.
сгруппировать с точностью до поля в таблице периоды - конечно же можно.
добавил: да, и конечно же в Аксапте есть предметные классы, которые работают с остатками/оборотами. в этих классах конечно же есть понятие периодичность, даты. как правило, программисту на этом уровне уже не нужно "строить запросы". на этом уровне он должен обращаться к методам соответствующих классов.
пример
http://axapta.mazzy.ru/lib/inventsumdate/
другие примеры ищите на форуме.
Цитата:
Сообщение от
ibc
Конечно есть! В АХ есть, все, что в 1С есть, и то чего в 1С нет!
А если чего то и нет, значит это не нужно вовсе! Если, местным гуру будет не лень, то они напишут это ещё раз

все - нехорошее слово.
как только видишь слово "все" - жди логической ошибки.