Страница 187 из 198

Clarion 11-12

Добавлено: 20 Май 2025, 10:04
finsoftrz
Игорь Столяров писал(а): 20 Май 2025, 9:30 Воспитатель: Анечка, почему ты нарисовала такую странную крысу ?
Анечка: Потому что это не та клыса, которая мыса. А та клыса которая на доме !
Перевод.
Educator: Anya, why did you draw such a strange rat?
Anechka: Because it's not a rat that looks like a mouse, but a rat painted on the wall of a house!

Clarion 11-12

Добавлено: 20 Май 2025, 10:20
Губин Игорь
Игорь Столяров писал(а): 20 Май 2025, 9:54 Какжется добропорядочные подписчики на ClaHUB начали что-то подозревать ...
Что на все зарезервированные на C12 деньги я закачу банкет на двоих в Touche? :cat: Не примите за рекламу, но там теперь работает мой любимый шеф.

:facepalm: :dizzy:

Поскольку Cla 12.1 можно и не дождаться...

Clarion 11-12

Добавлено: 20 Май 2025, 10:52
Игорь Столяров
Губин Игорь писал(а): 20 Май 2025, 10:20 на C12 деньги я закачу банкет на двоих в Touche
На деньги, что за прошлый год собрали, гулял расформированный обком !
(С) Частушка времён перестройки :)

Clarion 11-12

Добавлено: 20 Май 2025, 11:09
Игорь Столяров
Но, кстати, соглашусь с тем, что большие словари в Dictionary C12 стали работать намного быстрее !
Почти как в C6.3 ... :D

Clarion 11-12

Добавлено: 20 Май 2025, 11:14
finsoftrz
А при редактировании кода в эмбедах при вызове из оконного дизайнера зависаний не было? У меня пока не воспроизводится.

Clarion 11-12

Добавлено: 20 Май 2025, 11:25
Игорь Столяров
finsoftrz писал(а): 20 Май 2025, 11:14 в эмбедах при вызове из оконного дизайнера зависаний не было
Неть ... но у меня их и в C11 не было.
Работа с деревом Embbed'ов основана на шаблонах, и вполне может быть, что это место отработаботано.

Clarion 11-12

Добавлено: 20 Май 2025, 12:03
finsoftrz
Игорь Столяров писал(а): 20 Май 2025, 11:25
finsoftrz писал(а): 20 Май 2025, 11:14 в эмбедах при вызове из оконного дизайнера зависаний не было
Неть ... но у меня их и в C11 не было.
Работа с деревом Embbed'ов основана на шаблонах, и вполне может быть, что это место отработаботано.
Многие жаловались. Джонсон даже рекомендовал работать не через эмбеды, а через embeditor. Я по этой причине после небольших порций изменений в окне выходил из дизайнера, сохранялся и заходил обратно. В с12 не наступил пока ни разу. Остальные места с багами все на месте.

Clarion 11-12

Добавлено: 20 Май 2025, 18:23
Игорь Столяров
finsoftrz писал(а): 19 Май 2025, 13:41 Я его практически не использую, удобнее с кьюшками работать, если научиться выводить их в browse.
Губин Игорь писал(а): 19 Май 2025, 13:54 Потому я и использую и то и то, в зависимости от потребностей.
Господа, а можно начинающий работать со списками из QUEUE задаст Вам вопрос ?
Внимание вопрос ! Можно ли как-то в таком списке перехватить нажатие кнопки с "?" на VCR панели ?

1.jpg

В BROWSE по шаблону это делается без проблем:

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

  Of Event:Locate  ! Настройка списка
     Message('Привет ! Вы нажали кнопку "?" на VCR панели BROWSE !')
Как перехватить нажатие кнопки в LIST без шаблона - не понимаю. :(
Заранее спасибо !

Clarion 11-12

Добавлено: 20 Май 2025, 18:39
finsoftrz
Игорь Столяров писал(а): 20 Май 2025, 18:23 Как перехватить нажатие кнопки в LIST без шаблона - не понимаю. :(
Заранее спасибо !
Я про используемую у себя технология несколько раз писал. В словаре определяется одна системная таблица с одним полем ИД и первичным ключем по нему. По нему обычный browse. Далее формируем что-то в кьюшку, устанавливаем range limit по количеству записей в кьшке (системную таблицу, разумеется, надо проверить и расширить вызовом специальной функции, если в ней записей меньше, чем в кьюшке). А потом в эмбеде делаем get(queue,tab:id). Получаем функционал, как в обычном browse, но при этом кьюшки могут быть локальными, ничего не надо объявлять в словаре. Некоторые нюансы, если требуется сортировка. У меня такое редко бывает, я не заморачивался, просто в коде делаю sort и перерисовываю browse. Еще немного локаторы отличаются. У меня не используется в таких browse инкрементных, вместо них шаблоны для поиска по подстроке в колонке или во всей таблице. И. на самом деле, у меня 2 таких системных таблицы в словаре, так как нужно иногда выводить 2 связанных browse.

Clarion 11-12

Добавлено: 20 Май 2025, 18:50
Игорь Столяров
finsoftrz писал(а): 20 Май 2025, 18:39 В словаре определяется одна системная таблица с одним полем ИД ...системную таблицу, разумеется, надо проверить и расширить
Но системная таблица тогда ведь всё равно создаётся с драйвером In-Memory или SQLite::Memory ?
Вы же не добавляете записи в TPS файл на HDD, что бы просто показать содержимое QUEUE из RAM ? :shock:

Clarion 11-12

Добавлено: 20 Май 2025, 18:54
finsoftrz
На tps. Записи добавляются только при необходимости, когда не хватает. В транзакции это быстро. Обычно после формирования одного большого отчета с большим число строк одним из пользователей, дальше уже ничего не добавляется.

Clarion 11-12

Добавлено: 20 Май 2025, 19:03
Игорь Столяров
finsoftrz писал(а): 20 Май 2025, 18:54 Записи добавляются только при необходимости, когда не хватает
Но зато считываются с диска всегда ... но Вам видней. :D
Т.е. у Вас нет простого LIST по QUEUE без шаблона. Будем искать ...

Clarion 11-12

Добавлено: 20 Май 2025, 19:26
finsoftrz
Игорь Столяров писал(а): 20 Май 2025, 19:03
finsoftrz писал(а): 20 Май 2025, 18:54 Записи добавляются только при необходимости, когда не хватает
Но зато считываются с диска всегда ... но Вам видней. :D
Т.е. у Вас нет простого LIST по QUEUE без шаблона. Будем искать ...
Стандартная постраничная загрузка, работает быстро. Плюсы перевешивают, так как если объявлять все структуры в словаре, он сильно будет разбухать.
Шаблон "browse по queue" когда-то давно кто-то выкладывал, но там были какие-то проблемы.

Clarion 11-12

Добавлено: 20 Май 2025, 19:45
Игорь Столяров
finsoftrz писал(а): 20 Май 2025, 19:26 Плюсы перевешивают
Да я и не против такого подхода ...
Просто здесь для т.н. "системной таблицы" просится драйвер In-Memory или SQLite::Memory.

У нас есть похожая технология, только для отчётов. И работает наоборот. :D
Например, если выбраны произвольные товары в справочнике, то создаётся In-Memory
список с ID товаров и передаётся в REPORT. А там уже по нему считываются товары и печатаются ценники и т.д.
Отчёт проще - в нём только сортировка и группировка, нет никаких реакций на действия и т.д.

Clarion 11-12

Добавлено: 20 Май 2025, 20:16
finsoftrz
Игорь Столяров писал(а): 20 Май 2025, 19:45
finsoftrz писал(а): 20 Май 2025, 19:26 Плюсы перевешивают
Да я и не против такого подхода ...
Просто здесь для т.н. "системной таблицы" просится драйвер In-Memory или SQLite::Memory.
В системную таблицу на tps записи добавляются один раз и используются всеми пользователями. Тем более, что все работают в терминальных сессиях, записи кэшируются в оперативной памяти. Когда эта технология прорабатывалась, еще не было in-memory и sqlite. Да и сейчас я в их использовании особого смысла не вижу.
Кстати, тут написали, что в c12 драйвер sqlite изменился. Поддерживает ли он кириллицу, лень проверять.
finsoftrz писал(а): 20 Май 2025, 19:26 У нас есть похожая технология, только для отчётов. И работает наоборот. :D
Например, если выбраны произвольные товары в справочнике, то создаётся In-Memory
список с ID товаров и передаётся в REPORT. А там уже по нему считываются товары и печатаются ценники и т.д.
Отчёт проще - в нём только сортировка и группировка, нет никаких реакций на действия и т.д.
Аналогично для ценников и этикеток, но через глобальную кьюшку.