Перейти к содержимому


Массив записей по фильтру

массив записей

Сообщений в теме: 2

#1 Tony999

    Активный участник

  • Пользователи
  • PipPipPip
  • 412 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 15 Март 2020 - 19:04

Здравствуйте, господа!

Вот такая простая задача:

В таблице "Компании" выбираем по фильтру или расширенному поиску определенное кол-во, скажем 100 записей.
Вот эти компании за одно действие надо добавить (связать) в Проект (отдельная таблица).
Создаем дополнительное действие (ДД) в таблице Компании в режиме всплывающего окна.
В этом окне пишем код (форму) по выбору Проекта, в который хотим добавить все эти Компании.
Чтобы эта форма не рисовалась 100 раз в процессе выполнения ДД, заставляем ДД выполниться только 1 раз.
(то есть, мы фактически используем только кнопки запуска ДД, чтобы открыть форму выбора Проекта).

И вот теперь нам надо получить массив ID выбранных компаний, чтобы связать эти записи с выбранным проектом.
Как получить, если компании выбраны "галочками" - это понятно - массив [sel], а вот когда галочек нет, т.е. записи отобраны по фильтру?

Нашел в сессиях['cur_sql_filter'] и запросом получаю все необходимое.
Недостаток: если перехожу на другую вкладку браузера и возвращаюсь, то в этой переменной уже совсем другое.
То есть, ['cur_sql_filter'] - эта штука содержит правильные данные после перезагрузки последней в браузере любой таблицы КБ.

Сумбурно объяснил, наверное...

Но может кто знает более красивое решение этой мелкой проблемки?

Спасибо!

Сообщение отредактировал Tony999: 16 Март 2020 - 08:45

Умные сайты на заказ
https://info.crm-master.info

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 17 Март 2020 - 11:29

Даже не знаю какое тут решение будет красивым. Некрасивое я знаю, но оно мне самому не нравится (слишком сложное). Разве что принудительно обновлять основную страницу, когда вы открываете окно ДД - это можно сделать через JS. Но этот вариант подходит только если вам не сразу нужен массив записей, а скажем после сабмита формы в окне ДД. Ну и конечно нельзя открывать новые вкладки пока ДД не закроете) Костыльно, но чуть более рабочее чем есть.

А так конечно это косяк с нашей стороны, надо было привязывать cur_sql_filter к таблице.

#3 Tony999

    Активный участник

  • Пользователи
  • PipPipPip
  • 412 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 18 Март 2020 - 01:00

Это вариант - принудительно перезагружать страницу. Спасибо!
Умные сайты на заказ
https://info.crm-master.info





Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных