|
Отбор информации в 1С 8.3. | ☑ | ||
---|---|---|---|---|
0
Direx53
17.07.17
✎
14:32
|
Добрый день.Есть динамический список(который находится на форме), в котором есть поле Дата(Берется из регистра сведений).Необходимо сделать выборку по дате путем периода.Я сделал это так: Создал два дополнительных реквизита с типом дата, после разместил их на форме, а так же сделал кнопку "Применить период".На данную кнопку я сделал команду, ну а в команду бахнул такой код:
&НаКлиенте Процедура ПрименитьПериод(Команда) ГруппаОтбора = Список.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных")); ГруппаОтбора.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ; ЭлементОтбора = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Дата"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Меньше; ЭлементОтбора.Использование = Истина; ЭлементОтбора.ПравоеЗначение = ДатаНачало; ЭлементОтбора = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Дата"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Больше; ЭлементОтбора.Использование = Истина; ЭлементОтбора.ПравоеЗначение = ДатаОкончания; КонецПроцедуры Т.е.получается, что пользователь выбирает период, после жмет на кнопку, и данные должны отфильтроваться.Подскажите, что я не так делаю, и если есть предложения, как сделать все вот это по другому, готов выслушать их. |
|||
1
butterbean
17.07.17
✎
14:43
|
в настройке дин. списка делаешь отбор по дате типа Дата >= ДатаНач и Дата <= ДатаКон, а своей командой устанавливаешь эти параметры ДатаНач и ДатаКон
|
|||
2
Direx53
17.07.17
✎
14:54
|
butterbean, несколько не понял где в настройке дин. списка это сделать, ведь если выставить "Дата", то там нет сравнимых полей, ни ДатаНач, ни ДатаКон.
|
|||
3
НЕА123
17.07.17
✎
15:02
|
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Интервал
|
|||
4
НЕА123
17.07.17
✎
15:04
|
(3)
сторно. |
|||
5
НЕА123
17.07.17
✎
15:09
|
у ГруппаОтбора есть Использование, Применение
|
|||
6
Direx53
17.07.17
✎
15:46
|
(3)
На данный код ругается,{ОбщаяФорма.ВыборАналитикиРасходов.Форма(131)}: Поле объекта не обнаружено (Интервал) |
|||
7
singlych
17.07.17
✎
15:49
|
(0) перепутал Меньше и Больше
|
|||
8
Имитация работы
17.07.17
✎
15:51
|
(0) Если пользователь нажмет на кнопку дважды с разными периодами, что будет в результате отбора?
|
|||
9
Волшебник
модератор
17.07.17
✎
15:57
|
(0) Не надо было "бахать". Надо было умно написать.
|
|||
10
Direx53
17.07.17
✎
16:02
|
(7)
Не помогло |
|||
11
Direx53
17.07.17
✎
16:02
|
(8)
Ничего не произойдет |
|||
12
Direx53
17.07.17
✎
16:03
|
(9)
Ну чтож, жду вашего предложения кода |
|||
13
ejikbeznojek
17.07.17
✎
16:43
|
(0) А ты на том списке можешь щёлкнуть правой кнопой мышки и установить отбор?
|
|||
14
Direx53
17.07.17
✎
16:48
|
(13)
Да, смогу, но задача была именно в том, чтобы вводился интервал в отдельных полях, чтобы постоянно не делать лишних движений. |
|||
15
Имитация работы
17.07.17
✎
19:25
|
(12) Сильно. Так какой результирующий отбор будет наложен после нажатия, изменения периода и повторного нажатия, бахальщик?
|
|||
16
Волшебник
модератор
17.07.17
✎
19:56
|
(12) Если список динамический, то он формируется запросом. Условие на период надо наложить в запросе.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |