Интерфейсы в кларионовских приложениях

Clarion, Clarion 7

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

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4615
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

Интерфейсы в кларионовских приложениях

Сообщение finsoftrz »

Ну, это как в электронной таблице. В 1с аналогично делают. Это просто табличной отчёт в виде LIST, чтобы с ним можно было полноценно работать. У меня все отчёты в подобном виде, кроме некоторых специфичных или заказных, которые сразу в xls выводятся. От отчётов в report давно отказался, так как с ними нельзя работать, только посмотреть и распечатать.
Насчет сортировки щелчком по заголовку колонки, по моему, в ШВС нет. Во всяком случае, я таким не пользуюсь, не очень понятный для меня механизм. Для поиска удобнее фильтрация.
C6/C11, ШВС, tps/btrieve.
kreator
✯ Ветеран ✯
Сообщения: 4983
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

Интерфейсы в кларионовских приложениях

Сообщение kreator »

Игорь Столяров писал(а): 12 Апрель 2023, 10:28
finsoftrz писал(а): 11 Апрель 2023, 23:19 Не очень понял, чем так бомбануло
Вам будет сложно понять ... ну это как негр впервые в 30 лет увидел снег. :)
Ему логика всегда подсказывала, что содержание должно быть отдельно, а итог - отдельно.
Но оказалось, что бывает иначе. Это не плохо ... но в контексте того же ЭДО усложняет парсинг.
Ну и забыть про сортировку щелчком мышки на шапке колонки (но в базовой комплектации ШВС этого и так нет ?).
У меня тоже такое есть. Итоги по группам. Альтернативная сортировка в данном случае не нужна. Я вообще сортировку пользователям не везде позволяю. По-моему в UltraTree это вообще в базе заложено (итоги по группам).
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Интерфейсы в кларионовских приложениях

Сообщение Игорь Столяров »

kreator писал(а): 13 Апрель 2023, 12:17 Итоги по группам
Я уже понял (точнее объяснили). Это вариант отчёта с интерактивными возможностями.
Да. Интересно. Можно кнопу ткнуть и смотреть карточку товара и т.д.
Хотя вопрос размера тоже важен - потому что листать большую группу в поиске итога - так себе.

Что касается сортировки, то получить список отсортированный по кол-ву, стоимости, артикулу и т.д. тоже интересно.
Но если этого нет изначально, вариант с итоговыми строками в списке как утешительный бонус. :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4615
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

Интерфейсы в кларионовских приложениях

Сообщение finsoftrz »

Игорь Столяров писал(а): 13 Апрель 2023, 12:30
kreator писал(а): 13 Апрель 2023, 12:17 Итоги по группам
Я уже понял (точнее объяснили). Это вариант отчёта с интерактивными возможностями.
Да. Интересно. Можно кнопу ткнуть и смотреть карточку товара и т.д.
Хотя вопрос размера тоже важен - потому что листать большую группу в поиске итога - так себе.

Что касается сортировки, то получить список отсортированный по кол-ву, стоимости, артикулу и т.д. тоже интересно.
Но если этого нет изначально, вариант с итоговыми строками в списке как утешительный бонус. :)
Я в последнее время предпочитаю итоги выводить в заголовок группы, некоторая экономия. Если нужно посмотреть итоги в разрезе групп, без детализации по товарам, то такое либо задается в параметрах отчета, либо после формирования. Например, вот так.

rep001.jpg

Аналогично, если нужно упорядочить товары внутри групп по какому-то критерию (сумма отгрузки, доходность и т.п.). Это не универсальная сортировка, а там, где действительно надо. Универсально такие отчеты всегда можно автоматом сохранить в xls, и изголяться дальше в электронной таблице.

rep002.jpg
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Интерфейсы в кларионовских приложениях

Сообщение Игорь Столяров »

finsoftrz писал(а): 13 Апрель 2023, 13:20 а там, где действительно надо
Другими словами: для каждой процедуры, каждый раз, ручным кодированием ? ;)
finsoftrz писал(а): 13 Апрель 2023, 13:20 Я в последнее время предпочитаю итоги выводить в заголовок группы
Действительно есть такая структура группировки отчётов.
Но здесь как в бане: нужно либо крест снять, либо трусы надеть.
Это к тому, что общий итог по отчёту тогда зачем внизу ? ;)

И хорошо бы добавить сворачивание групп в XLSX (что бы было видно все итоги вместе).
Тем более что делается это в XLSX очень просто.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4615
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

Интерфейсы в кларионовских приложениях

Сообщение finsoftrz »

Игорь Столяров писал(а): 13 Апрель 2023, 13:36
finsoftrz писал(а): 13 Апрель 2023, 13:20 а там, где действительно надо
Другими словами: для каждой процедуры, каждый раз, ручным кодированием ? ;)
finsoftrz писал(а): 13 Апрель 2023, 13:20 Я в последнее время предпочитаю итоги выводить в заголовок группы
Действительно есть такая структура группировки отчётов.
Но здесь как в бане: нужно либо крест снять, либо трусы надеть.
Это к тому, что общий итог по отчёту тогда зачем внизу ? ;)

И хорошо бы добавить сворачивание групп в XLSX (что бы было видно все итоги вместе).
Тем более что делается это в XLSX очень просто.
У меня альтернативная сортировка вручную прописывается. Таких отчётов, где действительно нужно, на самом деле немного, кода тоже, иначе можно было бы приделать шаблон. Там ещё разные варианты могут быть с группами, не факт, что их надо упорядочить по тему же критерию, как товары. Могут быть вложенные группы.

Всего по отчёту выводится всегда внизу. Я видел в 1с отчёты с выводом итого в первой строке, но, на моё восприятие, это как справа налево писать, мы же не арабы...

Сворачивание групп можно и в xls делать. Такое действительно есть, например, в прайсе, отправляемому покупателям. Но в обычных отчетах, на моё восприятие, только усложняет работу. Если пользователю надо посмотреть товары в какой-то отдельной группе, то он просто ставит отбор в параметрах отчёта или после его формирования. Товарные отчёты с отбором по группам формируются быстро, работать с небольшой выборкой удобнее, чем ползать по всей номенклатуре и сворачивать/разворачивать группы.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4615
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

Интерфейсы в кларионовских приложениях

Сообщение finsoftrz »

Бывают ещё отчёты с 2 связанными таблицами. Например, анализ продаж в разрезе поставщиков. В первой таблице выводятся поставщики со сводными итогами по каждому, щелкаем по поставщику, открывается вторая таблица с итогами по товарам, которые у него закупались. В 1с в подобных случаях обычно многоуровневое дерево предлагают со сворачиваем. Мне такое не нравится. И громоздко, и состав колонок в первой и второй таблице из нашего примера отличается.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Интерфейсы в кларионовских приложениях

Сообщение Игорь Столяров »

finsoftrz писал(а): 13 Апрель 2023, 14:53 У меня альтернативная сортировка вручную прописывается.
Если я правильно понимаю, то здесь в принципе не может быть "сортировки" (упорядочивания значений) списка.
Здесь нужно по заданным критериям полностью пересоздавать заново список с нужным порядком следования записей ...

Для пользователя - поменялся порядок следования записей в списке (с итогами). Но по сути - список ведь создан заново.
И если так "сортируется" большой список, например прайс-лист или оборотка, то это бу ощутимо по времени. :(
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4615
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

Интерфейсы в кларионовских приложениях

Сообщение finsoftrz »

Игорь Столяров писал(а): 13 Апрель 2023, 15:15
finsoftrz писал(а): 13 Апрель 2023, 14:53 У меня альтернативная сортировка вручную прописывается.
Если я правильно понимаю, то здесь в принципе не может быть "сортировки" (упорядочивания значений) списка.
Здесь нужно по заданным критериям полностью пересоздавать заново список с нужным порядком следования записей ...

Для пользователя - поменялся порядок следования записей в списке (с итогами). Но по сути - список ведь создан заново.
И если так "сортируется" большой список, например прайс-лист или оборотка, то это бу ощутимо по времени. :(
Не обязательно заново формировать. У нас есть список в кьюшке. Группа, товар, общий итог имеют разное значение в поле с типом строки. Мы можем просто пересортировать кьюшку по нужному критерию (набору полей) , не формируя её заново.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Интерфейсы в кларионовских приложениях

Сообщение Игорь Столяров »

finsoftrz писал(а): 13 Апрель 2023, 15:31 не формируя её заново
Понял. Т.е. это список по QUEUE с ручным позицированием записей ...
Иконки и раскраска тоже вручную или через List{Prop:VLBProc} ?
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4615
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

Интерфейсы в кларионовских приложениях

Сообщение finsoftrz »

Игорь Столяров писал(а): 13 Апрель 2023, 15:54
finsoftrz писал(а): 13 Апрель 2023, 15:31 не формируя её заново
Понял. Т.е. это список по QUEUE с ручным позицированием записей ...
Иконки и раскраска тоже вручную или через List{Prop:VLBProc} ?
Нет, обычный стандартный броуз. Я писал давно про эту технологию. Используется системная таблица с одним полем ID. Количество записей в ней больше или равно количеству строк в кьюшке. Range limit по количеству записей в кьюшке. В точке вставки контроля фильтра делается get на нужную строку кьюшки, равную ID, и подтягиваются связанные значения из базы данных (товары, группы и т.п.). Все просто, как капуста.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Интерфейсы в кларионовских приложениях

Сообщение Игорь Столяров »

finsoftrz писал(а): 13 Апрель 2023, 16:09 Все просто, как капуста
Да, но всё вручную ! Для каждого такого просмотра - получение всех значений из связанных списков БД, фильтрация,
выделение шрифтом (наверно стиль). Считывание текущей записи LIST -> запись QUEUE -> запись БД -> Связанные списки БД ...
Хорошо ещё, если у Вас такой "отчёт" реализуется шаблоном, иначе проще было бы просто в коде сделать. :)
Вручную - это не значит плохо. Но это сложно в поддержке, переносе, масштабировании, устранении проблем.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4615
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

Интерфейсы в кларионовских приложениях

Сообщение finsoftrz »

Игорь Столяров писал(а): 13 Апрель 2023, 17:12
finsoftrz писал(а): 13 Апрель 2023, 16:09 Все просто, как капуста
Да, но всё вручную ! Для каждого такого просмотра - получение всех значений из связанных списков БД, фильтрация,
выделение шрифтом (наверно стиль). Считывание текущей записи LIST -> запись QUEUE -> запись БД -> Связанные списки БД ...
Хорошо ещё, если у Вас такой "отчёт" реализуется шаблоном, иначе проще было бы просто в коде сделать. :)
Вручную - это не значит плохо. Но это сложно в поддержке, переносе, масштабировании, устранении проблем.
Да, это обычный шаблон броуза. Фильтация, печать, экспорт в эксель автоматически. Локатор шаблоном. Выделение стилем, как везде.
Ну, надо добавить какие-то строки, типа get(Queue), FsPrimary:Tovar(idTovar). Мелочь это. Тем более, что процедура визардом генериться. Вообще никаких проблем. Кьюшка может быть локальная, не надо в словаре мусорить. Конечно, сразу выводить в xls проще, но и функционал несопоставим.
C6/C11, ШВС, tps/btrieve.
kreator
✯ Ветеран ✯
Сообщения: 4983
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

Интерфейсы в кларионовских приложениях

Сообщение kreator »

Игорь Столяров писал(а): 13 Апрель 2023, 15:54 Понял. Т.е. это список по QUEUE с ручным позицированием записей ...
Иконки и раскраска тоже вручную или через List{Prop:VLBProc} ?
А у Вас аналитические отчёты в стандартном броузе?
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Интерфейсы в кларионовских приложениях

Сообщение Игорь Столяров »

kreator писал(а): 13 Апрель 2023, 19:55 А у Вас аналитические отчёты в стандартном броузе
Конечно нет. У нас отчёты в REPORT. ;)
Но есть запросы в которых выполняется некая обработка данных, и результат действительно показан в BROWSE на IMDD.
В таких списках работают все фишки, вроде сортировки по колонкам, Edit-In-Place, масштабирования зоны просмотра LIST,
просмотр карточек, сортировка на закладках, контекстного поиска и т.д. Ну т.е. все возможности штатного BROWSE ABC. :)
За теми кто отстал - не возвращаться. (С) Кодекс
Ответить