Имя: Пароль:
1C
1С v8
Как программно установить отбор в справочнике?
0 Босечка
 
06.03.12
10:02
Есть проблемка:
Справочник "ДеталиИУзлы" редактируется в списке. Есть реквизит -"КатегорияДефекта" типа справочник "КатегорииДефекта". Есть реквизит -"Дефект" типа справочник "Дефекты". В нем тоже есть реквизит "КатегорияДефекта". Сначала заполняется поле "КатегорияДефекта".  Как сделать так, чтобы при выборе "Дефекта"  были видны только дефекты с выбранной категорией? Заранее спасибо.
1 Wobland
 
06.03.12
10:02
связь по владельцу?
2 vmv
 
06.03.12
10:04
на УФ - условное оформление отбор, пара пустяков и телодвижений в конфигураторе
3 vmv
 
06.03.12
10:08
в Обычном приложении для Справочника "Дефекты" создать форму "ФормаВыбораПоКатегрии" в которой при открытии устанавливать отбор по переданную в форму категрию и не важно подчинение там владелец-подчинненные или категория просто реквизит отбора.

тоже все просто, работенка на 500к целковых
4 Босечка
 
06.03.12
10:35
(2)Что такое УФ?
5 Wobland
 
06.03.12
10:38
(4) формы управляемые
6 Босечка
 
06.03.12
10:39
Нет у меня обычное.
7 Wobland
 
06.03.12
10:41
дефект часом не подчинён категориям дефектов?
8 Босечка
 
06.03.12
10:42
(7) Нет не подчинен. Он подчинен "ДеталиИУзлы".
9 Wobland
 
06.03.12
10:44
(8) этот глист страдал глистами, что мучались глистами сами...
в (3) всё описано
10 Босечка
 
06.03.12
11:16
(3) У меня не работает процедура приоткрытии,  ставлю туда сообщение - ничего не выдается.
А как передать в форму выбранную категорию?
11 Wobland
 
06.03.12
11:19
(10) а начало выбора?
12 el-gamberro
 
06.03.12
11:20
(10) ПриОткрытии ты наверное от руки написал или все же в свойствах формы указал?
13 Wobland
 
06.03.12
11:21
(12) не путай девушку. ей надо отбор при открытии формы выбора наколдовать
14 Босечка
 
06.03.12
11:23
Что такое "начало выбора" ?
15 Босечка
 
06.03.12
12:37
ап...
16 Капитан О
 
06.03.12
12:39
(14) событие. Возникает при нажатии кнопки выбора или клавиши F4. с любовью
17 AntonyFO
 
06.03.12
12:43
(0)
Дефекты = Справочники.Дефекты;  
           Форма = Дефекты.ПолучитьФорму();
           Форма.Список.Отбор.КатегорияДефекта.Значение = КатегорияДефекта;
           Форма.Список.Отбор.КатегорияДефекта.Использование = Истина;
           Форма.РежимВыбора = Истина;
           Форма.Открыть();
18 AntonyFO
 
06.03.12
12:44
Процедура ДефектНачалоВыбора(Эл, СтандартнаяОбработка)
    СтандартнаяОбработка=ЛОЖЬ;
    ...
КонецПроцедуры
19 Босечка
 
06.03.12
13:08
{Справочник.Дефекты.Форма.ФормаСписка(38,60)}: Переменная не определена (КатегорияДефекта)
           Форма.Список.Отбор.КатегорияДефекта.Значение = <<?>>КатегорияДефекта;
Хотя КатегорияДефекта является реквизитом этого справочника.
20 Босечка
 
06.03.12
13:09
И еще в этой процедуре еще 2 параметра "Строка", "Колонка". Они нужны?
21 Босечка
 
06.03.12
13:13
поставила элемент Элемент.КатегорияДефекта. Все нормально. Но когда запустила не работает. Высвечивается полный список без отбора.
22 Босечка
 
06.03.12
13:31
Ап...
23 Wobland
 
06.03.12
13:33
вот меня (19) смущает. ЭтотОбъект.КатегорияДефекта даже не помогает?
24 Босечка
 
06.03.12
13:38
(23) Не помогает. Тоже пишет,  ЭтотОбъект Переменная не определена.
25 Wobland
 
06.03.12
13:39
(24) >Хотя КатегорияДефекта является реквизитом этого справочника
противоречие, однако
26 Босечка
 
06.03.12
13:42
Такое впечатление, что эта процедура вообще не вызывается.


Процедура СправочникСписокВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
   
     СтандартнаяОбработка=ЛОЖЬ;
     Сообщить("Вызов выбора");
  Дефекты = Справочники.Дефекты;  
           Форма = Дефекты.ПолучитьФорму();
           Форма.Список.Отбор.КатегорияДефекта.Значение = Элемент.КатегорияДефекта;
           Форма.Список.Отбор.КатегорияДефекта.Использование = Истина;
           Форма.РежимВыбора = Истина;
           Форма.Открыть();

   
   // Вставить содержимое обработчика.
КонецПроцедуры
27 Wobland
 
06.03.12
13:51
(26) а не хочешь при начале выбора в поле ввода изначальной формы так делать?
28 Босечка
 
06.03.12
14:15
Процедура НачалоВыбора(СтандартнаяОбработка)
СтандартнаяОбработка=Ложь;
     Сообщить("Вызов выбора");
  Дефекты = Справочники.Дефекты;  
           Форма = Дефекты.ПолучитьФорму();
           Форма.Список.Отбор.КатегорияДефекта.Значение = ЭтотОбъект.КатегорияДефекта;
           Форма.Список.Отбор.КатегорияДефекта.Использование = Истина;
           Форма.РежимВыбора = Истина;
           Форма.Открыть();

Конецпроцедуры    
   
Ее как надо регистрировать? На какую функцию вешать?
29 Wobland
 
06.03.12
14:16
(28) начни с прокрутки вниз свойствов элемента управления
30 Босечка
 
06.03.12
14:26
(29) Там вариантов много, напишите если знаете.
Выбор, выборЗначения и т. д.
31 Wobland
 
06.03.12
14:26
(30) НачалоВыбора есть?
32 Босечка
 
06.03.12
14:39
Нет. Это 8.1.
33 Wobland
 
06.03.12
14:40
(32) есть. у меня тоже 8.1
34 Босечка
 
06.03.12
14:41
Я смотрю свойства табличного поля, а Вы что смотрите?
35 Wobland
 
06.03.12
14:41
(34) от оно чо. надо искать у поля ввода
36 Босечка
 
06.03.12
14:43
Какого поля ввода? У колонки нет функций.
37 Wobland
 
06.03.12
14:44
(36) зато у неё есть поле ввода. это чуть ниже шапки ;)
38 Босечка
 
06.03.12
15:16
Процедуру нашла, все прицепила,  в процедуру заходит, но выдает

{Справочник.ГарантийныйРемонт.Форма.ФормаЭлемента(181)}: Поле объекта не обнаружено (КатегорияДефекта)
           Форма.СправочникСписок.Отбор.КатегорияДефекта.Значение = Элемент.КатегорияДефекта;

вот код:

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

КонецПроцедуры
39 Босечка
 
06.03.12
15:17
пробовала и ЭтотОбъект, Элемент, ТабличноеПоле1 ничего не помогает.