Показать сообщение отдельно
Старый 28.12.2010, 14:44   #31  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от 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С нет!
А если чего то и нет, значит это не нужно вовсе! Если, местным гуру будет не лень, то они напишут это ещё раз
все - нехорошее слово.
как только видишь слово "все" - жди логической ошибки.
__________________
полезное на axForum, github, vk, coub.

Последний раз редактировалось mazzy; 28.12.2010 в 15:02. Причина: добавил про периодичность.