Имя: Пароль:
1C
1С v8
Открытие справочника с отбором
, ,
0 Tanis
 
09.09.14
10:48
Добрый день!
Подскажите, пожалуйста, в чем ошибка?

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


Спасибо!
1 Ёпрст
 
09.09.14
10:57
посмотри, что в Список у тебя.. и ужаснись
2 Ёпрст
 
09.09.14
10:58
там одно значение с типом массив, если че..
3 Tanis
 
09.09.14
11:02
знаю, что там массив.
вот и спрашиваю, где исправить ошибку.
при других вариантах, показывает разные типы, и на это ругается.
4 ДенисЧ
 
09.09.14
11:02
Массив заполни значениями, а не массивом.
5 Defender aka LINN
 
09.09.14
11:03
Массив.Добавить(Результат.Выгрузить().ВыгрузитьКолонку("Ссылка"))
Это 5
6 Tanis
 
09.09.14
11:05
начиналось с Результат.ссылка.
но на это ругалось Форма.Отбор.Ссылка.Значение = Список,
что типа не равны
7 Ёпрст
 
09.09.14
11:08
(6)

Список = Новый СписокЗначений;
//    Массив = Новый Массив;
    //Массив.Добавить(Результат.Выгрузить().ВыгрузитьКолонку("Ссылка"));
    Список.ЗагрузитьЗначения(Результат.Выгрузить().ВыгрузитьКолонку("Ссылка"));
8 Ёпрст
 
09.09.14
11:08
так хотя бы
9 Tanis
 
09.09.14
11:12
Вот такая ошибка, так и выходит. :-(

{Документ.ВыводТехникиВРемонт.Форма.ФормаДокумента.Форма(112)}: Ошибка при установке значения атрибута контекста (Значение)
    Форма.Отбор.Ссылка.Значение = Список;
по причине:
Неверный тип значения
10 Tanis
 
09.09.14
11:31
Подскажите, как правильно все таки написать?
11 Defender aka LINN
 
09.09.14
11:32
(9) Потому что вид сравнения в этот момент "Равно", лапоть!
12 Tanis
 
09.09.14
11:39
ну так как? Циклом поставить заполнение?
13 Defender aka LINN
 
09.09.14
11:46
14 Ёпрст
 
09.09.14
11:49
(10) строчки местами поменять... прочитав вдумчиво (11)
15 Tanis
 
09.09.14
12:37
Согласно с (13)
То какие строчки менять местами? Ругается все равно на лапотьЮ что не равны по типам.
16 Ёпрст
 
09.09.14
12:41
(15) присваивай список отбору, после того, как вид сравнения в Списке установишь, а не наеборот..
так понятнее ?
17 Tanis
 
09.09.14
12:43
Все, заработало. наменялся строк. :-)

Всем спасибо!
18 Tanis
 
09.09.14
12:44
Теперь продолжим дальше.
потом еще возникнет вопрос по УФ.
19 Tanis
 
09.09.14
16:03
Чуть продолжу.
А как в этой форме задать быстрыйВыбор?
Чтоб не форма открывалась, а только список, как на перечислениях?

Спасибо!
20 Tanis
 
09.09.14
16:13
Или это только где-то в стандартных есть?
21 Tanis
 
09.09.14
16:30
И как отменить ручной ввод?
22 Tanis
 
09.09.14
16:51
понятно. никто не подскажет. :-(
23 Ёпрст
 
09.09.14
17:06
(19) в какой форме ?
(21) в свойствах реквизита галку воткнуть
24 Tanis
 
09.09.14
17:11
В форме с которой все начиналось.
Открывается уже отобранная.
А сейчас, нужно сделать, как обычно у перечислений бывает.
Выводится не окно для выбора, а просто список вниз.

Ну вот как-то так.
25 Ёпрст
 
09.09.14
17:16
(24) дык, тогда надо не форму открывать
26 Ёпрст
 
09.09.14
17:17
а список выбора, например заполнить
27 Ёпрст
 
09.09.14
17:18
ну и в свойствах реквизита запретить редактирование
28 Tanis
 
09.09.14
17:36
Так?

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

    Форма.Открыть();
29 Ёпрст
 
09.09.14
17:38
(28) нет
30 Tanis
 
09.09.14
17:39
там все таки что-то прописывается... :-( но вот что...
31 Tanis
 
09.09.14
17:39
понял, что не так.
Искал инфу где указываются, эти способВыбора, ОбоимиСпособами и быстрыйВыбор, но так и нашел
32 Ёпрст
 
09.09.14
17:40
я на сколько понял, весь этот код висит на событии выбора в реквизите диалога с типом справочник.оснсредства..
у этого реквизита есть списоквыбора - вот его и нужно заполнить и воткнуть в свойствах реквизита галку..
а открывать никакие формы не надо при этом.
Сам список элементов получить запросом
33 Tanis
 
09.09.14
17:46
это по перечислениям.
галка тоже есть.
34 Ёпрст
 
09.09.14
17:48
(33) че ?
РежимВыбораИзСписка воткни в свойствах реквизита и назначь этот список.. всё.
35 Tanis
 
09.09.14
17:53
не догоняю.
этот реквизит, выбирается из перечисления.
отменил стандартную обработку, чтоб поставить отбор.
все работает, но вот только стала окно открывать, а списком вниз.
Хотя эта галочка раньше не стояла.
36 Ёпрст
 
09.09.14
17:56
Какое перечисление ?
37 Tanis
 
09.09.14
17:58
ну Перечисления.Вид...

Которые в конфе.
38 Tanis
 
09.09.14
18:13
так как эту фигню сделать?
39 Tanis
 
10.09.14
09:07
Доброе утро!
Что-то сказали, что такое может и невозможно сделать. Ни у кого так не получалось?
40 Ёпрст
 
10.09.14
09:46
(37) при чем тут перечисление, когда ты открываешь справочник основные средства ?
41 Ёпрст
 
10.09.14
09:47
вы вот с этим товарищем,
Открытие формы через Элемент

не родственники ?

Он так же загадками говорит