УФ. Пример множественного выделения строк списка с одинаковыми значениями поля

30.10.17

Разработка - Работа с интерфейсом

Пример быстро выделяет в списке те строки, где значение поля Реквизит2 совпадает с выбранным. Можно последовательно наращивать группу выбранных, повторяя манпуляцию выбора (даблклик либо Enter с клавишей SHIFT) на других интересующих значениях поля.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Демобаза :
.rar 94,87Kb ver:1
2
2 Скачать (1 SM) Купить за 1 850 руб.

Не нашел примеров (возможно, плохо искал).   В реальной конфигурации использовано для быстрого формирования Инвойса. Документы имеют реквизит, значение которого повторяется сериями, но сами документы разбросаны в списке, сортированном по дате,  хаотично.  В Инвойс надо включать все документы каждой  отбираемой туда серии.  Выбранная группа  потом перетаскивается в журнал Инвойсов, где обработка перетаскивания создает новый документ и заполняет его данными из принятого  списка  документов.  Это существенно экономит  время пользователям по сравнению со стандартными приемами.       

В  предлагаемом примере элемент формы  Список, конечно,  имеет тип Таблица и связан с  реквизитом формы Список типа   ДС. Элементу формы  Список  назначен обработчик события  Выбор.  Обработчик события  Выбор вызывается двойным щелчком  (либо клавишей  ВВОД) по ячейке и в нем  отработка события либо идет стандартно (если выбор в строке делается вне  поля Реквизит2), либо запускается процесс с такими шагами - запрос к базе для отбора  документов с интересующим значением поля, обход  результата с формированием массива ссылок, обход коллекции с  добавлением ссылок в свойство  ВыделенныеСтроки элемента формы.
 

&НаСервереБезКонтекста
Функция ПолучитьДокОдногоЗначенияРеквизит2(ЗначениеТекущееРеквизит2)
    МассивДокОдногоЗначенияРеквизит2 =   Новый Массив;
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ
        |    Документ1.Ссылка,
        |    Документ1.Реквизит2
        |ИЗ
        |    Документ.Документ1 КАК Документ1
        |ГДЕ
        |    Документ1.Реквизит2 = &ЗначениеТекущееРеквизит2
        |
        |СГРУППИРОВАТЬ ПО  
        |    Документ1.Ссылка,
        |    Документ1.Реквизит2";

    Запрос.УстановитьПараметр("ЗначениеТекущееРеквизит2", ЗначениеТекущееРеквизит2);

    Результат = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = Результат.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
         МассивДокОдногоЗначенияРеквизит2.Добавить(ВыборкаДетальныеЗаписи.Ссылка);
    КонецЦикла;

    Возврат МассивДокОдногоЗначенияРеквизит2;
    

КонецФункции //
&НаКлиенте
Процедура ПометитьПоВыбранномуЗначениюРеквизит2 ()
    ЗначениеТекущееРеквизит2 = ЭтаФорма.ТекущийЭлемент.ТекущиеДанные.Реквизит2;
    МассивДокОдногоЗначенияРеквизит2 =  ПолучитьДокОдногоЗначенияРеквизит2(ЗначениеТекущееРеквизит2);
    Для каждого Эл Из МассивДокОдногоЗначенияРеквизит2  Цикл
            Элементы.Список.ВыделенныеСтроки.Добавить(Эл);
    КонецЦикла; 
КонецПроцедуры


&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
    Если  Поле.Имя = "Реквизит2"   Тогда
        СтандартнаяОбработка = Ложь;
        ПометитьПоВыбранномуЗначениюРеквизит2();
    КонецЕсли;    
КонецПроцедуры

Работает  так. Находим в списке  строку с нужным значением в поле. Двойной щелчок по ячейке. На экране имеем выделение всех интересующих  док-ов.  Переходим к  ячйке с другим интересующим  значением. Придерживая SHIFT, щелкаем дважды, появляются новые  выделенные строки. И так далее

Очищается выделение стандартно - щелчком  без SHIFT. 

На платформе 1С 8.3.9.

множественное выделение строк списка формы УФ

См. также

Работа с интерфейсом Системный администратор Программист Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия Платные (руб)

Механизм «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

5000 руб.

14.01.2016    55634    17    23    

43

Работа с интерфейсом Рабочее место Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия Платные (руб)

Универсальный редактор картинок 1С предназначен для обработки изображений в режиме «Предприятие», с возможностью рисовать на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    63948    45    60    

83

Работа с интерфейсом Программист Платформа 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    19940    28    6    

44

Работа с интерфейсом Программист Стажер Платформа 1С v8.3 Бесплатно (free)

Это инструкция по дизайну форм в среде 1С. Гайд охватывает рекомендации и стандарты для оптимизации пользовательского интерфейса. В гайде содержатся указания по использованию элементов интерфейса, включая как основные, так и продвинутые аспекты. Предоставляются также примеры и антипримеры для наглядного понимания принципов дизайна

20.08.2024    23501    mrXoxot    44    

130

Работа с интерфейсом Программист Платформа 1С v8.3 Бесплатно (free)

Пример простого и симпатичного прогресс-бара в динамическом списке, без картинок, используя редактирование запроса.

27.05.2024    12048    smielka    37    

105

Работа с интерфейсом Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    18367    1228    elcoan    53    

125

Инструментарий разработчика Работа с интерфейсом Программист Платформа 1С v8.3 1C:Бухгалтерия Абонемент ($m)

Подходит для создания web-страниц для замены управляемых форм 1С, красивых отчетов, интерфейса мобильного приложения на платформе 1С и для простых страниц веб-сайтов.

3 стартмани

10.04.2023    12895    167    acces969    31    

126

Работа с интерфейсом Программист Платформа 1С v8.3 1C:Бухгалтерия Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    8002    kalyaka    6    

33
Оставьте свое сообщение