Имя: Пароль:
1C
1С v8
Отбор
0 AntonKey
 
16.08.12
17:28
Доброго время суток, кто может подсказать?
У меня есть ТаблицаЗначений на форме в тонком клиенте, мне надо сделать отбор типа "или"
Такой код не проходит:
Структура = новый Структура;
Структура.Вставить("Склад",Справочники.Склад.ОсновнойСклад);
Структура.Вставить("Склад",Справочники.Склад.СкладРезерва);
Элементы.Склады.ОтборСтрок = новый ФиксированнаяСтруктура(Структура);

Подскажите кто знает, как сделать....
1 AntonKey
 
16.08.12
17:31
Работает только второй... забыл сказать
2 m-serg74
 
16.08.12
17:34
конечно потому что второй заменяет первый ибо ключ один "Склад"
3 olegves
 
16.08.12
17:39
Ставь в отбор видсравнения в списке и будет тебе щастье
4 olegves
 
16.08.12
17:41
в твоем случае можно склад массивом кинуть
5 AntonKey
 
17.08.12
09:06
Большое спасибо) Я знаю что лучше всего поставить видсравнения Список, но я не знаю как это сделать для ТаблицыЗначения, это же не динамический список.... Подскажите пожалуйста как это сделать
6 Лоботряс
 
17.08.12
09:09
в тонком клиенте этот код работать не будет
7 AntonKey
 
17.08.12
09:13
(6) Если ты мне то я знаю, поэтому и создал тему тут, что бы знающие люди помогли разобраться с этим вопросом...
8 SanGvin
 
17.08.12
09:14
делать надо через ОформлениеСтрок
9 SanGvin
 
17.08.12
09:17
хотя вру. еще вот так мона

ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Склад");        
   
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ;
ЭлементОтбора.ПравоеЗначение = СписокСкладовСюдаЗапихать;
10 AntonKey
 
17.08.12
09:21
Это так делается когда делаешь динамический список, спасибо я знаю так делал) А я про таблицу значений спрашиваю.... если просто её на форме отобразить
11 SanGvin
 
17.08.12
09:29
Точно, читал не внимательно. Тогда, наверное, никак :( разве чтчо извратиться - сначала выгрузить ТЗ в ВТ, выбрать оттуда что надо и загрузить обратно, при этом храня в памяти первоначальную ТЗ, чтобы потом ее снова можно было отобразить \ изменить... но это целый гемор...
12 AntonKey
 
17.08.12
09:34
Вот то то и оно((( я сделал фильтр в таблице, динамический, но на сравнение равно, а надо теперь сделать в списке..... вот думаю как это лучше сделать, спасибо за помощь.... если может знает способ попроще скажите, буду рад
13 SanGvin
 
17.08.12
09:38
еще можно через УсловноеОформление формы (в (8) ошибся термином). но тоже не очень удобно, но работает. ставим видимость полей всей строки в ложь если оно не в списке складов.
14 AntonKey
 
17.08.12
09:47
ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
   ОформляемоеПоле = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
   ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("таблица");
   ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
   ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("таблица.поле");
   ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
   ЭлементОтбора.ПравоеЗначение = Значение;
   ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Желтый);


Я так раскрашиваю её, им наверное не очень понравится что из 200 строк которые перебрать будет 180 не видимыми.. но будут
15 SanGvin
 
17.08.12
09:58
Там же вместо Цвет фона есть Видимость - ее в ложь и вообще строку не видно будет. только в ОформляемыеПоля надо списком все колонки таблицы передать
16 SanGvin
 
17.08.12
10:01
Проверил, работать не удобно =\ все-таки, наверное, надо извращаться с выгрузкой в ВТ
17 AntonKey
 
17.08.12
10:04
Спасибо... буду извращаться, с понедельника отпуск.. займусь этими извращениями)
18 olegves
 
17.08.12
10:46
(17) а кто мешает ТЗ заменить на дин.список?
19 AntonKey
 
17.08.12
11:57
Таблица заполняется не сразу, в неё должны вносить данные.. и со списками не очень хорошо знаком, + таблиц уже штук 15, а время ограничего
20 AntonKey
 
17.08.12
11:59
Если в динамический список можно вносить данные и сделать заполнение когда мне надо, я бы перешел, просто не знаю как сделать