Страница 1 из 1

Как "имитировать" массив в действии?

Добавлено: 10 ноя 2011, 10:56
os_cherepanova
Здравствуйте, коллеги.
Такая ситуация: есть действие над объектом. В нем пользователю нужно выбрать несколько значений из списка(список из базы, довольно большой и меняется со временем). Оптимально бы для этой цели использовать массив, чтобы подгрузить список и отметить галочками нужные элементы, но в действиях массивов нет, а запускать шаблон для банального изменения атрибута почему-то не кажется мне хорошей идеей.
Кто-нибудь с подобным сталкивался? Может , есть какие-то махинации со списком, о которых нам не известно?
Буду благодарна за любые предложения:)

Re: Как "имитировать" массив в действии?

Добавлено: 10 ноя 2011, 13:59
Александр
зависит от версии Лоции
первая идея (визуальная ограниченная)
если со скриптами в действиях - то делаете выпадающий список на основе своего запроса к БД,
в запросе произвольно формируете две колонки имя/значение, если есть повторяющиеся имена в списке - дополнительно формируете порядковый номер (тут например запрос через скрипт), чтобы не потерять данные...
из списка выбираете ОДНО значение и на следующем шаге (или в конце этого) меняете атрибут
На форме шага действия -Связанные списки сформировать нельзя, выбрать несколько значений из списка - нельзя
(ну по крайней мере в версиях <=4.40)
если нужна групповая обработка - меняйте алгоритм, или откажитесь от данной идеи
вторая идея (визуальная неработающая)
ваш программист пишет на любом языке *.exe с выпадающим списком - закидываете туда запросы, логины, пароли и т.д.
запускаете это дело из Лоции - и результаты каким либо образом забираете обратно :wink: :wink: :wink:
третья идея (самая простая не визуальная)
вы формируете список только из нужных значений, заранее на предыдущем шаге, выставив условия фильтрации для запроса к БД
запрос возвращает данные в одной строке с разделителями(например точка с запятой)
вы берете эту строку отрезаете от нее куски (если строка например состоит из id атрибутов) и меняете данные

Re: Как "имитировать" массив в действии?

Добавлено: 11 ноя 2011, 10:45
os_cherepanova
Александр писал(а): вторая идея (визуальная неработающая)
ваш программист пишет на любом языке *.exe с выпадающим списком - закидываете туда запросы, логины, пароли и т.д.
запускаете это дело из Лоции - и результаты каким либо образом забираете обратно :wink: :wink: :wink:
Вот эта понравилась:) Посмотрим, что будет быстрее работать: этот вариант или запуск из действия шаблона в качестве всплывающего окна. Спасибо!

А вообще, жутко напрягает ситуация отсутствием массива в действиях, конечно. :oops:

Re: Как "имитировать" массив в действии?

Добавлено: 11 ноя 2011, 10:48
Disillusioned
А вообще, жутко напрягает ситуация отсутствием массива в действиях, конечно.
Это точно, очень хочется хотя бы ListBox в действиях над объектами.

Re: Как "имитировать" массив в действии?

Добавлено: 11 ноя 2011, 12:08
Александр
третий вариант - оптимальный!
если задача стандартно не решается - посмотрите с другой стороны и вперед :wink:
решение - вместо выбора из кучи = предварительная фильтрация кучи, довольно простое и элегантное по сравнению с использованием интерфейса WorkFlow уж поверьте :wink: :wink: :wink:

Re: Как "имитировать" массив в действии?

Добавлено: 14 ноя 2011, 09:06
os_cherepanova
Александр писал(а):третий вариант - оптимальный!
если задача стандартно не решается - посмотрите с другой стороны и вперед :wink:
решение - вместо выбора из кучи = предварительная фильтрация кучи, довольно простое и элегантное по сравнению с использованием интерфейса WorkFlow уж поверьте :wink: :wink: :wink:
Предварительная фильтрация кучи, может быть, более элегантна для нас, но уж точно не для пользователя:) По крайней мере, не для нашего. Да и условия для фильтрации в конкретной задаче логике не особо поддаются:нужно выбрать разделы, которые войдут в состав тома проектной документации. Их может быть от одного до 10,с несвязанными обозначениями :) Приучить нашего пользователя вводить несколько строк в окно выбора объекта - нереально. Заставлять выбирать его разделы по одному - жалко же людей, честное слово :mrgreen:

Re: Как "имитировать" массив в действии?

Добавлено: 14 ноя 2011, 12:11
Александр
про окно выбора объектов никто не говорит :wink:
(мы за всю историю ни разу не решились предложить это окно юзерам, внедрение бы не состоялось) :wink:
на форме шага (например 1) - делаете несколько выпадающих списков для фильтрации объектов + выпадающий список с результатами (здесь пустой), на следующем шаге запрос и повторный вызов (goto шаг 1) шага с критериями + уже с результатами - и так по кругу пока пользователь не выставит корректные условия поиска
...
ладно по большому счету это все не важно - можно и через шаблон - вот только что вы будете делать с габаритами. Так мы в габаритах формы шага - а так мы ради списка улетаем в габариты шаблона...
но дело вкуса :wink:

Re: Как "имитировать" массив в действии?

Добавлено: 25 ноя 2011, 21:19
Старик Крупский
os_cherepanova писал(а):Предварительная фильтрация кучи, может быть, более элегантна для нас, но уж точно не для пользователя:) По крайней мере, не для нашего. Да и условия для фильтрации в конкретной задаче логике не особо поддаются:нужно выбрать разделы, которые войдут в состав тома проектной документации. Их может быть от одного до 10,с несвязанными обозначениями :) Приучить нашего пользователя вводить несколько строк в окно выбора объекта - нереально. Заставлять выбирать его разделы по одному - жалко же людей, честное слово :mrgreen:
Список не фиксированный, да? Десяток заранее заданных переменных флажков, каждый флажок соответствует разделу. В форме показали 10 флажков... Не подойдет?

Re: Как "имитировать" массив в действии?

Добавлено: 25 ноя 2011, 21:24
Старик Крупский
О! А лучше десяток переменных-выпадающих списков... В первом выбрали раздел, появился второй. Во втором выбрали раздел, появился третий и т.д.

Re: Как "имитировать" массив в действии?

Добавлено: 28 ноя 2011, 13:06
os_cherepanova
Старик Крупский писал(а):О! А лучше десяток переменных-выпадающих списков... В первом выбрали раздел, появился второй. Во втором выбрали раздел, появился третий и т.д.
У нас так реализовано прикрепление файлов было... Возникала масса вопросов типа "я уже не хочу ничего вводить, а она(лоция) от меня требует!!11". Конечно, лучше вариант, чем другие... так, наверное, и сделаем:)

Re: Как "имитировать" массив в действии?

Добавлено: 28 ноя 2011, 21:34
Старик Крупский
Ну, прямо проблема! Делаем поля не обязательными. И сами анализируем их содержание...

Re: Как "имитировать" массив в действии?

Добавлено: 08 дек 2011, 08:49
gali
я с подобной проблемой столкнулась именно в задаче формирования проекта путем набора разделов (а далее документов) из справочника.
Я предложила (реализовала) вариант выбора одного раздела из списка, ввода (выбора/подтверждения) для этого раздела необходимых атрибутов: сроки исполнения, ответственный и проч., после чего автоматически формировались объект-раздел, объект-исполнение-раздела и работа по доставке задания на разработку раздела ответственному исполнителю. ГИП (а именно он у нас формирует разделы проекта) в результате этих действий видит в дереве проекта сформированный раздел и все причандалы. Радуется. Переходит к формированию следующего раздела.
Мне показалась такая тактика приемлемой в рамках имеющегося инструментария.

Re: Как "имитировать" массив в действии?

Добавлено: 16 янв 2012, 14:23
os_cherepanova
Всем спасибо за идеи и ответы!
Подводя итоги, мы всё-таки решили пожертвовать "хорошим тоном" ради красоты и использовать интерфейс workflow - для нечасто используемой задачи посчитали это вполне приемлемым. :mrgreen: