Имя: Пароль:
1C
1С v8
Как из СКД передать поля отбора компоновщику настроек?
0 mikecool
 
22.09.14
16:48
Есть схема компоновки в виде макета
есть компоновщик настроек в виде реквизита формы
в отборы компоновщика добавляю элементы, но они в предприятии помечаются крестом
как сказать компоновщику, что допустимые поля для отбора надо взять из моей схемы?
1 User_Agronom
 
22.09.14
17:02
(0) Во загнул. Это отчет?
2 Зойч
 
22.09.14
17:02
инициализировать()
3 mikecool
 
22.09.14
17:52
(2) вот спасибо, работает )))
ну и тогда еще вопрос:
добавляю в отборы компоновщика элементы отбора:
ЭлементОтбора = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.Использование = Ложь;
ЭлементОтбора.ЛевоеЗначение = Отбор.ДоступныеПоляОтбора.НайтиПоле(Новый ПолеКомпоновкиДанных(ИмяПоля)).Поле;
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;

однако все равно крестом отмечает в списке такие отборы (
4 mikecool
 
22.09.14
17:59
+3 после инициализации в компоновщике доступные поля отбора заполнены, однако в таблице на форме, в которую вынесен отбор компоновщика, при попытке отредактировать поле или добавить новый отбор - пустой список
5 DexterMorgan
 
22.09.14
18:03
(4) Как инициализируешь?
6 mikecool
 
22.09.14
18:44
(5)
    СхемаКомпоновкиДанных = Обработки.Подбор.ПолучитьМакет("Подбор");
    КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
7 Зойч
 
22.09.14
18:47
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(ИмяПоля)
8 mikecool
 
22.09.14
19:06
(7) дык так и пишу:
    Отбор = КомпоновщикНастроек.Настройки.Отбор;
    ЭлементОтбора = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.Использование = Ложь;
    ЭлементОтбора.ЛевоеЗначение = Отбор.ДоступныеПоляОтбора.НайтиПоле(Новый ПолеКомпоновкиДанных(ИмяПоля)).Поле;
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
9 Prog-AL
 
22.09.14
19:14
Посмотри как сделано в типовой обработке "РегистрацияИзмененийДляОбменаДанными.epf" на ИТС.
10 mikecool
 
22.09.14
19:27
(9) нет под рукой итс
11 Prog-AL
 
22.09.14
19:33
Смотрите почту.
12 mikecool
 
22.09.14
19:39
(11) спасибо, получил
13 mikecool
 
22.09.14
19:54
вроде все аналогично, но не работает...
14 mikecool
 
22.09.14
20:01
(7) начинал с этого, потом пришел к (9), снова вернулся... все равно воз и ныне там
15 Defender aka LINN
 
22.09.14
20:03
УФ?
16 mikecool
 
22.09.14
20:04
(15) да
17 mikecool
 
22.09.14
20:55
в общем научился вываливать результат отчета на скд в тз, осталось подружить реквизит формы-компоновщик с схемой скд
18 mikecool
 
22.09.14
21:18
инициализацию выполнил так:
    СхемаКомпоновкиДанных = Обработки.Подбор.ПолучитьМакет("Подбор");
    КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
    КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
компоновщик отработал как надо, а вот с полями отбора швах остался...
19 Defender aka LINN
 
22.09.14
21:36
(16) Инициализировать надо адресом схемы, помещенной во временное хранилище :)
20 Armando
 
22.09.14
21:43
Из СП
Пример 2:
// Поместим схему во временное хранилище
URLСхемы = ПоместитьВоВременноеХранилище(СхемаКомпоновкиДанных);
// Создадим источник
ИсточникДоступныхНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(URLСхемы);
21 mikecool
 
22.09.14
21:51
так ИсточникДоступныхНастроекКомпоновкиДанных может и на основе схемы создаваться...
22 mikecool
 
22.09.14
21:54
через урл заработало, век читай сп и век учись )))
спасибо
23 mikecool
 
22.09.14
21:55
только теперь с настройками компоновщика, установленными в скд, схема возвращает пустой набор ((
лечу одно, а калечу другое
24 mikecool
 
22.09.14
22:01
заработало так
    URLСхемы = ПоместитьВоВременноеХранилище(СхемаКомпоновкиДанных);
    КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(URLСхемы));
    КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
25 mikecool
 
22.09.14
22:12
и последний вопрос на сегодня )))
как по аналогии с формой отчета скд добавить отбор с "включать в пользовательские настройки" на свою произвольную форму? т.е. отдельно от таблицы отборов
26 Armando
 
22.09.14
22:18
(25) Не совсем понял. У тебя на форму пользовательские настройки вынесены? Надо чтоб отбор установленный там тоже работал?
Или что?
27 mikecool
 
22.09.14
22:21
(26) у меня на второй странице лежит таблица, в которую выведены все отборы
хочу на первой вывести самые важные
по аналогии как добавляются отдельные элементы отбора на формах скд-отчетов
28 Armando
 
22.09.14
22:26
Натыкай в схеме этих галочек "включать в пользовательские настройки", а на форму выноси пользовательские настройки из этого же компоновщика
29 mikecool
 
22.09.14
22:50
(28) а, понял, спасибо ))
30 mikecool
 
23.09.14
12:03
натыкал, воткнул в форму, но заметил, что изменение пользовательского отбора не влияет на запрос, как будто не в том компоновщике они(польз. отборы) находятся
надо что-то еще указать, чтобы срабатывал пользовательский отбор, при формировании отчета по схеме или дописывать перенос значения пользовательского отбора в "обычные" отборы?
31 mikecool
 
23.09.14
12:39
почему "значение" в пользовательском отборе - выбираю из справочника, а в результате получаю в значение строку?
32 Armando
 
23.09.14
12:39
(30) Я ждал этого сообщения)))
Когда программно формируешь, надо писать не КомпоновщикНастроек.Настройки, а КомпоновщикНастроек.ПолучитьНастройки()
Почитай в СП описание.
33 mikecool
 
23.09.14
12:41
(32) :) спасибо
с (31) уже понял, что не оттуда беру значения
Независимо от того, куда вы едете — это в гору и против ветра!