|
![]() |
#1 |
Участник
|
|
|
![]() |
#2 |
Участник
|
Э, нет, Сисой, так не честно. Полнотекстовому поиску 1С нельзя задать область поиска, так что по выражениям в критериях мы терпим фиаско. И опрос о востребованности тоже поднимать смысла нет - возможности обсуждаем, а не применение их.
Кроме того, я надеюсь 1С прикрутит к динамическому списку работу с ресурсами, а то глупость какая-то - сгруппировать список по датам я могу, а вот итоговую сумму по ней - фигушки. На рисунке видно как раз. Делали-делали и недоделали. |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
![]() |
#3 |
Участник
|
Цитата:
Сообщение от Сисой
![]() В качестве альтернативы 1С предоставляет механизм полнотекстового поиска, существенно превосходящий язык выражений Ax по возможностям:
Полнотекстовый поиск в 1С. (пока запускаю аксапту и готовлю скриншот, уже опередили) именно так. кроме того, надо признать, что в Аксапте, как и в 1С полнотектовый поиск реализован не средствами СУБД, а на своих таблицах. В результате администрирование этого безобразия превращается в гемор. Ну, и конечно надо признать, что полнотекстовый поиск на русском языке в 1С реализован намного лучше. Тут они молодцы. Майкрософт не занималась разноячными правилами поиска, в Аксапте ищется на всех языках одинаково. (щас скриншот таки сделаю) добавлено: можно я все-таки не буду дожидаться окончания индексации в русской базе? вот скриншот из международной демобазы. в категории попадает таблицы, в которых Аксапта нашла записи Последний раз редактировалось mazzy; 16.04.2010 в 11:32. Причина: добавил скриншот |
|
![]() |
#4 |
Участник
|
В 1С СКД невозможно писать динамические запросы и/или динамически указывать источники данных! То есть все имена в СКД прописываются статично. Невозможно указать к примеру так
Поле запроса №45 должно браться из переменной ПолеХ или формироваться по формуле (Формула), если Поле Запроса №23 соответствует условию (Условие) - Это минус СКД. В Х++ для этого нужно писать код, мышкой такое условие, как я понял то же не задать в настройках! Или я ошибаюсь? |
|
![]() |
#5 |
Участник
|
Цитата:
Сообщение от ibc
![]() В 1С СКД невозможно писать динамические запросы и/или динамически указывать источники данных! То есть все имена в СКД прописываются статично. Невозможно указать к примеру так
Поле запроса №45 должно браться из переменной ПолеХ или формироваться по формуле (Формула), если Поле Запроса №23 соответствует условию (Условие) - Это минус СКД. X++: . ="ВЫБРАТЬ | Номенклатура.Ссылка, | Номенклатура.Наименование, | 0 КАК ПорядокСортировки |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.Наименование ПОДОБНО &ПерваяСтрокаПоиска"; ..("ПерваяСтрокаПоиска", ""); |
|
![]() |
#6 |
Участник
|
Цитата:
= либо включить авторежим, когда аксапта сама подберет список полей, которые используются = либо включить все поля = либо вручную перечислить нужные поля и группировки программно можно пересоздать и/или полностью изменить любой запрос msdn в помощь: http://msdn.microsoft.com/en-us/library/aa606206.aspx http://msdn.microsoft.com/en-us/library/aa856706.aspx и так далее http://msdn.microsoft.com/en-us/libr...=AX.50%29.aspx на форуме можно поискать по именам методов примеры использования. |
|
![]() |
#7 |
Участник
|
Давайте уж до конца доведем сравнение выражений критериев отбора в аксапте и 1С (для будущих читателей, я-то в курсе):
1. В Ax есть возможность сравнения со значениями других реквизитов (реквизит в правой части условия)? 2. В Ax юзер может задавать сложные логические условия отбора, используя скобки, ИЛИ, И? |
|
![]() |
#8 |
Участник
|
Цитата:
Сообщение от Сисой
![]() Давайте уж до конца доведем сравнение выражений критериев отбора в аксапте и 1С (для будущих читателей, я-то в курсе):
1. В Ax есть возможность сравнения со значениями других реквизитов (реквизит в правой части условия)? 2. В Ax юзер может задавать сложные логические условия отбора, используя скобки, ИЛИ, И? 2. да http://axapta.mazzy.ru/lib/search/ |
|
![]() |
#9 |
Участник
|
gl00mie, мне кажется, что вы передергиваете разговор с возможностей к конкретным реализациям. Реализации - не проблемы платформ. Светофоров может быть масса, они бывают полезны и разработчику не нужно напрягаться ля их реализации - ни единой строки кода, только предопределенные настройки. Код только если нужно заблокировать настройки от изменений.
Стопочки - хорошая, годная плюшка. И поправка, спасибо Сисою - я совершенно забыл о том, что условия отборов в 1С группируются логическими связками "и" либо "или", так что возможность конструкции произвольных выражений есть, но она работает не как скрипты в строке поиска, а как конструктор для работы мышью. |
|
![]() |
#10 |
Участник
|
Цитата:
Данный кусок кода прямо в ходе с работы с формой переназначает запрос - источник данных динамического списка на форме.
Все это только текстовыми вставками можно делать, и при этом запрос уже конструктором НЕ ОТКРОЕТСЯ!!! 1С-у нужно сделать более интеллектуальный конструктор для работы с текстовыми вставками, но этого не будет! Последний раз редактировалось ibc; 16.04.2010 в 13:28. Причина: получилось слишком длинно - укоротил |
|
![]() |
#11 |
Участник
|
Кстати, можно сделать так в 1С
X++: "ВЫБРАТЬ
| АвансовыйОтчет.Ссылка
|ИЗ
| ИмяИсточника КАК ИмяИсточника
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.АвансовыйОтчет КАК АвансовыйОтчет
| ПО ИмяИсточника.ОдноИзПолейИсточника = АвансовыйОтчет.Дата" Такой запрос в конструкторе откроется на ура, хотя ИмяИсточника и ОдноИзПолейИсточника нигде больше не фигурируют, и могут быть определены позднее! Последний раз редактировалось ibc; 16.04.2010 в 16:10. Причина: так просто |
|
![]() |
#12 |
Участник
|
УРА! Я дочитал, день прошел не зря! :-)
На сколько я понял, последний предмет обсуждения, что в 1С неудобно парсить длинные тексты запросов, СОГЛАСЕН, ужас как неудобно. Но хочется вставить свои пять копеек: 1. Временные таблицы. Всегда длинный запрос можно разбить на временные таблицы и кстати у SQL будет меньше творчества в оптимизации. 2. Есть объект постороитель отчета, которому можно передать как источник данных и этот запрос и таблицу значений, а дальше программно крутить его как хочется (группировки, итоги, условия) 3. Есть СКД которая позволяет делать тоже самое но с несколькими запросами. Что касается места исполнения кода, то в 8.2 в управляемых формах это всегда сервер, в режиме толстого клиента, кто скажешь, но это никогда не сервер SQL. В принципе производительность разумная, у меня есть внедрение, когда 100000 записей в таблице значений парсятся через построитель отчета поиском по части строки. Так вот сборка 100000 в таблицу происходит дольше, чем парсинг построителем. Кстати, почему никто не упомянул об том, что управляемая форма работает и как консольное приложение и как WEB клиент, функциональность совпадает на 98%. Ведь это реальное преимущество WEB приложение не требует отдельной разработки, отдельного кода и т.д. |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
![]() |
#13 |
Участник
|
Цитата:
Сообщение от kirillvv
![]() УРА! Я дочитал, день прошел не зря! :-)
... Кстати, почему никто не упомянул об том, что управляемая форма работает и как консольное приложение и как WEB клиент, функциональность совпадает на 98%. Ведь это реальное преимущество WEB приложение не требует отдельной разработки, отдельного кода и т.д. 1C выпустил бету тонкого клиента с Web-доступом и еще: Возможности функционала Dynamics AX и 1С УПП 1С выпустила версию платформы 8.2 Попробую рассказать о принципах оффлайновой работы 1С. Можно "пощупать" интерфейс 1С8.2 (управляемое приложение) (обратите внимание на даты веток) а также http://axforum.info/forums/forumdisplay.php?f=29 http://axforum.info/forums/forumdisplay.php?f=102 |
|
![]() |
#14 |
Участник
|
Была поднята очень интересная тема: как правильно хранить запрос. В связи с этим есть несколько вопросов к программистам DAX
1. В 1С есть 2 способа для формирования параметризированных запросов: ПостроительОтчетов и СКД. Каждый из них делит запрос на 2 части: Настройки (Выборка, Отбор, Сортировка) и Запрос, в тексте которого указывается в какие места необходимо применить указанные настройки. То есть для отчета с возможностью расшифровки пишется 1 текст запроса, к которому применяются настройки и получается итоговый текст запроса. Разумеется настройки можно сохранить. Есть ли аналогичный механизм в DAX? 2. После того как настройки применяются к базовому запросу, СКД исключает из запроса соединения и объединения которые не влияют на результат. Есть ли подобных механизм в DAX? 3. В 1С с помощью виртуальной таблицы остатков и оборотов можно описать запрос, который может вывести остатки и обороты с указанной в настройках периодичностью (Год, Месяц, День, Регистратор, Запись). Есть ли подобный механизм в DAX? |
|
![]() |
#15 |
Участник
|
Цитата:
Есть ли аналогичный механизм в DAX?
А если чего то и нет, значит это не нужно вовсе! Если, местным гуру будет не лень, то они напишут это ещё раз ![]() |
|
![]() |
#16 |
Участник
|
Цитата:
Сообщение от 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. Причина: добавил про периодичность. |
|
![]() |
#17 |
Ищущий знания...
|
Цитата:
![]() не внимательно прочитал, приношу свои извинения!
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем Последний раз редактировалось lev; 28.12.2010 в 16:00. Причина: зачеркнул неверное утверждение |
|
![]() |
#18 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: lev (2). |
![]() |
#19 |
Ищущий знания...
|
Цитата:
![]() не внимательно прочитала, беру свои слова обратно. спасибо Raven Melancholic за поправочку.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
![]() |
#20 |
Участник
|
Вот теперь понятно применение "N:1". Спасибо.
|
|
Теги |
1c, платформа, сравнение систем |
|
|