Имя: Пароль:
1C
1С v8
Отбор при открытии
,
0 pavelul73
 
09.10.12
11:07
Добрый день. Есть обработка, у нее есть реквизит с типом справочники.ФизическиеЛица
Как можно сделать так, чтобы при начале выбора, открывалась определенная папка из этого справочника?
Заранее спасибо.
1 FIXXXL
 
09.10.12
11:09
найти любой элемент из этой папки и спозиционироваться на нем при открытии
2 DrShad
 
09.10.12
11:09
и не забыть в при начале выбора отключить стандартную обработку
3 Spieluhr
 
09.10.12
11:09
ПередНачаломВыбора пиши код открытия формы с отбором
4 DrShad
 
09.10.12
11:13
(3) [ПередНачаломВыбора ] а это где?
5 pavelul73
 
09.10.12
11:23
(1) Правильно ли я позиционируюсь на элементе справочника?
Пишу при начале выбора:
СтандартнаяОбработка=Ложь;
  МойСпр = Справочники.ФизическиеЛица.НайтиПоКоду("001");
   ФормаВыбора = Справочники.ФизическиеЛица.ПолучитьФормуВыбора("ФормаВыбора");
   ФормаВыбора.Отбор.Ссылка.Использование=Истина;
   ФормаВыбора.Отбор.Ссылка.ВидСравнения = ВидСравнения.Равно;
   ФормаВыбора.Отбор.Ссылка.Значение = МойСпр;
6 pavelul73
 
09.10.12
11:24
При таком написании он мне открывает весь справочник, но когда я захожу в нужную мне папку, там стоит отбор по элементу, который я указал в "МойСпр", а как сделать, чтобы сразу открывалась только нужная мне папка из справочника?
7 Wobland
 
09.10.12
11:25
(5) ФормаВыбора.Отбор.Ссылка.Значение = МойСпр
всё правильно
8 Wobland
 
09.10.12
11:26
а тебе, видимо, текущего родителя назначить нужно
9 pavelul73
 
09.10.12
11:27
(8) Да, как это сделать? подскажете?
10 Wobland
 
09.10.12
11:28
(9) присвоить?
11 pavelul73
 
09.10.12
11:31
(10) всмысле?
ФормаВыбора.Отбор.Ссылка.Значение = МойСпр.Родитель?
12 Wobland
 
09.10.12
11:32
(11) тогда сначала изучить СП. ключевое слово подсказать?
13 Wobland
 
09.10.12
11:32
отбор и позиционирование в ТП различаешь?
14 pavelul73
 
09.10.12
11:38
имеется ввиду НачальноеЗначениеВыбора?
15 Wobland
 
09.10.12
11:39
(14) а почему бы и нет? уже попробовал?
16 Anarki
 
09.10.12
11:40
СтандартнаяОбработка = Ложь;
   СтандартнаяОбработка=Ложь;
      МойСпр = Справочники.ФизическиеЛица.НайтиПоКоду("0000000003");
   ФормаВыбора = Справочники.ФизическиеЛица.ПолучитьФормуВыбора("ФормаВыбора");
   ФормаВыбора.Отбор.Ссылка.Использование=Истина;
   ФормаВыбора.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВИерархии;
   ФормаВыбора.Отбор.Ссылка.Значение = МойСпр.Родитель;
   ФормаВыбора.ЭлементыФормы.СправочникСписок.ИерархическийПросмотр = ложь;
   ФормаВыбора.ПараметрВыборГруппИЭлементов = ИспользованиеГруппИЭлементов.Элементы;

   ФормаВыбора.Открыть();


вот так типо
17 pavelul73
 
09.10.12
11:40
Пробовал, но написал с ошибкой, сейчас внимательно перечитал код, исправил ошибку, все заработало.
Спасибо, что "пнули" в нужном направлении
18 pavelul73
 
09.10.12
11:43
(16) спасибо, написал немного по другому:
      СтандартнаяОбработка=Ложь;
   МойСпр = Справочники.ФизическиеЛица.НайтиПоКоду("P00000011");
       ФормаВыбора = Справочники.ФизическиеЛица.ПолучитьФормуВыбора("ФормаВыбора");
   ФормаВыбора.НачальноеЗначениеВыбора = МойСпр;
   ФормаВыбора.Открыть();
19 pavelul73
 
09.10.12
11:46
Всем спасибо.
20 Wobland
 
09.10.12
11:47
(18) что будешь делать, когда элемента с таким кодом не окажется?
21 Wobland
 
09.10.12
11:48
(20) оно млоча попробует на пустой ссылке спозиционироваться и даже не ругнётся? наверное
22 pavelul73
 
09.10.12
11:52
(21) по идее, эти элементы никуда деться не должны, но как говорится, и палка стреляет, а как тогда лучше позиционировать?
23 pavelul73
 
09.10.12
11:54
и группа ведь тоже может куда-нибудь деться, жестко привязать не к чему.
24 Wobland
 
09.10.12
11:57
(22) лучше проверять на пустоту после поиска. к примеру:
Если НЕ Найти().Пустая()
 НачальноеЗначение=

но в этом случае может и так отработать. попробуй код в обработке измени, чтоб точно не нашло, и узнаешь
25 pavelul73
 
09.10.12
12:03
(22)изменил, обработка открыла полный справочник, без начального выбора. В принципе, этот вариант подходит.
Спасибо.