Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Множественный фильтр для отбора документа
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
Constantus
Приветствую, Форумчане!
1с.8.3.12, БСП, самопис, УФ

Подскажите, точнее поделитесь опытом (советом) как правильно сделать.

Есть Документ "Заказы". Там множество всяких полей. Требуется вывести результаты поиска документов по нескольким фильтрам, причем неизвестно какие будут использованы (все основные реквизиты документа)

1. Отбор по Номеру
2. Отор по периоду
3. Отбор по Контрагенту (+ как по ссылке таки по его наименованию, типа "содержит"
4. Отбор по подразделению
5. Отбор по телефону
(возможно будут еще добавлены)

Никак не могу придумать как лучше сделать. Сделать в форме отчета СКД скорее всего нет. В формате обработки?

Основная проблема это как применить меняющиеся по составу параметры отбора: Отбор по периоду + по телефону; отбор по подразделению + по номеру + контрагент (остальные не задействованы)

После того, как будет получен список отобранных документов, то необходимо как-то их выделить (галочкой) и далее будет некая кнопка, которая должна получить массив выбранных документов и обработать этот массив...
pablo
1. Используйте динамический список и там отбор можно последовательно вешать на каждое видимое поле.
2. Выделять можно либо через шифт, либо галочкой. Если галочкой - то только через ТЧ, если через шифт - то лучше таки с ДС.
mut
Constantus @ Вчера, 19:12 необходимо зарегистрироваться для просмотра ссылки ,
Кстати.
В упр формах доступен метод таблицы формы ВыделенныеСтроки()
через него можно получить массив который вы хотите дальше обрабатывать

И вообще. smile.gif
Это всё можно просто в списке документов реализовать. Стандартным отбором отфильтровать, выделить нужное и потом уже командой обработать. Т.е. из "писанины" будет только команда, в которой будет обрабатываться массив ссылок, остальное встроенными средствами.
pablo
Цитата
в списке документов
Цитата
Стандартным отбором отфильтровать
можно только данные из индексированных полей. А номера телефонов (как минимум) не часто индексируют.
mut
Цитата(pablo @ 09.08.19, 12:59) необходимо зарегистрироваться для просмотра ссылки
можно только данные из индексированных полей


Может у меня версия неправильная, но у меня можно. И по условию "Содержит" и по шаблону.. если это простое текстовое поле в шапке документа или в реквизитах чего-то что есть в шапке.

ЗЫ только сейчас досмотрел что мы в разделе "Обычные формы". А я про управляемые smile.gif
Тогда всё стереть и забыть, я ничего не предлагал smile.gif)
Kerberos
Constantus @ 08.08.19, 19:12 необходимо зарегистрироваться для просмотра ссылки ,
То, что вы спрашиваете, называется Построитель отчета. там вам и динамические отборы, и сортировка.
Эх.. матчасть и Радченко уже студенты не читают..
Constantus
Пошел по линии формирования формы списка Заказов по динамическому списку

У меня есть общий модуль с экспортной функцией:

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


Функция работает, проверял на СКД

Как можно эту функцию применить в динамическом списке формы списка?
pablo
В динамическом списке функции из общих модулей недоступны.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.