Приветствую, Форумчане!
1с.8.3.12, БСП, самопис, УФ
Подскажите, точнее поделитесь опытом (советом) как правильно сделать.
Есть Документ "Заказы". Там множество всяких полей. Требуется вывести результаты поиска документов по нескольким фильтрам, причем неизвестно какие будут использованы (все основные реквизиты документа)
1. Отбор по Номеру
2. Отор по периоду
3. Отбор по Контрагенту (+ как по ссылке таки по его наименованию, типа "содержит"
4. Отбор по подразделению
5. Отбор по телефону
(возможно будут еще добавлены)
Никак не могу придумать как лучше сделать. Сделать в форме отчета СКД скорее всего нет. В формате обработки?
Основная проблема это как применить меняющиеся по составу параметры отбора: Отбор по периоду + по телефону; отбор по подразделению + по номеру + контрагент (остальные не задействованы)
После того, как будет получен список отобранных документов, то необходимо как-то их выделить (галочкой) и далее будет некая кнопка, которая должна получить массив выбранных документов и обработать этот массив...
1. Используйте динамический список и там отбор можно последовательно вешать на каждое видимое поле.
2. Выделять можно либо через шифт, либо галочкой. Если галочкой - то только через ТЧ, если через шифт - то лучше таки с ДС.
Constantus @ Вчера, 19:12
,
Кстати.
В упр формах доступен метод таблицы формы ВыделенныеСтроки()
через него можно получить массив который вы хотите дальше обрабатывать
И вообще.
Это всё можно просто в списке документов реализовать. Стандартным отбором отфильтровать, выделить нужное и потом уже командой обработать. Т.е. из "писанины" будет только команда, в которой будет обрабатываться массив ссылок, остальное встроенными средствами.
Constantus @ 08.08.19, 19:12
,
То, что вы спрашиваете, называется Построитель отчета. там вам и динамические отборы, и сортировка.
Эх.. матчасть и Радченко уже студенты не читают..
Пошел по линии формирования формы списка Заказов по динамическому списку
У меня есть общий модуль с экспортной функцией:
Функция ФИО(Заказ) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗаказУсопшиеИОформление.ТипДанных,
| ЗаказУсопшиеИОформление.Элемент
|ИЗ
| Документ.Заказ.УсопшиеИОформление КАК ЗаказУсопшиеИОформление
|ГДЕ
| ЗаказУсопшиеИОформление.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", Заказ);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Результат = "";
Пока Выборка.Следующий() Цикл
Если Выборка.ТипДанных = Перечисления.ТипыДанныхОформления.Фамилия
Или Выборка.ТипДанных = Перечисления.ТипыДанныхОформления.Имя
Или Выборка.ТипДанных = Перечисления.ТипыДанныхОформления.Отчество Тогда
Результат = Результат + "; " + Выборка.Элемент;
КонецЕсли;
КонецЦикла;
Возврат Результат;
КонецФункции
В динамическом списке функции из общих модулей недоступны.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua