|
Динамический список + колонка заполняемая на клиенте | ☑ | ||
---|---|---|---|---|
0
Черный всадник
20.12.15
✎
02:42
|
Доброго времени суток.
На форме есть динамический список документов. Есть желание добавить туда колонку с галочкой, состояние которой определять на клиенте. В унаследованном коде эта проблема решается добавлением в параметры списка ссылок на все отмеченных документы. После установки или снятия галки на клиенте происходит изменение параметров списка и вызывается обновление последнего. Эта конструкция заметно тормозит. Подскажите, пожалуйста, можно ли добавить в динамический список колонку, значение которой определять на клиенте? Пока думаю сделать через замену списка на ТЗ. Заранее спасибо за любую помощь. |
|||
1
Ctrekoza
20.12.15
✎
02:44
|
(0) В заголовке опечатка Диманический?
|
|||
2
Ctrekoza
20.12.15
✎
02:47
|
(1) Исправила, но, Вы не ответили.(
|
|||
3
Черный всадник
20.12.15
✎
02:47
|
(1) Так и есть. Но опечатка отлично отражает моё отношение к этому компоненту.
|
|||
4
Черный всадник
20.12.15
✎
02:48
|
(2) Спасибо.
|
|||
5
Nuobu
20.12.15
✎
07:35
|
(0) Динамический список только отражает данные, не изменяя их. Сделать именно в динамическом списке не получится. А вот с ТЗ - получится.
|
|||
6
vvp91
20.12.15
✎
07:37
|
Условное оформление должно помочь.
Сформулируй частную задачу. |
|||
7
Черный всадник
20.12.15
✎
13:04
|
(5) В настройках динамического списка есть возможность настроить способ выборки: динамический и нет. Можно ли менять на клиенте данные полученные при полной выборке?
(6) Условное оформление не подходит, оно опирается на данные запроса. В текущей задаче клиент сам формирует часть выборки. Задача проста: отметить документы в списке галками, в соседнем окне вывести предупреждение (если есть несовместимая номенклатура) и если всё в порядке, то по нажатию кнопки отправить на формирование документов сборки комплекта. |
|||
8
vde69
20.12.15
✎
13:15
|
"произвольный запрос" точно поможет
|
|||
9
Черный всадник
20.12.15
✎
13:40
|
(8) Сейчас используется произвольный запрос с такой вставкой
... ,ВЫБОР КОГДА Заказ.Ссылка В (&СписокОтмеченныхЗаказов) ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ КАК Отметка ... Таким образом сейчас при установке, снятии галочки вызывается обновление динамического списка. Это приводит к замедлению этих действий. Последнее весьма заметно. И в целом никакой необходимости в вызове сервера нет. |
|||
10
GROOVY
20.12.15
✎
13:44
|
Не просто так 1С убрала возможность редактирования в списке при работе с УФ. Не надо гвозди забивать штангенциркулем.
|
|||
11
Nuobu
20.12.15
✎
13:51
|
(9) Тебе же сказали, что ДинСписки придуманы для другого и возможности редактирования они не имеют.
Если она нужна, пользуйся ТЗ. http://v8.1c.ru/overview/Term_000000730.htm Там основная суть в том, чтобы правильно установить блокировку на объект, который ты редактируешь и правильно её снять. И, чтобы не парить мозг, парни из 1С решили убрать такую возможность вообще. |
|||
12
Черный всадник
20.12.15
✎
14:16
|
(10), (11) Это печально. По сути мне не требуется менять объект выводимый динамическим списком. А просто добавить колонку в таблицу формы и заполнять её данными, которые существуют только на клиенте и имеют смысл только там. Таблица значений тоже не очень подходит, в некоторых случаях выборка может содержать пару тысяч документов. А потребуется только с десяток другой.
|
|||
13
vvp91
20.12.15
✎
14:41
|
(7) "Условное оформление не подходит" - это весьма опрометчивое заявление.
Более того, исходя из описания задачи, условное оформление будет самым верным решением. Кроме того, описанный сценарий работы изначально кривой. Т.е. заставлять пользователя жать галки, а потом выводить предупреждения, и лишь потом жать кнопки создания сборок - это куча лишних действий и, грубо говоря, плохая эргономика. Как можно: 1. В запросе изначально проверить наличие "несовместимой номенклатуры", при наличии этой номенклатуры подсвечивать условным оформлением такие документы в списке "красным". 2. Пользователь не ставит никаких галок. Пользователь отбирает документы через "Найти" или "Настроить отбор", после чего жмет Ctrl+A или другим способом выделяет строки в списке с включенным множественным выделением. 3. Пользователь жмет кнопку создания сборок, после чего система создает сборки, попутно сообщая пользователю, что в состав выделенных строк входят документы с "несовместимой номенклатурой", которые не включены в создаваемые сборки. |
|||
14
vvp91
20.12.15
✎
14:45
|
(12) "выборка может содержать пару тысяч документов" - и чего в этом хорошего?
Насколько я понимаю, это будет некий АРМ, данные которого пользователь должен отработать. Ну так и дай только те данные, которые пользователь должен и главное МОЖЕТ отработать. Тысячи документов пользователь отработать не может. Задумайся над тем, что действительно надо вывести в этот список и по каким критериям упорядочить список, чтобы пользователь работал (выделял) только с теми верхними строками списка, которые помещаются в одно окно без прокрутки. |
|||
15
vde69
20.12.15
✎
15:00
|
(12) есть 2 варианта решения
1. "ПриАктивацииСтроки" выводить в дополнительную часть формы (вне списка), работает быстро, позволяет редактировать 2. переноси свои данные в регистр и используй этот регистр как основная таблица, работает быстро, но не позволяет редактировать все остальное очень нехорошо... |
|||
16
EugeniaK
20.12.15
✎
18:52
|
(0) Можно вместо галочек использовать выдление строки. Т.е. выделил строку, значит выбрал.
|
|||
17
Черный всадник
20.12.15
✎
23:14
|
(13)
1. Проверить совместимость номенклатуры в одном запросе невозможно. Например, гипрок и арматура не совместимы, но гиипрок, арматура и ещё что-нибудь совместимы. 2. Насколько я понял 1С не поддерживает пространственные индексы. Группировка чаще всего идёт по адресам. 3. Сборки идут под машину и такой подход будет более затратен по времени. (15) Думал над этим, но так сложно отследить глазами адреса, которые уже выбрали. (16) Там несколько галочек, с разной смысловой нагрузкой и один документ может одновременно иметь обе. Спасибо всем за помощь. Решил сделать через ТЗ. |
|||
18
vde69
21.12.15
✎
08:33
|
>>>Думал над этим, но так сложно отследить глазами адреса, которые уже выбрали.
зачем отслеживать что-то глазами? Используй типовые механизмы, или регистр "выбран/не выбран" и на основании него раскраску, или множественное выделение, или блокировку... ихмо - что то у Вас не правильно спроектировано на уровне "визуализации"... скорее всего хотят "ну вот в екселе у меня так, сделай и в 1с так же", а нельзя так же делать в 1с, она ДРУГАЯ!!! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |