(3) Так там ведь для выделенных строк ставятся. Один раз ctrl-a, второй раз согласиться с выделением больше тыщи. Дождаться когда "отлипнет" и тынц в кнопку :)
А если серьезно, у нас такой подход реализован в продуктиве. Записей не миллион, а несколько тысяч всего лишь. Но бизнес-процесс не предусматривает большого количества галочек - ставятся только поштучно. Работает.
(6) :) Ну если с таким предусловием-то, то конечно. Нет, я понимаю что у примера сценарий использования "с ограничениями". Только это как-то не указано. И на больших базах, если кто-то хлопнет выделение очень большого количества записей можно столкнуться с проблемами я так понимаю.
(1) Главное в статье необычный подход =) А минусы можно найти почти всегда. Для определенных задач точно можно использовать. Для справочника в тысячу значений максимум, например.
А можно еще и таблицу подобранного снизу прикрутить аналогично.
(4) Ну если там для тебя лучше - так лучше, я и не соревнуюсь за крутое описание, странный ты). И мне, например, в некоторых случаях быстрее и удобнее работать с ДС (и с его КомпоновщикомНастроек) чем с ТЗ. По-моему тебе просто внимания не хватает и видимо по большей части хотелось просто картинку котика поюзать)).
(12) Ну то есть ты фактически скопировал отлично оформленную исходную публикацию, ухудшив качество подаваемого материала, а странный я. Окей. Про ТЗ я вообще ни слова не сказал, откуда претензия? Котик да, давно просился погулять.
(15) Взял тот же принцип работы с ДС, на его основе захотелось сделать пофункциональнее форму выбора. Сделал для задачи заказчика. Потом решил в качестве примера опубликовать, может кому пригодится, поискал и нашел уже подобную тему, но как по мне, пример из той публикации менее функционален, там нет множественного выбора. Присмотрись внимательнее и уверен ты обязательно найдешь отличия, иначе зачем бы я тратил своё драгоценное время и тоже самое публиковал, тем более в свободный доступ. Добра тебе, внимательности и радостного котика)
Тоже есть пара вопросов:
1. Зачем в обработчике "ПриПолученииДанныхНаСервере" обновляется список выбранных документов по данными пометки, если сама пометка зависит от этого списка?
2. Зачем для возврата списка ссылок используется СКД, если уже есть коллекция ВыбранныеДокументы?
3. Немного непредсказуемо на мой взгляд работает установка всех флажков. При нажатии на кнопку помечаются все документы, а уже при завершении выбора возвращаются ссылки с учетом пользовательских отборов.
(7)
1. Для того, что, если ты не все строки будешь выбирать, то тебе надо их куда-то собирать. ДС построчно ты просто так не обойдешь, а в ПриПолученииДанныхНаСервере всё для этого имеется.
2. Затем, чтобы получить все выбранные строки со всеми колонками выведенными на форму, а не только "ключ строки". Если для твоих задач это не надо, то и используй только список значений ВыбранныеДокументы, никто не запрещает.
3. Не понял тебя, попонятнее поясни?
А вообще, я тебе советую, прежде чем подобные вопросы задавать, взять самому да попробовать набросать обработку на основе предоставленного кода, и там уже что-нибудь убрать тебе непонятное и посмотреть результат, сразу наглядно поймешь что лишнего здесь ничего нет. Код и скрины в свободном доступе, не поленись.
(13) 1. Я как раз и спросил, зачем их "собирать"? Они же собираются в обработчике события "СписокВыбор". Зачем дополнительная работа? Это нужно для обновления списка выбранных после нажатия на кнопку "Выбрать все"? Если так, то такой финт не сработает, ведь в обработчике данные появляются порциями. И если какие-то порции не прогрузились (пользователь не пролистал список), то и в список выбранных они не попадут.
2. Точно, не обратил внимание.
3. У пользователя настроен свой собственный отбор в списке. Он жмет "Выбрать все". Если он снимет свой отбор, то увидит помеченными и те документы, что ранее были невидимы из-за отбора. Но если отбор не снимать, а завершить выбор в форме, то будут возвращены лишь данные по видимым документам. Эта разница между выбранными и возвращаемыми и кажется не очевидной.
В дополнение желаю Вам спокойнее принимать критику в адрес своей работы. Я вполне неплохо умею читать код, и здесь мне не зачем что-то смотреть в отладчике. То, что Вы в своих тестах своими глазами не видите ошибок, не значит, что их нет. Также, как и не значит, что другие не могут их увидеть глядя на код, без просмотра результата воочию.
(16)
1. Точно, не обратил внимание, что, если список не малый и без ОбщаяПометка и не пролистано, то в СписокВыбора попадут только из прочитанной порции в ПриПолученииДанныхНаСервере. Буду щас думать как пофиксить это упущение. Благодарю за полезную критику, такое в наше время редко бывает).
3. Ну не знаю насколько эти моменты значимы для кого-то, что:
1) Если будет сделан пользовательский отбор (в том числе и через Найти) и он не будет снят, то, то что видишь, то и попадет
2) Если будет сделан пользовательский отбор (в том числе и через Найти) и нажать кнопку "Пометить всё" без выделенных строк, то такой отбор не учитывается. Здесь как аналоги использую: Отбор + Ctrl+A + "Пометить всё" + "Снятие отбора"
Если честно, на счет этого пока не думал, но если кто-то раньше возьмется это проработать и поделится, буду рад информации о результатах.
(24) Предполагаю, что неоднозначность из пункта 3 уйдет сама собой вместе с решением проблемы из пункта 1. Видится, что корень у этих проблем один и тот же.
(25)
1. Доработал. Ещё раз благодарю, что обратил на это внимание.
3. Пока решил не заморачиваться, как по мне, так пока вполне хватает и удобно работать с отобранными строками через выделение строк: Отбор (в том числе через Найти) -> (Ctrl+A либо выделение нужных строк с зажатым Shift) -> Кнопка "Установить пометки" или "Снять пометки" -> Снятие отбора
Делал нечто подобное. Но двойной клик для установки флажка это непривычно и пользователи всегда непонимали, почему флажок не ставится. Привычно флажки ставить одним кликом. И обычно когда нужно где то ставить флажки, обычно строк не так много, максимум пару тысяч. Делал с помощью обычной таблицы значений.
(19) сообщение для вас и других - мне казалось, что флажок реально сделать только через таблицу значений, как вы и сказали, и что двойной клик будет помехой. Но я попробовал реализовать на динамическом списке и мне показалось, что двойной клик не так ужасен. просто поделился с вами.
(21) И я про тоже... например, чтобы просто сфокусироваться на поле, для того чтобы отбор поставить, либо скопировать данные из поля, параллельно будет срабатывать событие пометки. Мне такое не удобно, поэтому тут вот так, но это дело вкуса, не думаю что есть смысл спорить на этот счет, как говорится "на вкус и цвет..."
(27) я тестировал и пробовал реализовать флажки в дин. списке - в итоге пришел к тому, как у вас, и к еще одному способу - написал тут https://infostart.ru/public/1587487/ пусть будет для истории - программистам, думаю, пригодится
Насколько я понял, процедура ДокументОбработкаВыбора основной формы остаётся за бортом. Процедура ДокументНачалоВыбора открывает форму подбора, а из неё данные получаются через ОповеститьОВыборе / ОбработкаВыбора. Или я не прав?