Дайти идею - "Свернутый" browse

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Андрей
Старожил
Сообщения: 277
Зарегистрирован: 30 Октябрь 2005, 3:58

Дайти идею - "Свернутый" browse

Сообщение Андрей »

Может смешно сформулировал в теме :-) - постараюсь расшифровать
Итак есть основная таблица начислений, в простом виде:
ИдКлиента; ИдТипаРасчета; СуммаНач1; СуммаНач2; СуммаНач3..... СуммаНач7

задолбало во всей проге в сотне мест вносить исправления при добавлении очередного ВидаНачисления (просто при постановке задачи говорили- виды начислений постоянны :-( )
В общем решил сделать ПРАВИЛЬНО, т.е.
ИдКлиента; ИдТипаРасчета; ИдВидНач; СуммаНач
Ну с расчетом и отчетами разберусь, но вот как представить результаты расчета в визуальной форме ? Раньше то было просто
ВидНач1 ВидНач2 ................ ВидНач7
ТипРасчета1 х х ............... х
ТипРасчета2 х х ............... х
ТипРасчетаN х х ............... х

и удобно - если какая то строка не устраивала - жмем "Изменить" - редактируем все(отдельные) начисления, сохраняем с флагом руч. изменения

теперь если сделать
ТипРасчета1 ВидНач 1 х
ТипРасчета1 ВидНач 2 х
ТипРасчета1 ВидНач N х
ТипРасчета2 ВидНач 1 х
ТипРасчета2 ВидНач 2 х
ТипРасчета2 ВидНач N х
..............................................
НЕНАГЛЯДНО.....

как бы совместить правильность хранения данных и удобство отображения и редактирования "неправильного" варианта,т.е. как бы "свернуть" Browse ???? Возможно ??? Какие есть варианты ?

с уважением, Андрей
Аватара пользователя
Admin
Администратор
Сообщения: 4010
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 53 раза
Поблагодарили: 33 раза
Контактная информация:

Re: Дайти идею - "Свернутый" browse

Сообщение Admin »

Андрей писал(а):как бы совместить правильность хранения данных и удобство отображения и редактирования "неправильного" варианта,т.е. как бы "свернуть" Browse ???? Возможно ??? Какие есть варианты ?
Совсем недавно применяли такой вариант, строка формируется как XXX = "Название|100|200|300"
Вот смотри пример:

Код: Выделить всё

            PROGRAM
            MAP
            END

GQueue      QUEUE
GoodsLine     STRING(2048)
            END

Window      WINDOW('DinaList'),AT(,,298,115),FONT('MS Sans Serif',8,,FONT:regular),GRAY,RESIZE
              LIST,AT(0,0),USE(?List1),FULL,FORMAT('0L(0)|M~ID~C(0)@N09@140L(2)|M~GoodsName~C(0)@s50@50L(2)|M~ID1~C(0)@n12@50L(2)|M~ID2~C(0)@n12@50L(2)|M~ID3~C(0)@n12@50L(2)|' &|
              'M~ID4~C(0)@n12@'),FROM(GQueue)
            END
  CODE
  OPEN(Window)
  LOOP W# = 1 TO 1000
    GQueue.GoodsLine = FORMAT(W#,@N_09)&'|Товар '&W#&'|'&RANDOM(1,1000)&'|'&RANDOM(1,1000)&'|'&RANDOM(1,1000)&'|'&RANDOM(1,1000)&'|'&RANDOM(1,1000)
    ADD(GQueue)
  END
  ACCEPT
  END
  CLOSE(Window)
Только один момент. Я не смог поместить в листе два поля. К примеру в одном ID записи LONG, а во втором строку с разбивкой |
Короче, есть куда копать! Если нужно в таком списке еще и ID хранить - держи его в первом столбце и делай первому столбцу ширину равную нулю.

P.S. Формат листа можешь динамически менять в зависимости от количества столбцов
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Igor
Бывалый
Сообщения: 75
Зарегистрирован: 08 Июль 2005, 11:03
Откуда: Королев

Re: Дайти идею - "Свернутый" browse

Сообщение Igor »

Залил на FTP в каталог Samle\SetBrowse\SetBrw.arj
Писал лет восемь назад ( Не судите строго). Так подтянул , вроде работает работает.
Аватара пользователя
Admin
Администратор
Сообщения: 4010
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 53 раза
Поблагодарили: 33 раза
Контактная информация:

Re: Дайти идею - "Свернутый" browse

Сообщение Admin »

Такой мелкий пример можно было не лить на FTP а воспользоваться вложением в сообщение
Не у всех есть доступ в Приват
Но за пример спасибо! :D
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Андрей
Старожил
Сообщения: 277
Зарегистрирован: 30 Октябрь 2005, 3:58

Re: Дайти идею - "Свернутый" browse

Сообщение Андрей »

Спасибо откликнувшимся !

Буду пробовать. Думаю, может быть остановиться на промеж. варианте с использованием массива ?
Основания:
1. Эксперименты показывают, что размер файла с массивом в 2 раза меньше.
2. Точно не понадобится более 10(ну пусть с запасом 20) видов начислений.
3. Выборка по отдельному виду начисления практически никогда не требуется
Ответить