Имя: Пароль:
1C
1С v8
УФ, виды отбора
0 AlStorm
 
01.12.15
06:36
Добрый день!
Есть задача по УФ следующего характера: сделать форму, на ней несколько полей отбора справочников с видами отбора. То есть, например, Номенклатура в списке, ТипЦен в группе из списка и т.п., виды отбора пользователь может менять.
Не могу понять, как сделать эти типы отбора. Мне надо будет по нажатию кнопки после этого вытянуть все элементы этих справочников после отбора для последующей обработки...

Есть идеи?
1 Горогуля
 
01.12.15
06:41
есть идея употребить отбор компоновки данных
2 Горогуля
 
01.12.15
06:43
я обычный отбор пытался прикручивать. для хранения в БД переводил его в ХЗ..
3 AlStorm
 
01.12.15
06:44
Важное замечание: эта форма будет работать в мобильном приложении
4 AlStorm
 
01.12.15
08:15
Ап
5 AlStorm
 
01.12.15
08:48
может пример кода у кого-нибудь будет?
6 Горогуля
 
01.12.15
08:57
у меня вроде где-то должно оставаться
7 AlStorm
 
01.12.15
09:05
поищи плиз, я всю голову сломал уже
8 Горогуля
 
01.12.15
09:10
тот код, где я создавал отчёт-пустышку, уже не остался... да повторить тут полчаса с тремя перекурами. в БД пишется ХЗ, при отображении превращается в отбор. СКД только нужна обязательно вроде
9 aleks_default
 
01.12.15
09:25
Форма списка, я правильно понимаю?
10 AlStorm
 
01.12.15
09:30
нет, произвольная форма обработки
11 aleks_default
 
01.12.15
09:36
Я в том смысле, что если это отборы к дин. списку то может просто отборы вытащить на форму?
12 Горогуля
 
01.12.15
09:47
а сферический отбор в вакууме в УФ визуализируется?
13 AlStorm
 
01.12.15
09:48
мне кажется нет... Я создавал ДинСПисок, но не мог сделать для него отбор на форме
14 aleks_default
 
01.12.15
09:52
(12) Может там Компоновщик настроек используется
15 Горогуля
 
01.12.15
09:54
(14) мне как-то трудно без СКД было. на обычной. не помню деталей. а просто Отбор - без проблем
16 AlStorm
 
01.12.15
10:26
блин, не получается)))
17 AlStorm
 
01.12.15
11:15
есть еще варианты?
18 Горогуля
 
01.12.15
12:37
ты хотел кода

    Отбор=КомпоновщикНастроек.Настройки.Отбор.Элементы;
    Отбор.Очистить();    
    Если ЗначениеЗаполнено(НачалоПериода) Тогда
        ЭО=Отбор.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        ЭО.ЛевоеЗначение=Новый ПолеКомпоновкиДанных("Дата");
        ЭО.ВидСравнения=ВидСравненияКомпоновкиДанных.БольшеИлиРавно;
        ЭО.ПравоеЗначение=НачалоПериода;
        ЭО.Использование=Истина;
    КонецЕсли;
    ЭО=Отбор.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭО.ЛевоеЗначение=Новый ПолеКомпоновкиДанных("Дата");
    ЭО.ВидСравнения=ВидСравненияКомпоновкиДанных.МеньшеИлиРавно;
    ЭО.ПравоеЗначение=?(ЗначениеЗаполнено(КонецПериода), КонецПериода, ТекущаяДата());
    ЭО.Использование=Истина;
    Если ЗначениеЗаполнено(Ответственный) Тогда
        ЭО=Отбор.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        ЭО.ЛевоеЗначение=Новый ПолеКомпоновкиДанных("Ответственный");
        ЭО.ВидСравнения=ВидСравненияКомпоновкиДанных.Равно;
        ЭО.ПравоеЗначение=Ответственный;
        ЭО.Использование=Истина;
    КонецЕсли;
19 AlStorm
 
01.12.15
13:48
Спасибо!
Завтра попробую)