Как "имитировать" массив в действии?
-
- Новый участник
- Сообщения: 23
- Зарегистрирован: 19 сен 2011, 15:35
- Используемое ПО: Lotsia PDM PLUS
- Откуда: Воронеж
Как "имитировать" массив в действии?
Здравствуйте, коллеги.
Такая ситуация: есть действие над объектом. В нем пользователю нужно выбрать несколько значений из списка(список из базы, довольно большой и меняется со временем). Оптимально бы для этой цели использовать массив, чтобы подгрузить список и отметить галочками нужные элементы, но в действиях массивов нет, а запускать шаблон для банального изменения атрибута почему-то не кажется мне хорошей идеей.
Кто-нибудь с подобным сталкивался? Может , есть какие-то махинации со списком, о которых нам не известно?
Буду благодарна за любые предложения:)
Такая ситуация: есть действие над объектом. В нем пользователю нужно выбрать несколько значений из списка(список из базы, довольно большой и меняется со временем). Оптимально бы для этой цели использовать массив, чтобы подгрузить список и отметить галочками нужные элементы, но в действиях массивов нет, а запускать шаблон для банального изменения атрибута почему-то не кажется мне хорошей идеей.
Кто-нибудь с подобным сталкивался? Может , есть какие-то махинации со списком, о которых нам не известно?
Буду благодарна за любые предложения:)
- Александр
- Активный участник
- Сообщения: 1658
- Зарегистрирован: 24 авг 2006, 08:06
- Используемое ПО: Lotsia PDM PLUS
- Откуда: 55.745578,37.665825
Re: Как "имитировать" массив в действии?
зависит от версии Лоции
первая идея (визуальная ограниченная)
если со скриптами в действиях - то делаете выпадающий список на основе своего запроса к БД,
в запросе произвольно формируете две колонки имя/значение, если есть повторяющиеся имена в списке - дополнительно формируете порядковый номер (тут например запрос через скрипт), чтобы не потерять данные...
из списка выбираете ОДНО значение и на следующем шаге (или в конце этого) меняете атрибут
На форме шага действия -Связанные списки сформировать нельзя, выбрать несколько значений из списка - нельзя
(ну по крайней мере в версиях <=4.40)
если нужна групповая обработка - меняйте алгоритм, или откажитесь от данной идеи
вторая идея (визуальная неработающая)
ваш программист пишет на любом языке *.exe с выпадающим списком - закидываете туда запросы, логины, пароли и т.д.
запускаете это дело из Лоции - и результаты каким либо образом забираете обратно

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



третья идея (самая простая не визуальная)
вы формируете список только из нужных значений, заранее на предыдущем шаге, выставив условия фильтрации для запроса к БД
запрос возвращает данные в одной строке с разделителями(например точка с запятой)
вы берете эту строку отрезаете от нее куски (если строка например состоит из id атрибутов) и меняете данные
Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный
-
- Новый участник
- Сообщения: 23
- Зарегистрирован: 19 сен 2011, 15:35
- Используемое ПО: Lotsia PDM PLUS
- Откуда: Воронеж
Re: Как "имитировать" массив в действии?
Вот эта понравилась:) Посмотрим, что будет быстрее работать: этот вариант или запуск из действия шаблона в качестве всплывающего окна. Спасибо!Александр писал(а): вторая идея (визуальная неработающая)
ваш программист пишет на любом языке *.exe с выпадающим списком - закидываете туда запросы, логины, пароли и т.д.
запускаете это дело из Лоции - и результаты каким либо образом забираете обратно![]()
![]()
![]()
А вообще, жутко напрягает ситуация отсутствием массива в действиях, конечно.

- Disillusioned
- Активный участник
- Сообщения: 420
- Зарегистрирован: 15 июл 2004, 15:12
- Используемое ПО: Lotsia PDM PLUS
- Откуда: Подольск
- Контактная информация:
Re: Как "имитировать" массив в действии?
Это точно, очень хочется хотя бы ListBox в действиях над объектами.А вообще, жутко напрягает ситуация отсутствием массива в действиях, конечно.
Ах и с ними невозможно
И без них никак нельзя
И без них никак нельзя
- Александр
- Активный участник
- Сообщения: 1658
- Зарегистрирован: 24 авг 2006, 08:06
- Используемое ПО: Lotsia PDM PLUS
- Откуда: 55.745578,37.665825
Re: Как "имитировать" массив в действии?
третий вариант - оптимальный!
если задача стандартно не решается - посмотрите с другой стороны и вперед
решение - вместо выбора из кучи = предварительная фильтрация кучи, довольно простое и элегантное по сравнению с использованием интерфейса WorkFlow уж поверьте

если задача стандартно не решается - посмотрите с другой стороны и вперед

решение - вместо выбора из кучи = предварительная фильтрация кучи, довольно простое и элегантное по сравнению с использованием интерфейса WorkFlow уж поверьте



Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный
-
- Новый участник
- Сообщения: 23
- Зарегистрирован: 19 сен 2011, 15:35
- Используемое ПО: Lotsia PDM PLUS
- Откуда: Воронеж
Re: Как "имитировать" массив в действии?
Предварительная фильтрация кучи, может быть, более элегантна для нас, но уж точно не для пользователя:) По крайней мере, не для нашего. Да и условия для фильтрации в конкретной задаче логике не особо поддаются:нужно выбрать разделы, которые войдут в состав тома проектной документации. Их может быть от одного до 10,с несвязанными обозначениямиАлександр писал(а):третий вариант - оптимальный!
если задача стандартно не решается - посмотрите с другой стороны и вперед![]()
решение - вместо выбора из кучи = предварительная фильтрация кучи, довольно простое и элегантное по сравнению с использованием интерфейса WorkFlow уж поверьте![]()
![]()


- Александр
- Активный участник
- Сообщения: 1658
- Зарегистрирован: 24 авг 2006, 08:06
- Используемое ПО: Lotsia PDM PLUS
- Откуда: 55.745578,37.665825
Re: Как "имитировать" массив в действии?
про окно выбора объектов никто не говорит
(мы за всю историю ни разу не решились предложить это окно юзерам, внедрение бы не состоялось)
на форме шага (например 1) - делаете несколько выпадающих списков для фильтрации объектов + выпадающий список с результатами (здесь пустой), на следующем шаге запрос и повторный вызов (goto шаг 1) шага с критериями + уже с результатами - и так по кругу пока пользователь не выставит корректные условия поиска
...
ладно по большому счету это все не важно - можно и через шаблон - вот только что вы будете делать с габаритами. Так мы в габаритах формы шага - а так мы ради списка улетаем в габариты шаблона...
но дело вкуса

(мы за всю историю ни разу не решились предложить это окно юзерам, внедрение бы не состоялось)

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

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный
- Старик Крупский
- Активный участник
- Сообщения: 803
- Зарегистрирован: 27 июл 2006, 22:17
- Откуда: Москва
Re: Как "имитировать" массив в действии?
Список не фиксированный, да? Десяток заранее заданных переменных флажков, каждый флажок соответствует разделу. В форме показали 10 флажков... Не подойдет?os_cherepanova писал(а):Предварительная фильтрация кучи, может быть, более элегантна для нас, но уж точно не для пользователя:) По крайней мере, не для нашего. Да и условия для фильтрации в конкретной задаче логике не особо поддаются:нужно выбрать разделы, которые войдут в состав тома проектной документации. Их может быть от одного до 10,с несвязанными обозначениямиПриучить нашего пользователя вводить несколько строк в окно выбора объекта - нереально. Заставлять выбирать его разделы по одному - жалко же людей, честное слово
"Лучше меньше, да лучше" (C)
- Старик Крупский
- Активный участник
- Сообщения: 803
- Зарегистрирован: 27 июл 2006, 22:17
- Откуда: Москва
Re: Как "имитировать" массив в действии?
О! А лучше десяток переменных-выпадающих списков... В первом выбрали раздел, появился второй. Во втором выбрали раздел, появился третий и т.д.
"Лучше меньше, да лучше" (C)
-
- Новый участник
- Сообщения: 23
- Зарегистрирован: 19 сен 2011, 15:35
- Используемое ПО: Lotsia PDM PLUS
- Откуда: Воронеж
Re: Как "имитировать" массив в действии?
У нас так реализовано прикрепление файлов было... Возникала масса вопросов типа "я уже не хочу ничего вводить, а она(лоция) от меня требует!!11". Конечно, лучше вариант, чем другие... так, наверное, и сделаем:)Старик Крупский писал(а):О! А лучше десяток переменных-выпадающих списков... В первом выбрали раздел, появился второй. Во втором выбрали раздел, появился третий и т.д.
- Старик Крупский
- Активный участник
- Сообщения: 803
- Зарегистрирован: 27 июл 2006, 22:17
- Откуда: Москва
Re: Как "имитировать" массив в действии?
Ну, прямо проблема! Делаем поля не обязательными. И сами анализируем их содержание...
"Лучше меньше, да лучше" (C)
Re: Как "имитировать" массив в действии?
я с подобной проблемой столкнулась именно в задаче формирования проекта путем набора разделов (а далее документов) из справочника.
Я предложила (реализовала) вариант выбора одного раздела из списка, ввода (выбора/подтверждения) для этого раздела необходимых атрибутов: сроки исполнения, ответственный и проч., после чего автоматически формировались объект-раздел, объект-исполнение-раздела и работа по доставке задания на разработку раздела ответственному исполнителю. ГИП (а именно он у нас формирует разделы проекта) в результате этих действий видит в дереве проекта сформированный раздел и все причандалы. Радуется. Переходит к формированию следующего раздела.
Мне показалась такая тактика приемлемой в рамках имеющегося инструментария.
Я предложила (реализовала) вариант выбора одного раздела из списка, ввода (выбора/подтверждения) для этого раздела необходимых атрибутов: сроки исполнения, ответственный и проч., после чего автоматически формировались объект-раздел, объект-исполнение-раздела и работа по доставке задания на разработку раздела ответственному исполнителю. ГИП (а именно он у нас формирует разделы проекта) в результате этих действий видит в дереве проекта сформированный раздел и все причандалы. Радуется. Переходит к формированию следующего раздела.
Мне показалась такая тактика приемлемой в рамках имеющегося инструментария.
-
- Новый участник
- Сообщения: 23
- Зарегистрирован: 19 сен 2011, 15:35
- Используемое ПО: Lotsia PDM PLUS
- Откуда: Воронеж
Re: Как "имитировать" массив в действии?
Всем спасибо за идеи и ответы!
Подводя итоги, мы всё-таки решили пожертвовать "хорошим тоном" ради красоты и использовать интерфейс workflow - для нечасто используемой задачи посчитали это вполне приемлемым.
Подводя итоги, мы всё-таки решили пожертвовать "хорошим тоном" ради красоты и использовать интерфейс workflow - для нечасто используемой задачи посчитали это вполне приемлемым.
