|
|
|
Как добавить отбор по типу документа? | ☑ | ||
|---|---|---|---|---|
|
0
nouscode
18.07.14
✎
14:16
|
Добрый день, коллеги!
В обработке есть табличная часть, в табличной части есть колонка (тип значений: строка), содержащая имя типа документа, например, "ПоступлениеТоваровУслуг" и т.п. Если кто сталкивался, подскажите пожалуйста, как в форму добавить отбор строк по значениям данной колонки. Так как тип значения строка, то в вид сравнения в отборе можно выбрать только "Содержит", а нужно, чтобы можно было установить вид отбора "В списке". |
|||
|
1
mistеr
18.07.14
✎
15:06
|
(0) Заменить строку на перечисление
|
|||
|
2
nouscode
18.07.14
✎
15:23
|
(1) - Всмысле в конфигурацию добавить перечисление, значения которых будут соответствовать наименованиям всех типов документов?
|
|||
|
3
nouscode
18.07.14
✎
15:27
|
Как сделал:
1. Установил у реквизита табличной части типа строка, содержащего текстовое наименование типа документа, фиксированную длину, превашающую длину любого наименования существующего в конфигурации типа документа. 2. Добавил реквизит формы "ТипыДокументов" типа список значений. 3. В конце процедуры, в которой заполняется табличная часть обработки, прописал заполнение списка типов документов: [CODE] ТаблицаТиповДокументов = ТаблицаПоДокументам.Скопировать(, "ТипДокументаАСБНУ"); ТаблицаТиповДокументов.Свернуть("ТипДокументаАСБНУ"); ТипыДокументов.Очистить(); Для Каждого ТипДокумента Из ТаблицаТиповДокументов Цикл ТипыДокументов.Добавить(ТипДокумента.ТипДокументаАСБНУ, Метаданные.Документы[ТипДокумента.ТипДокументаАСБНУ].Представление()); КонецЦикла; ТипыДокументов.СортироватьПоПредставлению(); [/CODE] 4. В командную панель табличной части добавил кнопку "Установить отбор по типу документов", в действии которой описал установку отбора: [CODE] ТипыДокументов.ОтметитьЭлементы("Типы документов"); ОтмеченныеТипыДокументов = Новый СписокЗначений; Для Каждого ТипДокумента Из ТипыДокументов Цикл Если ТипДокумента.Пометка Тогда ОтмеченныеТипыДокументов.Добавить(ТипДокумента.Значение); КонецЕсли; КонецЦикла; Если ОтмеченныеТипыДокументов.Количество() > 0 Тогда ЭлементыФормы.ТаблицаКонтроля.ОтборСтрок.ТипДокументаАСБНУ.ВидСравнения = ВидСравнения.ВСписке; ЭлементыФормы.ТаблицаКонтроля.ОтборСтрок.ТипДокументаАСБНУ.Значение = ОтмеченныеТипыДокументов; ЭлементыФормы.ТаблицаКонтроля.ОтборСтрок.ТипДокументаАСБНУ.Использование = Истина; Иначе ЭлементыФормы.ТаблицаКонтроля.ОтборСтрок.ТипДокументаАСБНУ.Использование = Ложь; КонецЕсли; [/CODE] При нажатии на данную кнопку открывается заполненные ранее список типов документов для отметки, после чего в табличной части устанавливается отбор согласно выбранным типам документов. |
|||
|
4
mistеr
18.07.14
✎
21:49
|
(2) Да. Вам ведь не нужны ВСЕ типы.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |