Имя: Пароль:
1C
1С v8
Отбор в ТЧ в списке + равно
, ,
0 ks-815
 
04.12.14
07:32
Подскажите, как сделать отбор на управляемых формах в табличной части из нескольких реквизитов, один из которых - список значений, а остальные просто значения?
1 Wobland
 
04.12.14
07:32
не бывает таких реквизитов
2 ДенисЧ
 
04.12.14
07:33
реквизит - список значений?
Это где такую дают?
3 ks-815
 
04.12.14
07:43
Структура = Новый Структура();
    Если ЗначениеЗаполнено(Контрагент) Тогда
        Структура.Вставить("Контрагент", Контрагент);
    КонецЕсли;
    
    Если ЗначениеЗаполнено(Скважина) Тогда
        Структура.Вставить("Скважина", Скважина);
    КонецЕсли;
    
    Если ЗначениеЗаполнено(Месторождение) Тогда
        Для Каждого Месторожд Из Месторождение Цикл
        Структура.Вставить("Месторождение", Месторожд);
        КонецЦикла;
    КонецЕсли;

    Элементы.ТЧ.ОтборСтрок = Новый ФиксированнаяСтруктура(Структура);
4 ks-815
 
04.12.14
07:43
Нужно выбирать несколько месторождений
одного контрагента
и одно подразделение
5 ks-815
 
04.12.14
07:44
Блин, вместо скважины подразделение.
6 ks-815
 
04.12.14
07:45
как-то  два разных отбора делать что ли??
7 ks-815
 
04.12.14
07:47
(1) как это не бывает?? реквизит формы - список значений!!!
8 Wobland
 
04.12.14
07:55
(7) уже формы?
9 Wobland
 
04.12.14
07:56
на ясном русском языке сможешь описать свою хотелку?
10 ks-815
 
04.12.14
08:03
есть табличная часть на управляемой форме, в которую выгружаются данные, полученные запросом.

нужно кое-что делать с этими данными. для этого нужен отбор строк.

отбор может быть по контрагенту. тогда в ТЧ отбираются строки с этим контрагентом. Отбор может быть по подразделению. может и по подразделению и по контрагенту.
так же есть реквизит Месторождение. их может быть несколько.

Например, нужно у одного контрагента 3 месторождения только.
11 Рэйв
 
04.12.14
08:06
(10)>>в которую выгружаются данные, полученные запросом

Может у тебя все таки динамический список?
12 ks-815
 
04.12.14
08:08
(11) ну этот список виден только в этой обработке. он никуда не сохраняется. просто с некоторыми строками этого списка делаются определённые действия потом
13 Рэйв
 
04.12.14
08:12
(12)Если динамический список, то добавляешь отборы сколько надо примерно так:

//------
        ЭлементОтбора = ПрайсыДополнительные.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        ЭлементОтбора.ЛевоеЗначение         = Новый ПолеКомпоновкиДанных("ВидПрайса");
        ЭлементОтбора.ВидСравнения         = ВидСравненияКомпоновкиДанных.Равно;
        ЭлементОтбора.РежимОтображения     = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
        ЭлементОтбора.ПравоеЗначение     = Перечисления.ВидыПрайсов.Дополнительный;
        ЭлементОтбора.Использование     = Истина;
        
        
        Элементы.ПрайсыДополнительные.Обновить();
14 ks-815
 
04.12.14
08:16
(13) Из всех отборов у этой ТЧ есть только ОтборСтрок:
Элементы.ТЧ.ОтборСтрок
15 Wobland
 
04.12.14
08:16
(10) так же есть реквизит Месторождение. и чо?
16 ks-815
 
04.12.14
08:19
Реквизит Месторождение - это список значений.
а остальные два реквизита - просто значения.
как так сделать отбор, чтобы у месторождения было ВСписке, у контрагента - равно и у подразделения равно. и всё это было одновременно?
17 Wobland
 
04.12.14
08:22
>Реквизит Месторождение - это список значений.
ну допустим
>отбор
какой такой отбор?
>чтобы у месторождения было ВСписке
в каком списке?
18 ks-815
 
04.12.14
08:38
(17) ну представьте обычную настройку отчёта в 1С 8.1.
в отборах вы выбираете три значения. у одного значения тип сравнения "в списке", а у остальных двух тип сравнения "равно".
примерно так мне нужно.
19 mzelensky
 
04.12.14
08:42
(18) Делай то ,что ты умеешь лучше всего.

Копируй (13) и вставляй в свою конфу
20 Лодырь
 
04.12.14
08:43
(18) В порядке дежурного бреда: Добавь в реквизиты формы КомпоновщикНастроекКомпоновкиДанных . На форму настройки выдерни настройки.отбор от этого КомпоновщикаНастроекКомпоновки Данных. По пинку фильтруй с помощью СКД табличную часть и выставляй ей флажок видимости, который обрабатывай в условном оформлении.
21 Wobland
 
04.12.14
08:49
(18) ну и вперёд. месторождение в списке воон том
22 ks-815
 
04.12.14
08:49
(19) у моей ТЧ нет после точки слова "Отбор"   :)
есть только слово "ОтборСтрок", а он может быть только фиксированной структурой. Так что не всё можно копировать!!
23 mzelensky
 
04.12.14
08:53
(22) И не будет. Т.к. "отбор на управляемых формах ".

Не тупи
24 mzelensky
 
04.12.14
08:55
(23) + ок, приведу более явный пример.

Элементы.ТЧ.ОтборСтрок

ПрайсыДополнительные.Отбор

Видишь разницу??? Все еще нет??? Ок, давай так:

Элементы.ТЧ.ОтборСтрок

ТЧ.Отбор

Теперь она более очевидна???
25 ks-815
 
04.12.14
09:11
(24) на клиенте так наверно не получится: ТЧ.Отбор
26 mzelensky
 
04.12.14
09:21
(25) По твоему на клиенте к данным обращаться нужно через "Элементы" ?

печаль беда :(
27 ks-815
 
04.12.14
09:22
(26) ну я пишу Объект.ТЧ
и там нет отбора.
28 mzelensky
 
04.12.14
09:26
(27) Ладно, воть:
29 mzelensky
 
04.12.14
09:27
Если Элементы.АвтоПодстановкаМатериала.Пометка тогда                 
        Элементы.Замены.ОтборСтрок = Новый ФиксированнаяСтруктура("МатериалОригинал,ХарактеристикаОригинал", АктивныйЭлементКлюч1, АктивныйЭлементКлюч2);
        Элементы.Замены.ПодчиненныеЭлементы.ЗаменыМатериалОригинал.Видимость = ложь;
        Элементы.Замены.ПодчиненныеЭлементы.ЗаменыХарактеристикаОригинал.Видимость = ложь;
    Иначе
        Элементы.Замены.ОтборСтрок = Неопределено;
        Элементы.Замены.ПодчиненныеЭлементы.ЗаменыМатериалОригинал.Видимость = истина;
        Элементы.Замены.ПодчиненныеЭлементы.ЗаменыХарактеристикаОригинал.Видимость = истина;
    КонецЕсли;
30 mzelensky
 
04.12.14
09:29
(29) в (3) ты немного не правильно писала
31 mzelensky
 
04.12.14
09:30
(30) (24) Работает для динамических списков.

Если тебе нужно именно отбор строк в табличной части, то это (29)

Вот только сейчас читаю СП...и не совсем вижу вариант с твоей хотелкой "в списке"
32 mzelensky
 
04.12.14
09:32
Попробуй вот так:

Элементы.Замены.ОтборСтрок = Новый ФиксированнаяСтруктура("МатериалОригинал,ХарактеристикаОригинал, КолонкаСоСпискомЗначений", АктивныйЭлементКлюч1, АктивныйЭлементКлюч2, СписокНужныхЗначений);
33 ks-815
 
04.12.14
09:49
(32) спасибо!! пробую!
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой