25.12.2001, 14:04 | #1 |
NavAx
|
Об окнах в Аксапте
Господа, это только у меня или у всех окна аксапты ведут себя "разумно"? В том смысле что если я максимизирую окно и выбираю в нем из выпадающем списке комбобокса нечто, то окно нормализуется?
Кто нить может мне подсказать - ЗАЧЕМ? И самое главное - как избавится? такое поведение имеет место быть аж с версии 2.1 (более ранних не видел) и до сих пор не исправлено. |
|
25.12.2001, 14:32 | #2 |
Продавец игрушек
|
Lazy_Tiger,
У меня окна Аксапты ведут себя также неадекватно. Это раздражает. Кроме того, в Аксапте: - не реализованы модальные диалоги - не используются dockable-окна. В таком интерфейсе, как в Аксапте, эти недостатки критичны. При том, что подобные вещи есть и в MFC, на котором, по слухам, строится Аксапта, и в Стингрее, да и полно где ещё... Тем не менее, это, видимо так и останется без внимания -- судя по всему, принято решение делать весь интерфейс web-ориентированным, т.е. обращаться теперь к аксапте будем через браузер. Такая смена ориентации мне не совсем по душе, хотя... как это будет реализовано. То, что показывали мне в коламбусе -- вполне функционально, удобно и красиво, но... для CRM-клиента. Если же необходимо более активно работать с аксаптой, то без полнофункционального GUI не обойтись.
__________________
С уважением, Роман Кошелев. |
|
25.12.2001, 17:01 | #3 |
Участник
|
Гопода!
У меня в Аксапте не сохраняются размеры окна, ширина столбцов и их порядок. Не говорю уж о скроллерах, которые как хотят, так и меняют свою ширину и положение. Поэтому присоединяюсь: "Кто нить может мне подсказать - ЗАЧЕМ? И самое главное - как избавится?". Скажите, зачем так сделали и как избавиться?
__________________
Сергей |
|
26.12.2001, 07:22 | #4 |
NavAx
|
про"разумность" форм
А что говорит по этому поводу Навижн и Коламбус в частности? все мои запросы такого плана туда уходят в "никуда". Ну в смысле вообще не отвечают. Еще имея версию 2.1 я обращался с этими вопросами, "а воз и ныне там". хотя вообщем то вроде как в _некоторых_ местах исправлено, но еще больше мест осталось
кроме того, у меня есть списочек действий, выполнение которых приводит к немедленному и безусловному прибиванию аксапты Dr. Watson'ом. Например нажатие кнопочки "отправить по почте..." в любой из форм где таковая кнопка есть. реакция Навижн и Коламбуса - аналогичная. Я не совсем понимаю в этом контексте, а за что мы все бабки неслабые за "техсуппорт" платим? |
|
08.01.2002, 21:02 | #5 |
SAP
|
Привет,
Точно не могу ответить на вопрос по сохранению настроек форм, т.к. в демоверсии нет доступа к средствам разработки. Но могу сделать предположение. На поведение окна влияет специальный параметр в свойствах формы. Он, скорее всего, установлен в значении «Фиксированное» (или что-то вроде) и после изменения формы пользователем при выходе возвращает ее в исходное состояние. В XAL 3.1 это именно так. Успехов. |
|
08.01.2002, 22:44 | #6 |
Administrator
|
Цитата:
На поведение окна влияет специальный параметр в свойствах формы. Он, скорее всего, установлен в значении «Фиксированное» (или что-то вроде) и после изменения формы пользователем при выходе возвращает ее в исходное состояние.
Думаю, что что-то подобное есть и для столбцов. Если же такого нет, то это совсем несложно запрограммировать (да простит меня mazzy, не переносящий излишков программирования в Axapta). С модальными диалогами не все так гладко. Справедливости ради стоит заметить, что часть окон в Axapta все-таки появляются как модальные (сообщения о некоторых ошибках, например). Думаю, что это может являться надеждой на скорое нахождение пути решения этой проблемы. Цитата:
...если я максимизирую окно и выбираю в нем из выпадающем списке комбобокса нечто, то окно нормализуется...
Цитата:
Не говорю уж о скроллерах, которые как хотят, так и меняют свою ширину и положение... Кто нить может мне подсказать - ЗАЧЕМ?...
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
09.01.2002, 14:17 | #7 |
Участник
|
По поводу скроллеров. А что, нельзя передать информацию о длине списка, в соответсвии с этим настроить скроллер, и избавить пользователя от его судорожных дерганий? Для тонких пользователей скроллер в исходном варианте представляет данные о размерах скаченной информации и ее обновлении. Я, по-видимому, не тонкий пользователь, поскольку не понимаю, зачем это мне надо.
__________________
Сергей |
|
09.01.2002, 18:21 | #8 |
Участник
|
Цитата:
что, нельзя передать информацию о длине списка, в соответсвии с этим настроить скроллер, и избавить пользователя от его судорожных дерганий
И типичная проблема для клиент-серверных приложений. Дело в том, что передать то можно. Но до того как передать, надо вычислить количество записей в таблице. А это потенциально очень долгая операция. Причем долгая не для Аксапты, а для SQL сервера. Время выполнения этой команды можно визуально оценить. Меню сервис \ Разработка \ Количество записей. Сейчас в качестве общего количества записей указывают то количество, которое попало в кэш. В клиент-серверных приложениях именно поэтому обычно используют не виндовый скроллер - без бегунка. Пользователи обычно на них ругаются. Здесь решили сделать бегунок. Но получилось не очень. Но молодцы, что рискнули. |
|
09.01.2002, 18:29 | #9 |
Продавец игрушек
|
1. Не очень верится, чтобы такая простая операция занимала много времени.
2. Можно ли где-нибудь в настройках увеличить размер кеша?
__________________
С уважением, Роман Кошелев. |
|
09.01.2002, 19:27 | #10 |
Участник
|
Простите непрофессионала за вопрос: а можно создать таблицу, в которой будет содержаться длина необходимых списков, тогда обращаться можно к ней и не заниматься подсчетом записей.
__________________
Сергей |
|
09.01.2002, 21:09 | #11 |
Участник
|
К Роман Кошелев:
"Не очень верится, чтобы такая простая операция занимала много времени". Насколько я понимаю, выполняется select count(recid) from table это далеко не простая операция. А насчет времени все же посмотри как открывается форма, которая показывает количество записей. Размер кэша не решит эту проблему К Buh: "а можно создать таблицу, в которой будет содержаться длина необходимых списков, тогда обращаться можно к ней и не заниматься подсчетом записей." Во-первых не списков, а таблиц. Они по разному хранятся. Во-вторых. Это ж сетевая версия! Предположим, что один раз посчитали, другой пользователь добавил несколько (или сотню) записей. Что тогда будет с бегунком у первого пользователя? Можно конечно отслеживать добавления и удаления записей. Но это приведет к тому, что по сути после каждого добавления и удаления будет выполняться та самая конструкция, вычисляющая количество записей. Она потенциально очень медленная. Говорю же, это не Аксаптовская проблема. Это пролема большинства клиент-серверных приложений. Если вспомнить тот же 1С. SQL версия 1Са просто держит бегунок постоянного размера в центре скроллера. Если вспомнить Навижин, то там вообще нет бегунка. Если вспомнить Конкорд... Блин, не помню как это было в Конкорде... По-моему его вообще не было. Может Pavel подскажет? В Аккпаке тоже бегунок по хитрому устроен. В четвертом Сане бегунок работает как в Аксапте. В Пятом Сане бегунка вроде вообще нет, насколько я помню. Завтра надо у наших уточнить. В САПе вроде тоже бегунка нет. |
|
09.01.2002, 22:18 | #12 |
Продавец игрушек
|
Вполне допустимо и понятно что в 1С это сложно сделать -- у них там всё левой рукой через правое ухо достаётся (метамодель данных).
А вот в Аксапте, где метамодель практически напрямую отображается в SQL, узнать число строк несложно. Конечно, "select count(recId) from table" будет выполняться медленно, но, с другой стороны, "а зачем?". Сергей (buh) угудал -- в SQL есть такие мета-таблицы. Более того, необходимость в них указана Тэдом Коддом в его "Двенадцати правилах, которым должна соответствовать реляционная СУБД". http://matviyko.narod.ru/transaction.htm (см. "Реляционная БД") Место, в котором хранится необходимая информация, называется "системные таблицы". Там есть все -- от описания столбцов таблиц до привелегий (прав), индексов и взаимосвязей. Вряд-ли там нет числа строк в таблицах. Например, в том же MS SQL Analyzer видим саму таблицу LedgerJournalTrans и её описание. И там, и там -- 810 строк. Системная таблица SysIndexes Собственно таблица LedgerJournalTrans
__________________
С уважением, Роман Кошелев. |
|
09.01.2002, 22:45 | #13 |
Administrator
|
Дело не в SELECT...
...а как, на мой взгляд, верно заметил Сергей (mazzy), в том, что Axapta - программа сетевая. Как вы будете решать проблему, когда таблицу одновременно несколько пользователей редактируют? Во-первых, даже если размеры бегунка будут постоянно актуальны, им все равно придется динамически меняться. Во-вторых, чтобы эту актуальность поддерживать, придется постоянно запрашивать данные "системной таблицы". К чему это приведет? Не знаю, но канал связи уж точно не разгрузит.
Предвижу вопрос: почему бы не считать данные из этой таблицы хотя бы один раз перед началом использования таблицы. Объясняю свое мнение. Заметьте, что когда Вы перетаскиваете бегунок (не нажимаете на стрелки, а именно перетаскиваете), информация в связанном с ним списке обновляется динамически (то есть соответствует положению бегунка). Если бегунок будет знать длину таблицы (сейчас он знает только длину кэша), то при отборажении записей, не внесенных в кэш, потребуются обмены с БД, что замедлит процесс перетаскивания бегунка, а это не соответствует стандартам качества Microsoft (операции, требующие удержания клавиши мыши, должны выполняться как можно быстрее, чтобы не заствалять пользователя жать на кнопку дольше, чем нужно). Обратите внимание, что сейчас, когда вы перетаскиваете бегунок, список обновляется мгновенно. Подумайте, готовы ли вы заплатить за актуальность размеров бегунка увеличением времени обновления списка.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
09.01.2002, 23:18 | #14 |
Продавец игрушек
|
Одни ищут способы "как сделать", другие -- оправдание "почему не делать"
Есть масса подходов удовлетворить и пользователей и канал. Как <u>пример</u> (!) такая концепция: 1. Если пользователь тащит бегунок, чтобы наблюдать ползущие данные, то он будет готов к тому, чтобы: а. Эти данные будут поставляться ему медленно б. Эти данные будут даваться ему через 1-2-3, и т.д. строки. Пока он не остановится. Тогда окно можно полностью заполнить. Пропущенные данные можно отображать так: Извините | эта строка не успела | загрузиться 2. Если пользователь тащит бегунок, чтобы перейти куда-то или по причине "я тащусь от этого зрелища", то он может быть готов к тому, что: а. Ему будет показываться в каком месте он находится б. Не факт, что сами данные будут при этом показываться (а они и не нужны). Алгоритмы подстройки подобных вещей просты и расчитываются из тех соображений, что человек не в состоянии читать более 20 строк в сек, например. Вообще, всё это делается. Просто руки не дошли у них. У людей, пишущих сетевые игры с огромными виртуальными пространствами дошли.
__________________
С уважением, Роман Кошелев. |
|
09.01.2002, 23:43 | #15 |
Administrator
|
Цитата:
Изначально опубликовано Роман Кошелев
Одни ищут способы "как сделать", другие -- оправдание "почему не делать" Цитата:
Изначально опубликовано Роман Кошелев
Есть масса подходов удовлетворить и пользователей и канал. Как пример (!) такая концепция Цитата:
Изначально опубликовано Роман Кошелев
Если пользователь тащит бегунок, чтобы наблюдать ползущие данные, то он будет готов к тому, чтобы: а. Эти данные будут поставляться ему медленно Цитата:
Изначально опубликовано Роман Кошелев
Пропущенные данные можно отображать так: Извините | эта строка не успела | загрузиться Цитата:
Изначально опубликовано Роман Кошелев
2. Если пользователь тащит бегунок, чтобы перейти куда-то или по причине "я тащусь от этого зрелища", то он может быть готов к тому, что: ... б. Не факт, что сами данные будут при этом показываться (а они и не нужны). Цитата:
Изначально опубликовано Роман Кошелев
Алгоритмы подстройки подобных вещей просты и расчитываются из тех соображений, что человек не в состоянии читать более 20 строк в сек, например. Цитата:
Изначально опубликовано Роман Кошелев
Вообще, всё это делается. Просто руки не дошли у них. У людей, пишущих сетевые игры с огромными виртуальными пространствами дошли. Да, кстати, не надо недооценивать программистов Navision (вообще, позиция "я умнее всех", по моему мнению, не самая лучшая). Очень может быть, что они пробовали сделать так, как Вы говорите (ну, не дословно, конечно, но что-то похожее может быть), и это их не удовлетворило. Мое мнение, ищите хорошее в том, что уже есть, не нужно выдумывать свое решение и говорить всем, как же было бы хорошо, если бы сделали так, как я говорю.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
10.01.2002, 00:07 | #16 |
Продавец игрушек
|
Действительно, развивать тему "как ползти бегунку/как бежать ползунку" не имеет смысла, тем более так подробно разбирать мой пример. (Как пример (!))
В конце только замечу, что критерии "кто умнее" тут не уместны, скорее уместны "кому это надо". А надо это пользователям. Таким Как Сергей (Buh). Ибо им с этим работать. И они ожидают адекватного поведения системы. Всё.
__________________
С уважением, Роман Кошелев. |
|
10.01.2002, 00:20 | #17 |
Administrator
|
Цитата:
Изначально опубликовано Роман Кошелев
В конце только замечу, что критерии "кто умнее" тут не уместны, скорее уместны "кому это надо". А надо это пользователям. Таким Как Сергей (Buh). Ибо им с этим работать. И они ожидают адекватного поведения системы.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
10.01.2002, 14:01 | #18 |
Участник
|
Я согласен с Max'ом.
Конечно и стремиться к лучшему надо. Но прежде стоит понять почему сделано именно так. Надо помнить, что Идеальное решение требует бесконечных ресурсов Еще один пример компромисса: В заказах и закупках итоги не показываются сразу. Для того, чтобы получить итоги пользователь должен нажать Запросы \ Итоги. Меня, например, часто спрашивают почему сделано так? Почему итоги по заказу/закупке не вынесены прямо на форму? Приходится начинать с того, что: если бы итоги были непосредственно на форме, то программа должна была бы обновлять итоги при каждом изменении в любой строке заказа/закупки. Т.е. изменили количество - пересчитай итоги, изменили скидку - пересчтиай итоги, изменили цену/сумма - тут уж сам бог велел - пересчитай итоги. А теперь представьте, что работает 10-20-30 менеджеров. И каждый вбивает строки. Что будет с сервером? Конечно и Роман прав: нужно работать в сторону улучшения. Обязательно. Но перед тем как пожелать что-то переделать, стоит подумать - сколько я готов заплатить за это улучшуние? (Деньгами, временем, увеличиенными требваниями к железу и т.п.) |
|
10.01.2002, 14:51 | #19 |
NavAx
|
2mazzy: в данном конкретном примере, сервер не причем, ибо это на раз-два считается на стороне клиента, без дергания сервера. А даже если и на сервере, то извините конечно, но я не видел еще закупок/заказов с количеством строк более 200-300, а посчитать сумму по столбцу из в среднем 100 строк, даже если это будет делать 1000 клиентов одновременно, во что я не верю, это ерунда. Но еще раз подчеркну, до тех пор пока не сказали сохранить заказ, его вообще на сервер ложить как то странно.
Мы то ж программисты, давайте хоть другу другу лапшу не вешать на уши... Ладно б менеджер-менеджеру расказывал, некрасиво. 2max: Оставим в покое "бегунок", его поведение как раз не вызывает сколько-нибудь серьезных замечаний, кроме "непривычно". Раскажите же нам, чем кроме элементарных ошибок в коде, можно объяснить столь ммм... _НЕСТАНДАРТНОЕ_ и _НЕПРИЕМЛЕМОЕ_ поведение окон о котором я писал в самом начале? Более того, это _частично_ поправлено в 2.5 SP3 (т.е. спустя 5 релизов после того, как лично я впервые написал об этом в Навижн). Где гарантия, что найдя ошибку в функционале, я получу ее исправление в сколько нибудь-разумные сроки? Лично я, за такие деньги считаю разумным срок в неделю МАКСИМУМ. Кто нибудь имел уже опыт таких обращений? |
|
10.01.2002, 15:00 | #20 |
SAP
|
Negative
Опыт обращений и сроки реакции на них не вызывают таких ярких и светлых воспоминаний, как презентация менеджера отдела продаж. Creative Иногда положительно срабатывает доведение данной информации до руководителей (президента или коммерческого директора) компании поставщика. Поддержка начинает реагировать более оперативно и со слезами на глазах радуются каждому твоему вопросу. С уважением. |
|
Теги |
интерфейс, как правильно, перспективы |
|
|