Вопрос о преселекте элементов массива Workflow

Здесь обсуждаем систему TDM/PDM/Workflow Lotsia PDM PLUS (PartY PLUS).
Ответить
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Вопрос о преселекте элементов массива Workflow

Сообщение Александр »

не подскажите как можно сделать следующую вещь
есть запрос - есть 4 фильтра
и мне нужно вывести в массив все результаты запроса + подсветить на экране те из них которые соответствуют фильтрам чтобы потом уже из подсвеченных элементов - чекбоксами отобрать только те - что нужны для дальнейшей работы....
именно подсветить а не каждый раз перенабирать массив по фильтрам

просто мне кажется что с подсветкой это будет работать быстрее...? (т.к. массив данных уже создан и его просто надо раскрасить) а может не будет, а может это вообще сделать нельзя??
что скажите?

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Аватара пользователя
Disillusioned
Активный участник
Сообщения: 420
Зарегистрирован: 15 июл 2004, 15:12
Используемое ПО: Lotsia PDM PLUS
Откуда: Подольск
Контактная информация:

Сообщение Disillusioned »

Наверное, здесь уместно будет создать глобальную временную таблицу. Результат выборки в нее помещаем, затем используем эти результаты для любых необходимых целей (формируем списки, фильтруем массивы, определяем индексы для подсветки и т.д. и т.п.) без повторной выборки из структур Лоции и без необходимости использования циклических действий, которые отрабатывают, прямо скажем, не очень быстро.
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Сообщение Александр »

слушай такой еще вопрос - создам я временную таблицу - а как она себя ведет? в смысле как обновляется - это сервер делает сам при каждом изменении данных вообще или нужно какой то триггер вешать к этой таблице на изменение строго определенных данных?

нет а если в начале работы просто набрать массив (не выводя его на форму) и потом остальные набирать из него по фильтрам или еще как - это будет медленно? -в основном массиве порядка 1000 записей х 4 столбца

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Аватара пользователя
Disillusioned
Активный участник
Сообщения: 420
Зарегистрирован: 15 июл 2004, 15:12
Используемое ПО: Lotsia PDM PLUS
Откуда: Подольск
Контактная информация:

Сообщение Disillusioned »

Глобальная временная таблица интересна тем, что данные в ней разделены по соединениям с БД (т.е. один пользователь не видит данные другого). Соответственно при разрыве соединения данные удаляются. В остальном все то же самое, что и обычная таблица, т.е. данные автоматом не обновляются, просто сначала результаты выборки укладываем во временную таблицу, а уже потом из временной таблицы закачиваем в массивы. Надо обновить данные - очищаем временную таблицу и заполняем ее данными заново.
Здесь надо оговорится: Лоция создает несколько соединений с БД, притом какие для чего не известно, а глобальная временная таблица будет функционировать только в рамках одного. Т.е. если окажется что, например, функция загрузки данных в массив и функция f_ExecSQLSelect работают по разным коннектам, ничего мой подход не даст. Но все это легко проверить на практике.
Можно, наверное, работать и с массивом напрямую, но это будет значительно медленнее (по моему скромному опыту работы с циклическими действиями - на порядки) и муторнее (SQL мой любимый язык программирования).
Ответить