Имя: Пароль:
1C
1С v8
Отбор в структуре
,
0 ixilimuse
 
05.03.13
08:39
Доброго времени суток, коллеги! )

Может кто-то подскажет, реально ли вообще осуществить отбор по структуре?

Если быть более конкретным, получаю структуру с помощью функции
ПолучитьСтруктуруХраненияБазыДанных(,Истина);

Затем отображаю эту структуру с помощью табличного поля на форме. Работает инкрементный поиск, все здорово. Но хотелось бы ещё сделать отбор, по некоторым полям. Реально ли это?

Пробовал все известные мне способы, не получается. Нет ни у визуального грида, возможности установить отбор, ни у самого объекта данных. В целом - логично. Это ведь не таблица значений. Но может чит какой можно применить?

Заранее спасибо за информацию и идеи :)
1 andreymongol82
 
05.03.13
08:40
Я знаю два чит-кода!
showmethemoney
и
operationcwall
2 assasu
 
05.03.13
08:41
структуру получаешь программно, а отбор хочешь визуально. чудно!
3 ixilimuse
 
05.03.13
08:45
(2) Отбор тоже программно) Просто нужного свойства нет у объектов. В общем видимо все таки придется делать ещё и таблицу значений для отображения. И обработчики писать под это дело.
4 andreymongol82
 
05.03.13
08:46
(0) 1. Этой функцией ты не получаешь структуру, а получаешь таблицу значений
2. Отбор делается с помощью метода
Табличная часть (Tabular section)
НайтиСтроки (FindRows)
Синтаксис:

НайтиСтроки(<ПараметрыОтбора>)
Параметры:

<ПараметрыОтбора> (обязательный)
5 Defender aka LINN
 
05.03.13
08:49
(0) "Это ведь не таблица значений".
Глобальный контекст (Global context)
ПолучитьСтруктуруХраненияБазыДанных (GetDBStorageStructureInfo)
Синтаксис:

ПолучитьСтруктуруХраненияБазыДанных(<ОбъектыМетаданных>, <ИменаБазыДанных>)
Параметры:

<ОбъектыМетаданных> (необязательный)

Тип: Массив.
Массив имен объектов метаданных или массив объектов метаданных, для которых требуется получить структуру таблиц базы данных.
<ИменаБазыДанных> (необязательный)

Тип: Булево.
Определяет, в каких терминах выдается информация о структуре хранения.
Истина - в терминах СУБД
Ложь - в терминах модели базы данных 1С:Предприятия.
Значение по умолчанию: Ложь
Возвращаемое значение:

Тип: *ТаблицаЗначений*
6 ixilimuse
 
05.03.13
08:53
Хмм. Ладно. Возможно чего-то не допонимаю. За структуру я это воспринимаю по признаку того что в каждой строке есть поля, которые содержат в свою очередь тоже набор полей, которые тоже могут содержать набор полей. В качестве примера, строка имеет поле "Индексы", в ней хранится список индексов. Когда проваливаемся в один из индексов, там есть поле "Поля", в котором содержится список полей входящие в данный индекс.

Но очевидно я что-то путаю, прошу пардонить..
7 Defender aka LINN
 
05.03.13
08:55
(6) Ащета типы колонок ТЗ могут содержать все, что угодно. В т.ч. массивы, структуры, другие ТЗ и т.д.
8 ixilimuse
 
05.03.13
08:57
(7) Вопросов больше не имею. Спасибо за разъяснение))
Ладно, ещё поковыряю. Отпишусь о варианте решения
9 ixilimuse
 
05.03.13
09:13
В общем, через НайтиСтроки оно то конечно работает. Но там обязательно нужно отбирать по полному значению. Но тогда теряется весь смысл. Можно и инкрементым поиском точно так же найти.

А я изначально хотел так что бы вводим мы в текстовом поле к примеру "РегистрСведений", и у нас в таблице отображаются только те строки, имена которых в ТаблицеЗначений содержат текст "РегистрСведений". А как сделать - пока не понимаю.Стандартные % & * не работают.
10 Галахад
 
гуру
05.03.13
09:18
(9) Может запросом?
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший