Динамический список + колонка заполняемая на клиенте #761200


#0 by Черный всадник
Доброго времени суток. На форме есть динамический список документов. Есть желание добавить туда колонку с галочкой, состояние которой определять на клиенте. В унаследованном коде эта проблема решается добавлением в параметры списка ссылок на все отмеченных документы. После установки или снятия галки на клиенте происходит изменение параметров списка и вызывается обновление последнего. Эта конструкция заметно тормозит. Подскажите, пожалуйста, можно ли добавить в динамический список колонку, значение которой определять на клиенте? Пока думаю сделать через замену списка на ТЗ. Заранее спасибо за любую помощь.
#1 by Ctrekoza
В заголовке опечатка ?
#2 by Ctrekoza
Исправила, но, Вы не ответили.(
#3 by Черный всадник
Так и есть. Но опечатка отлично отражает моё отношение к этому компоненту.
#4 by Черный всадник
Спасибо.
#5 by Nuobu
Динамический список только отражает данные, не изменяя их. Сделать именно в динамическом списке не получится. А вот с ТЗ - получится.
#6 by vvp91
Условное оформление должно помочь. Сформулируй частную задачу.
#7 by Черный всадник
В настройках динамического списка есть возможность настроить способ выборки: динамический и нет. Можно ли менять на клиенте данные полученные при полной выборке? Условное оформление не подходит, оно опирается на данные запроса. В текущей задаче клиент сам формирует часть выборки. Задача проста: отметить документы в списке галками, в соседнем окне вывести предупреждение (если есть несовместимая номенклатура) и если всё в порядке, то по нажатию кнопки отправить на формирование документов сборки комплекта.
#8 by vde69
"произвольный запрос" точно поможет
#9 by Черный всадник
Сейчас используется произвольный запрос с такой вставкой ... ,ВЫБОР   КОГДА Заказ.Ссылка В (&СписокОтмеченныхЗаказов) КОНЕЦ КАК Отметка ... Таким образом сейчас при установке, снятии галочки вызывается обновление динамического списка. Это приводит к замедлению этих действий. Последнее весьма заметно. И в целом никакой необходимости в вызове сервера нет.
#10 by GROOVY
Не просто так 1С убрала возможность редактирования в списке при работе с УФ. Не надо гвозди забивать штангенциркулем.
#11 by Nuobu
Тебе же сказали, что ДинСписки придуманы для другого и возможности редактирования они не имеют. Если она нужна, пользуйся ТЗ. Там основная суть в том, чтобы правильно установить блокировку на объект, который ты редактируешь и правильно её снять. И, чтобы не парить мозг, парни из 1С решили убрать такую возможность вообще.
#12 by Черный всадник
, Это печально.  По сути мне не требуется менять объект выводимый динамическим списком. А просто добавить колонку в таблицу формы и заполнять её данными, которые существуют только на клиенте и имеют смысл только там. Таблица значений тоже не очень подходит, в некоторых случаях выборка может содержать пару тысяч документов. А потребуется только с десяток другой.
#13 by vvp91
"Условное оформление не подходит" - это весьма опрометчивое заявление. Более того, исходя из описания задачи, условное оформление будет самым верным решением. Кроме того, описанный сценарий работы изначально кривой. Т.е. заставлять пользователя жать галки, а потом выводить предупреждения, и лишь потом жать кнопки создания сборок - это куча лишних действий и, грубо говоря, плохая эргономика. Как можно: 1. В запросе изначально проверить наличие "несовместимой номенклатуры", при наличии этой номенклатуры подсвечивать условным оформлением такие документы в списке "красным". 2. Пользователь не ставит никаких галок. Пользователь отбирает документы через "Найти" или "Настроить отбор", после чего жмет Ctrl+A или другим способом выделяет строки в списке с включенным множественным выделением. 3. Пользователь жмет кнопку создания сборок, после чего система создает сборки, попутно сообщая пользователю, что в состав выделенных строк входят документы с "несовместимой номенклатурой", которые не включены в создаваемые сборки.
#14 by vvp91
"выборка может содержать пару тысяч документов" - и чего в этом хорошего? Насколько я понимаю, это будет некий АРМ, данные которого пользователь должен отработать. Ну так и дай только те данные, которые пользователь должен и главное МОЖЕТ отработать. Тысячи документов пользователь отработать не может. Задумайся над тем, что действительно надо вывести в этот список и по каким критериям упорядочить список, чтобы пользователь работал (выделял) только с теми верхними строками списка, которые помещаются в одно окно без прокрутки.
#15 by vde69
есть 2 варианта решения 1. "ПриАктивацииСтроки" выводить в дополнительную часть формы (вне списка), работает быстро, позволяет редактировать 2. переноси свои данные в регистр и используй этот регистр как основная таблица, работает быстро, но не позволяет редактировать все остальное очень нехорошо...
#16 by EugeniaK
Можно вместо галочек использовать выдление строки. Т.е. выделил строку, значит выбрал.
#17 by Черный всадник
1. Проверить совместимость номенклатуры в одном запросе невозможно. Например, гипрок и арматура не совместимы, но гиипрок, арматура и ещё что-нибудь совместимы. 2. Насколько я понял 1С не поддерживает пространственные индексы. Группировка чаще всего идёт по адресам. 3. Сборки идут под машину и такой подход будет более затратен по времени. Думал над этим, но так сложно отследить глазами адреса, которые уже выбрали. Там несколько галочек, с разной смысловой нагрузкой и один документ может одновременно иметь обе. Спасибо всем за помощь. Решил сделать через ТЗ.
#18 by vde69
>>>Думал над этим, но так сложно отследить глазами адреса, которые уже выбрали. зачем отслеживать что-то глазами? Используй типовые механизмы, или регистр "выбран/не выбран" и на основании него раскраску, или множественное выделение, или блокировку... ихмо - что то у Вас не правильно спроектировано на уровне "визуализации"... скорее всего хотят "ну вот в екселе у меня так, сделай и в 1с так же", а нельзя так же делать в 1с, она ДРУГАЯ!!!
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С