Имя: Пароль:
1C
1С v8
отбор по форме выбора справочника
0 mpbakunov
 
22.12.12
01:15
Добрый вечер!

код:
ВыбФорма = Справочники.ВидыКонтактнойИнформации.ПолучитьФорму("ФормаВыбора", ВладелецФормы);
   ВыбФорма.РежимВыбора = РежимВыбора;
   
   Если ЗначениеОтбораПоТипу <> Неопределено Тогда
       ВыбФорма.Отбор.Тип.Значение = ЗначениеОтбораПоТипу;
       ВыбФорма.Отбор.Тип.Использование = Истина;
       ВыбФорма.ЭлементыФормы.СправочникСписок.НастройкаОтбора.Тип.Доступность = Ложь;
   КонецЕсли;



Метод Получить форму возвращает объект типа ФОРМА. Но смотрю у этого объекта нет свойства ОТБОР! Может ктото объяснит почему можно использовать это свойство?
1 Азат
 
22.12.12
01:25
ну а сфигали у формы должен быть отбор? на форме должен быть элемент типа документсписок или справочник список... вот у него и должен быть отбор
2 ОбычныйЧеловек
 
22.12.12
01:26
В форме есть табличное поле "СправочникСписок" - когда пишешь Выбформа.Отбор то это аналог ВыбФорма.СправочникСписок.Отбор
3 mpbakunov
 
22.12.12
01:32
тоесть в зависимости от того какой основной реквизит формы , то свойства расширяются и свойствами основного реквизита?
4 ОбычныйЧеловек
 
22.12.12
01:36
(3) как-то так.
5 Rom1k06
 
24.12.12
14:44
Добрый день, что бы не плодить темы напишу здесь.
Есть Документ - Расходная накладная у него есть реквизит Контрагент у которого составной тип СправочникСсылка.Контрагенты и СправочникСсылка.СтруктурныеЕдиницы
Есть форма списка.
Мне нужно чтобы при отурытии списка накладывался фильтр по типу значения реквизита.
т.е Контрагент.ТипЗначения = СправочникСсылка.Контрагенты
Как только не пробывал... ну ни как .
пробывал так но не получается ДокументСписок.Отбор.Контрагент.ТипЗначения.Установить(СправочникСсылка.Контрагенты).
6 ale-sarin
 
24.12.12
14:50
(5) Контрагенты.ПустаяССылка()
И использование = Ложь.
7 Rom1k06
 
24.12.12
15:00
Да но так он отбирает документы у которых Контрагент не заполнен.
8 НЕА123
 
24.12.12
15:02
попробовать ИнтервалВключаяГраницы
9 НЕА123
 
24.12.12
15:03
(8)+
ИнтервалВключаяНачало
ЗначениеС = Контрагенты.ПустаяССылка();
ЗначениеПО = СтруктурныеЕдиницы.ПустаяССылка();
10 Rom1k06
 
24.12.12
15:10
СПС Сейчас Попробую
11 Rom1k06
 
24.12.12
15:20
ОтборСе = ДокументСписок.Отбор.Контрагент;
ОтборСе.ЗначениеС(Справочники.Контрагенты.ПустаяСсылка());
ОтборСе.ЗначениеПо(Справочники.СтруктурныеЕдиницы.ПустаяСсылка());
Пишет ЗначениеС метод объекта не обнаружен((
12 Rom1k06
 
24.12.12
15:36
Можно конечно сделать через запрос но не знаю на сколько это будет корректно.
13 НЕА123
 
24.12.12
15:43
(12)
срочно обратитесь к ДенисЧ
, за СП!
14 Rom1k06
 
24.12.12
15:48
Пока сделал так.
ЗапросСЕ = Новый Запрос("ВЫБРАТЬ
                           |    СтруктурныеЕдиницы.Ссылка
                           |ИЗ
                           |    Справочник.СтруктурныеЕдиницы КАК СтруктурныеЕдиницы
                           |ГДЕ
                           |    СтруктурныеЕдиницы.ЭтоГруппа = ЛОЖЬ");
   
   ОтборСе = ДокументСписок.Отбор.Контрагент;
   ОтборСе.ВидСравнения = ВидСравнения.ВСписке;
   СЗ = Новый СписокЗначений;    
   РезСЕ = ЗапросСЕ.Выполнить().Выбрать();
   Пока РезСЕ.Следующий() Цикл        
       ОтборСе.Значение.Добавить(РезСЕ.Ссылка);
   КонецЦикла;
   ОтборСе.Установить();
15 zladenuw
 
24.12.12
15:54
а не проще.
ОтборСе.Значение = ЗапросСЕ.Выполнить().ВыгрузитьКолонку("Ссылка");
16 Rom1k06
 
24.12.12
16:02
СЗ = Справочники.СтруктурныеЕдиницы.Выбрать();
   Пока СЗ.Следующий() Цикл        
       ОтборСе.Значение.Добавить(СЗ.Ссылка);
17 Rom1k06
 
24.12.12
16:02
СПС Попробую
18 Rom1k06
 
24.12.12
16:14
Так не отбирает.

Сделал так.

ОтборСе = ДокументСписок.Отбор.Контрагент;
   ОтборСе.ВидСравнения = ВидСравнения.НеВСписке;
   СЗ = Справочники.СтруктурныеЕдиницы.Выбрать();
   Пока СЗ.Следующий() Цикл
       ОтборСе.Значение.Добавить(СЗ.Ссылка);
   КонецЦикла;
   ОтборСе.Установить();
19 zladenuw
 
24.12.12
16:18
(18) а в СП почитать
Установить(<Значение>, <Использование>)
Описание:

Устанавливает значение отбора и флаг использования. При выполнении данного метода вид сравнения устанавливается в значение Равно.
20 Rom1k06
 
24.12.12
16:21
Но что я тогда посталю в значение?
21 zladenuw
 
24.12.12
16:24
(20) че ?

ЖурналДокументовСписок.Отбор.УровеньДоступа.ВидСравнения = ВидСравнения.ВСписке;
   ЖурналДокументовСписок.Отбор.уровеньДоступа.Значение = СписУД;        
   ЖурналДокументовСписок.Отбор.УровеньДоступа.Использование = Истина;
22 Rom1k06
 
24.12.12
16:37
Список все равно нужно составлять
поэтому чем это отличается от того что написал я?
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn