|
|
|
Генератор DataWindow
|
|||
|---|---|---|---|
|
#18+
ZhVА зачем так сложно со словарем . Создайте view , синонимы ... , которые отражают нужные вам сущности. Установите ограничения на доступ - будет работа для DBA... Не понимаю, чем View мне помогут. А в словаре описывается сущность, метод доступа (поле таблицы, функция, процедура, подзапрос...), родительская сущность, их связь, тип данных, размерность, шрифт, стиль редактирования и т.п. Часть параметров используется при формировании SQL, а часть - при создании формы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2005, 15:20 |
|
||
|
Генератор DataWindow
|
|||
|---|---|---|---|
|
#18+
zenkНе понимаю, чем View мне помогут. А в словаре описывается сущность, метод доступа (поле таблицы, функция, процедура, подзапрос...), родительская сущность, их связь, тип данных, размерность, шрифт, стиль редактирования и т.п. Часть параметров используется при формировании SQL, а часть - при создании формы. Ваше право :) Вот чисто концептуальный вопрос - кто иницирует проект по приведенной вами концепции - программисты (ИТ-шники) или юзера (заказчик) ? Осознают ли юзера все грабли на этом нелегком пути , в том числе - большую трудоемкость такого конструирования , предстоящую необходимость осваивать область знаний связанную с "сущность, метод доступа (поле таблицы, функция, процедура, подзапрос...), родительская сущность, их связь" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2005, 16:12 |
|
||
|
Генератор DataWindow
|
|||
|---|---|---|---|
|
#18+
Пользователи ничего знать не должны. Они оперируют только с сущностями. Все параметры сущности описывают программисты. Опишут неправильно - ничего работать не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2005, 16:47 |
|
||
|
Генератор DataWindow
|
|||
|---|---|---|---|
|
#18+
ZhV Вот чисто концептуальный вопрос - кто иницирует проект по приведенной вами концепции - программисты (ИТ-шники) или юзера (заказчик) ? Осознают ли юзера все грабли на этом нелегком пути , в том числе - большую трудоемкость такого конструирования , предстоящую необходимость осваивать область знаний связанную с "сущность, метод доступа (поле таблицы, функция, процедура, подзапрос...), родительская сущность, их связь" С большой вероятностью, должен быть местный IT, который сможет всю ситуацию разрулить. К примеру подправить формочку, под вдруг появившиеся новые требования. Только система должна быть хорошо документирована. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2005, 16:58 |
|
||
|
Генератор DataWindow
|
|||
|---|---|---|---|
|
#18+
ZhVВо-первых , зачем тратить молодые годы на копирование того , что уже есть и в гораздо более качественном виде. Можно просто с помощью InfoMaker-а или даже среды PowerBuilder-а (в сокращенном варианте штатного проекта и подходящего layuot-а) - научить пользователя создавать нужные ему datawindow - manual-ы уже готовы - предусмотреть в штатном приложении диалог для отработки последовательности действия ls_syntax = LibraryExport(name_lib,name_obj,ExportDataWindow!) ls_err = dw_target.Create(ls_syntax) Да, совсем забыл, такой подход тоже как-то был реализован в одном из небольших проектов. ZhV ZhV[quot PL99] Все это подходит только для случая, когда разработчик системы сидит рядом с пользователем, получает за свою работу фиксированный оклад и исключительно трудолюбив - поддержка такого хозяйства довольно трудоемка. "Отнюдь"(с) - Код "ГО" уже достаточно стабилен в работе и не нуждается в постоянном присмотре. А datawindow для шаблона может сочинить любой программист PB , главное - прилично знать SQL , БД приложения и соблюдать некоторые несложные "соглашения" по конструированию шаблонов. Поэтому вовсе даже наоборот - работаем удаленно по почте по мере поступления ТЗ.Навскидку - ZhV3) юзера сохраняют этот шаблон в оговоренной сетевой директории , откуда их видит "ГО" (отдельное mdi_window)и загружают к себе на исполнение - сначала ask-диалог на параметры , а потом retrieve по этим параметрам в штатном datawindow с CREATE(синтаксисом из шаблона) это самое слабое звено, учитывая, что ZhVв каталоге лежит несколько сот файлов-шаблоновВпрочем, не буду настаивать :-) ZhV PL99За полчаса проходили цепочку запрос от бизнес-подразделения-> постановка задачи->согласование->разработка отчета->тестирование? Если речь идет только о написании SQL-запроса, то, мне кажется, гораздо дешевле не использовать вообще никакие генераторы отчета, а выдавать пользователям результаты этого запроса в виде, например, xls-файла. Вся ваша цепочка имеет место быть при штатной работе - зачем плодить партизанщину без нужды. Но... Когда в 15-00 просят соорудить отчет, подлежащий сдаче к 18-00, прямо с телефона - "вот такой же как ... но со сверткой подекадно и расчетом показателей прироста..." Для меня вставить агрегатные функции в SQL Select несложно - а вот для человека с экономическим образованием ? Конечно такие случаи нечасты - но они сильно укрепляют позитивные взаимотношения.Здесь я тоже позволю себе остаться при своем мнении - если пользователь захотел нечто за три часа до сдачи, то это его проблемы, а не мои. ZhVА насчёт Excel-я - так так когда-то и было . Этот кошмар уже стал забываться , когда между SaveAs->Excel и готовым отчетом нужно сделать полтыщи кликов ...А это совсем другой вопрос, он обсуждается в соседнем топике ZhV ZhVА еще , по соображениям безопасности - далеко не всегда целесообразно знакомить юзеров со структурой БД. PL99Как связано знание пользователем структуры БД и безопасность? А вам не приходит в голову , почему так свободно можно купить БД налоговой или сотовых операторов ? Если б только DBA имел доступ - проблем вычислить и прищучить не было. А так по вашей методе - всякий самый рядовой юзер может получить бесконтрольный доступ к описанию базы , а иногда и к содержимому - долго ли знаючи экспортнуть на флэшку.Так это должно решаться разграничением прав доступа, а не запретом на знание структуры. Пользователь под своим логином не должен, разумеется, иметь административных прав. Что же касается доступа к таблице, скажем, клиентов, то если пользователь имеет элементарные знания SQL, то все остальное он так или иначе получит. Разумеется, что поименовав таблицу клиентов, скажем, XG1537 мы несколько затрудняем ему доступ, но, с другой стороны, наверняка, где-то рядом будет таблица, к которой этот пользователь должен иметь доступ и содержащая запись вида XG1537 КлиентыВпрочем, опять-таки, прошу рассматривать это как MHO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2005, 19:04 |
|
||
|
Генератор DataWindow
|
|||
|---|---|---|---|
|
#18+
zenk ФилиппА зачем InfoMaker изобретать? Для возможности создания отчётов пользователями. InfoMaker создан СПЕЦИАЛЬНО для создания отчётов пользователями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2005, 21:05 |
|
||
|
Генератор DataWindow
|
|||
|---|---|---|---|
|
#18+
PL99 zenk EstetsВ другой конторе был практически полностью реализован интерфейс PB для создания и редактирования DW повторяющий возможности PB, я и сам приложил некоторые усилия для его доработки в части вложенных отчетов и КросТабов. Самый интересный для меня метод. Можно про него рассказать подробнее? Нет ли у Вас координат разработчиков?Меня терзают смутные сомненья - а не я ли начинал его разрабатывать ;-) 2 PL99 Гы Гы Гы оно самое, это единственный на моей памяти результат когда функционал PB по редактированию DW был повторен на 70-80%. Но честно сказать затраты на все это не покрывают предполагаемый результат. 2 zenk Есть конечно координаты, но в связи с внутренней организацией конторы это едва ли поможет ;( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2005, 12:05 |
|
||
|
Генератор DataWindow
|
|||
|---|---|---|---|
|
#18+
Филипп zenk ФилиппА зачем InfoMaker изобретать? Для возможности создания отчётов пользователями. InfoMaker создан СПЕЦИАЛЬНО для создания отчётов пользователями. Вариантов может быть несколько, например русскоязычный интерфейс. Или интеграция с внутренними репозитариями по построению запросов для DW. Но как я писал в письме выше, обычно затраты реализацию редактора DW не покрывают бонусов от его существования. Если пользователю требуется изменить ширину поля в DW, или наименование заголовка (97% пользователей), то решить такую задачу проще другими средствами. А если пользователь хочет создавать сложные отчеты с сортировками, группировками и вычисляемыми полями, то проще его научить использовать PB, IM или CR. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2005, 12:14 |
|
||
|
Генератор DataWindow
|
|||
|---|---|---|---|
|
#18+
Estets Но как я писал в письме выше, обычно затраты реализацию редактора DW не покрывают бонусов от его существования. Согласен. Именно поэтому я и спрашивал автора топика - что или кто подвинул его на столь сильный замах. Я бы предложил посмотреть на проблему иначе. При "концептуальном" создании редактора DW - предстоит долгий путь до начала его практического применения, и в его начале не так уж ясна вся практическая ценность такого редатора для заказчика. Настолько ли терпелив заказчик , что будет платить точно не зная что получит в конце ? А вот вариант "отчетника" ( (с) PridobreY ) - сразу предполагает получение полезных фич - создание системы отчетности в приложении , которая позволяет произвольно наращивать себя без переделки самого приложения . Заказчик гораздо скорее оценит возможность высокой оперативности при модификации отчетности, пусть даже и с привлечением профессиональных программистов, чем ценность довольно громоздкого (и всё равно ограниченного по сравнению с уже существующим InfoMaker-ом ) конструктора "Сам Себе Программист". Не знаю у кого как - но я редко встречал заказчиков , стремящихся влезать в программистскую шкуру. Самый яркий пример - 1С - в ней есть возможность самостоятельно писать навороченные отчеты на языке довольно близком к предметной области. Но все же большиство юзеров предпочитают получать готовые отчеты (файлы с расширением *.ert) - по рассылкам от 1С или заказывают их на стороне у программистов-одноэсников . Estets А если пользователь хочет создавать сложные отчеты с сортировками, группировками и вычисляемыми полями, то проще его научить использовать PB, IM или CR. Не согласен. DataWindow очень удачно заточен под сервис сортировки и фильтрации - Describe/Modify("DataWindow.Sort/Filter") . Аналогично - еще и поиск. Нужны просто удобные для юзера диалоги при формировании условий - у нас это popup-меню, фильтры - по Selected строкам , диапазонам значений, по подстроке, по значениям DDDW/DDLB ... Группировки и добавление вычислимых полей - сложнее , но также реализуемо. При определенном навыке любой юзер , умеющий писать формулы для Excel-а - вполне справляется с написанием выражений и для вычислимых полей datawindow. Достаточно быстро решив главную задачу - гибкая и настраиваемая отчетность - заказчик с лучшим пониманием переходит к расширению постановки задачи в сторону бОльшей функциональности "генератора DataWindow" . Я припоминаю первые обсуждения по нашему проекту с заказчиком - мы просто почти не понимали друг друга , кто чего хочет и может. По мере реализации некоторые первоначальные экзотические запросы-пожелания отпадают сами собой. Например как-то был сознательно продемострирован SQL-Select для очередного МСФО - у юзеров навсегда (кажется) пропало желание самим лезть в эти SQL дебри. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2005, 13:10 |
|
||
|
Генератор DataWindow
|
|||
|---|---|---|---|
|
#18+
ZhV Estets А если пользователь хочет создавать сложные отчеты с сортировками, группировками и вычисляемыми полями, то проще его научить использовать PB, IM или CR. Не согласен. DataWindow очень удачно заточен под сервис сортировки и фильтрации - Describe/Modify("DataWindow.Sort/Filter") . Аналогично - еще и поиск. Нужны просто удобные для юзера диалоги при формировании условий - у нас это popup-меню, фильтры - по Selected строкам , диапазонам значений, по подстроке, по значениям DDDW/DDLB ... Против возможности настаивать сортировку фильтрацию и поиск в списках абсолютно ничего не имею, но из сотен отчетов в системе процентов 90 имеют вложенные отчеты, оствшиеся 10 процентов это списки чаще всего используемые как SaveAs для экспорта в другие системы или дальнейшей обработки. А вот построение сложных отчетов без PB, IM или DWEditora возможная, но геморойная вещь. За годы работы я обучил человек 20 дизайнить DW с использованием PB и ни у кого особых проблем не возникало, правда стоит оговориться что это были программисты или администраторы а не брокеры и кассиры. Но на мой вгляд каждый должен делать свое дело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2005, 13:44 |
|
||
|
Генератор DataWindow
|
|||
|---|---|---|---|
|
#18+
Estets ...из сотен отчетов в системе процентов 90 имеют вложенные отчеты, оствшиеся 10 процентов это списки чаще всего используемые как SaveAs для экспорта в другие системы или дальнейшей обработки... На вкус и цвет... У нас принято - ваять Nested или Composite datawindow только если ну совсем уж никак и есть возможность обходиться с ним as is : - невозможно нормально отработать клики - невозможно отработать resize - невозможна сортировка , фильтрация - а юзера уже привыкли к Excel-подобным фичам - невозможно нормально выгрузить в Excel - и собственно - "ГО" не работает - командой Create(ls_syntax) можно создать datawindow , но нельзя вставить ссылку на вложенный DataWindowChild - функция GetChild есть , а вот SetChild - нет . Кто-то тут уже сказал , что Composite datawindow - это как PDF формат - можно только смотреть на него , но работать с ним почти невозможно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2005, 14:19 |
|
||
|
Генератор DataWindow
|
|||
|---|---|---|---|
|
#18+
ZhVКто-то тут уже сказал , что Composite datawindow - это как PDF формат - можно только смотреть на него , но работать с ним почти невозможно. Я сказал, но совершенно не это. С точки зрения SAveAs, PDF формат - для него самое подходящее. Но и только. В остальном Composite весьма гибок и позволяет вытворять с ним много чего. Вот nested - это другое дело... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2005, 20:26 |
|
||
|
Генератор DataWindow
|
|||
|---|---|---|---|
|
#18+
ZhVУ нас принято - ваять Nested или Composite datawindow только если ну совсем уж никак и есть возможность обходиться с ним as is : ... Ну я привык называть отчетами, то что готовится для печати на бумаге, а это как минимум Nested Report с логотипом и реквизитами, и Nested с подписями сотрудников. В Excel это конечно не выгружается, для внутренней рассылки используется формат PSR и PSR-смотрелка, для внешней экспорт в PDF. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2005, 10:44 |
|
||
|
Генератор DataWindow
|
|||
|---|---|---|---|
|
#18+
PL99Навскидку - ZhV3) юзера сохраняют этот шаблон в оговоренной сетевой директории , откуда их видит "ГО" (отдельное mdi_window)и загружают к себе на исполнение - сначала ask-диалог на параметры , а потом retrieve по этим параметрам в штатном datawindow с CREATE(синтаксисом из шаблона) это самое слабое звено, учитывая, что ZhVв каталоге лежит несколько сот файлов-шаблоновВпрочем, не буду настаивать :-) Как то - так сразу не понял в чем слабость, потом появилось предположение... Так вот все эти сотни шаблонов предлагаются юзеру на выбор : 1) в разных местах - точках вызова - разделение и контроль по префиксу имени шаблона 2) не в виде линейного списка типа DropDownDataWindow , а в стиле стандартного проводника на базе treeview - организована в виде групп , подгрупп произвольной вложенности. Вопрос группирования - чисто организационный. Из практики - среди прочего имеется специальная группа "в помощь админу приложения" - наборы тестов на нарушения логической целостности БД , которые проявляются из-за сущестования некоторых "логических дыр" , допущенных при проектировании ... А также специальные контрольные реестры - да мало ли потребностей возникнет при существовании возможностей. 3) в "проводнике" кроме имени - выдается еще краткое описание , автор, версия , дата - всё как положено ; кроме этого имеется возможность подцепить полномасштабный help-файл (*.chm) - очень полезно для жесткорегламентированных отчетов. 4) система хранения шаблонов имеет собственное индексирование - для увеличения скорости работы ; поскольку save/load шаблонов делается через один обьект - опционально применить схему хранения шаблонов в БД - проблема небольшая ; просто так исторически сложилось - делать на файлах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2005, 11:00 |
|
||
|
Генератор DataWindow
|
|||
|---|---|---|---|
|
#18+
Estets ZhVУ нас принято - ваять Nested или Composite datawindow только если ну совсем уж никак и есть возможность обходиться с ним as is : ... Ну я привык называть отчетами, то что готовится для печати на бумаге, а это как минимум Nested Report с логотипом и реквизитами, и Nested с подписями сотрудников. В Excel это конечно не выгружается, для внутренней рассылки используется формат PSR и PSR-смотрелка, для внешней экспорт в PDF. Ну да , я ж сказал "AS IS" ... Только логотипы и подписи - это можно вставить и GRID - в foregroynd и footer - нормально смотрится. Не считая жестко регламентированных по форме отчетов , самый оправданный повод для composite - это действительно составной отчет , в котором разные части выполнены в принципиально различных структурах столбцов или даже типов. Но... Из опыта. Проведя некоторую работу среди юзеров - они оценили полезность фич возможности excel-образных видов обработки (включая - копирование в clipboard по Data.Selected) и в некоторых случаях согласились на замену одного составного отчета на несколько (обычно не более 3) отдельных. Взамен - возможность копирования данных с экрана вместо "набивки" вручную ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2005, 11:20 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=33398018&tid=1338006]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
66ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 349ms |

| 0 / 0 |
