|
Заполнить отбор СКД на форме настроек |
☑ |
0
Sem0709
23.01.17
✎
14:17
|
Всем привет!
В отчёте есть форма настроек. Прикрутил к ней кнопочку которая должна заполнять отбор в СКД и отобразить эти настройки в форме. По всем свойствам прошёл, но должно эффекта не достиг. Пришлось заполнить на прямую в форму, что не есть гуд, как я полагаю. Поможите чем можете) Заранее благодарен!!
|
|
1
Sem0709
23.01.17
✎
23:20
|
В час-пик ответа не получить...!?)
|
|
2
DrShad
23.01.17
✎
23:23
|
три раза прочитал - ни хрена не понял
|
|
3
Sem0709
23.01.17
✎
23:32
|
(2)Есть такое у меня)
Внешний отчёт на СКД. В нём форма настроек. На ней кнопка которая должна заполнять один из отборов. Не могу заполнить отбор чтобы он отобразился на форме.
Надеюсь теперь понятно. Спасибо)
|
|
4
Sem0709
23.01.17
✎
23:35
|
...через СКД, а не саму форму)
|
|
5
DrShad
23.01.17
✎
23:41
|
код под кнопкой давай
|
|
6
Sem0709
24.01.17
✎
00:21
|
РезультатЗапроса = ЗапросНоменклатуры.Выполнить().Выгрузить();
Если РезультатЗапроса.Количество() Тогда
СписокНоменклатуры = Новый СписокЗначений;
Для Каждого ЭлементТаблицы Из РезультатЗапроса Цикл
СписокНоменклатуры.Добавить(ЭлементТаблицы.Номенклатура);
КонецЦикла;
Для Каждого ЭлементаОтбора Из ЭтотОбъект.КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл
Если ЭлементаОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Номенклатура") Тогда
ЭлементаОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
ЭлементаОтбора.Использование = Истина;
ЭлементаОтбора.ПравоеЗначение = СписокНоменклатуры;
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
|
|
7
Sem0709
24.01.17
✎
23:34
|
ап
|
|
8
segn
25.01.17
✎
06:00
|
1. КомпоновщикНастроек в форме настроек <> КомпоновщикНастроек отчета.
2. После заполнения отбора нужными значениями (тут еще надо бы проверить, что это именно отбор из КомпоновщикНастроек.Настройки, а не КомпоновщикНастроек.ПользовательскиеНастройки) надо передать отбор в форму отчета. Для этого в форме настроек используй Оповестить() в обработчике ПриЗакрытии().
3. В форме отчета заполни КомпоновщикНастроек в соответствии с переданным значением отбора. Для обработки переданного отбора используй ОбработкаОповещения().
|
|
9
osa1C
25.01.17
✎
06:17
|
(6) я туплю или что есть строка Если РезультатЗапроса.Количество() Тогда?
Или у тебя количество булево?
|
|
10
Sem0709
25.01.17
✎
06:21
|
(8) Попробую сегодня переписать...
(9) А в 1С не канает ? 0 = ложь, больше 0 = истина ?
|
|
11
osa1C
25.01.17
✎
06:23
|
(10) для больше нуля есть > 0. А у тебя написано
Если РезультатЗапроса.Количество() = Истина Тогда
|
|
12
Sem0709
25.01.17
✎
06:26
|
(11) Спасибо, исправлю... это с AutoIt, там канает)
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший