Имя: Пароль:
1C
1С v8
Отбор в обычной форме выбора
0 loralu
 
29.09.15
16:58
Выборка = Запрос.Выполнить().Выбрать();
МассивЗначений = Новый Массив();
СписокЗначений = Новый СписокЗначений;
    
Пока Выборка.Следующий() Цикл
МассивЗначений.Добавить(Выборка.Объект);
КонецЦикла;
    
СписокЗначений.ЗагрузитьЗначения(МассивЗначений);
ФормаВыбора = Справочники.Номенклатура.ПолучитьФормуВыбора(,Элемент);

ФормаВыбора.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке;
ФормаВыбора.Отбор.Ссылка.Использование = Истина;

ФормаВыбора.Отбор.Ссылка.Значения.Загрузить(СписокЗначений);; // не может
ФормаВыбора.Отбор.Ссылка.Значение = СписокЗначений; // не хочет
//Как сделать?
1 jurassic
 
29.09.15
17:01
//а что СП?
2 loralu
 
29.09.15
17:05
посмотрю в СП, в гуглах не показывает
3 Lexey_
 
29.09.15
17:05
(0) А зачем сначала в массив добавлять значения, а потом в список? Сразу в список слишком скучно?
"Не хочет" - прям так и пишет?
4 loralu
 
29.09.15
17:07
не может = нет такого поля; не хочет = поле есть, но не совпадает тип
5 jurassic
 
29.09.15
17:07
(4) не верь гуглу, верь СП
6 loralu
 
29.09.15
17:07
попробую найти в конфе, где-то же вызывается Справочники.Номенклатура.ПолучитьФормуВыбора(,Элемент) или другого справочника
7 jurassic
 
29.09.15
17:10
(6) там не обязательно будет отбор в списке
8 hhhh
 
29.09.15
17:27
(6) почему в одном месте

ФормаВыбора.Отбор.Ссылка.Значения

а в другом

ФормаВыбора.Отбор.Ссылка.Значение  ??

в чем смысл таких махинаций?
9 loralu
 
29.09.15
17:35
пытаюсь так

ФормаВыбора.Отбор.Ссылка.Значения.Загрузить(СписокЗначений);;

потом меняю на

ФормаВыбора.Отбор.Ссылка.Значение = СписокЗначений;

не пашет
10 loralu
 
29.09.15
17:36
ужас ужас ужас
11 jurassic
 
29.09.15
17:36
(8) это только начало. на каком-то заклинании платформа сломается и покажет отбор, тогда остальные можно будет удалить
12 hhhh
 
29.09.15
17:37
(9) почему два разных слова? там Значения, а там наоборот. Это ведь имя переменной.
13 jurassic
 
29.09.15
17:37
(9) а как надо?
14 loralu
 
29.09.15
17:38
было предположение, что через эти реквизиты элемента отбора делается
15 loralu
 
29.09.15
17:38
(9)было предположение, что через эти реквизиты элемента отбора делается
16 loralu
 
29.09.15
17:38
(13) узнаю - скажу
17 Timon1405
 
29.09.15
17:39
ЕМНИП не ФормаВыбора.Отбор а ФормаВыбора.Список.Отбор.
18 jurassic
 
29.09.15
17:39
(17) СправочникСписок обычно называется
19 loralu
 
29.09.15
17:39
(17) это ж вроде на УФ так? а тут обычные
20 loralu
 
29.09.15
17:40
(17) как ты пишешь имхо на управляшах взлетит
21 hhhh
 
29.09.15
17:40
(16) ну объясните, почему пишете "Значения", у вас в конфигураторе где-то заведен такой реквизит?
22 jurassic
 
29.09.15
17:40
(19) ну скажи своим обычным, чей отбор ты имеешть в виду
23 loralu
 
29.09.15
17:41
(21) нет, содрано из гугла. там должно запихиваться в уже существующий типовой рекв.
24 Timon1405
 
29.09.15
17:44
(20) нет, на управляемых для этого есть свойство "отбор" у расширения формы
25 loralu
 
29.09.15
17:45
(24) нет реквизита список у формывыбора
26 loralu
 
29.09.15
17:46
сейчас в конфете найду будет чики пуки
27 jurassic
 
29.09.15
17:48
(25) а кому отбор собираешься установить?
28 Timon1405
 
29.09.15
17:49
(25), вот в (18) правильно подсказывают
29 hhhh
 
29.09.15
17:50
(23) ФормаВыбора.Отбор.Ссылка.Значение = МассивЗначений;
30 loralu
 
29.09.15
17:57
(29) сек
31 loralu
 
29.09.15
17:58
(29) неверный тип значения     ФормаВыбора.Отбор.Ссылка.Значение = МассивЗначений;
по причине:
Неверный тип значения
32 loralu
 
29.09.15
17:59
(31) передаю массив
33 jurassic
 
29.09.15
17:59
(31) какой тип ожидается?
34 loralu
 
29.09.15
17:59
(33) справочникСсылка.Номенклатура
35 hhhh
 
29.09.15
18:00
(34) ну значит в массиве у вас там не номенклатура.
36 jurassic
 
29.09.15
18:01
(34) врёшь ведь
37 loralu
 
29.09.15
18:01
(36) никогда!!
38 jurassic
 
29.09.15
18:02
(37) да? расскажи сюда кусок СП про это
39 loralu
 
29.09.15
18:03
(34) там в запросе берется только она
40 hhhh
 
29.09.15
18:04
кто она? Автора запроса в студию.
41 loralu
 
29.09.15
18:04
ща
42 loralu
 
29.09.15
18:04
решено
43 loralu
 
29.09.15
18:05
отстатыщ пыщ
44 loralu
 
29.09.15
18:05
Запрос = Новый Запрос();
    
    Запрос.Текст = "ВЫБРАТЬ
                   |    КатегорииОбъектов.Объект
                   |ИЗ
                   |    РегистрСведений.КатегорииОбъектов КАК КатегорииОбъектов
                   |ГДЕ
                   |    КатегорииОбъектов.Объект ССЫЛКА Справочник.Номенклатура
                   |    И КатегорииОбъектов.Категория = &Категория";
                  
    Запрос.УстановитьПараметр("Категория", Справочники.КатегорииОбъектов.мет_УслугаРаспределяется);
    
    Выборка = Запрос.Выполнить().Выбрать();
    МассивЗначений = Новый Массив();
    СписокЗначений = Новый СписокЗначений();
    
    Пока Выборка.Следующий() Цикл
        МассивЗначений.Добавить(Выборка.Объект);
        СписокЗначений.Добавить(Выборка.Объект);
    КонецЦикла;
    
    //СписокЗначений.ЗагрузитьЗначения(МассивЗначений);
    ФормаВыбора = Справочники.Номенклатура.ПолучитьФормуВыбора();
    ФормаВыбора.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке;
    ФормаВыбора.Отбор.Ссылка.Значение = СписокЗначений;
    ФормаВыбора.Отбор.Ссылка.Использование = Истина;
    ФормаВыбора.Открыть();
45 loralu
 
29.09.15
18:05
ФормаВыбора.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке;

должно быть перед

ФормаВыбора.Отбор.Ссылка.Значение = СписокЗначений;
46 loralu
 
29.09.15
18:06
(40) номенклатура
47 loralu
 
29.09.15
18:07
расскажу как это делается. берется обработка в которую пишешь код, а она выполняет. и методом подбора.
48 jurassic
 
29.09.15
18:07
меньше, чем за полтора часа. это неплохой результат
49 loralu
 
29.09.15
18:07
Спасибо за поддержку и помощь
50 loralu
 
29.09.15
18:08
(48) придется выставить на полтора часа больше)
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший