|
Динамический список документов ПриСозданииНаСервере() | ☑ | ||
---|---|---|---|---|
0
sema76
16.12.14
✎
22:57
|
Искал но нигде не нашел как "обновить" список с новыми значениями периода используя каждый раз ПриСозданииНаСервере().
При первом создании передаю параметры периода, к примеру, за предыдущую неделю, использую при этом ПриСозданииНаСервере(), запрос возвращает список документов. Потом с помощью стандартного задания периода формы могу выбрать другой интервал, но только из диапазона дат за прошлую неделю. А если мне надо выбрать за прошлый месяц, то как это сделать? Документы раньше чем за неделю не доступны так как при использовании ПриСозданииНаСервере() при первом открытии формы период был за неделю. Можно ли как-то "обновить" список используя ПриСозданииНаСервере() с периодом взятым из стандартного периода формы? |
|||
1
sema76
17.12.14
✎
05:03
|
В принципе устроит любой метод. Задача сделать при открытии формы запрос за небольшой период, но с возможностью увеличить его уже после открытия формы.
|
|||
2
Любопытная
17.12.14
✎
05:20
|
Ничего не поняла. Как период в запросе зависит от того, где этот запрос выполняется? Почему нельзя передать в этот запрос другой период?
|
|||
3
Skom
17.12.14
✎
05:47
|
у тебя запросом? или стандартным списком?
|
|||
4
sema76
17.12.14
✎
05:49
|
Период можно передать только перед открытием списка в процедуре ПриСозданииНаСервере(). После открытия списка значение параметров уже не поменять. Запрос выполнятся один раз, при открытии формы.
Задача. Сначала сделать запрос за небольшой период, для быстроты, комфортной работы. Но чтобы была возможность посмотреть потом в списке документы за больший период. |
|||
5
Skom
17.12.14
✎
05:50
|
покажи процедуру?
|
|||
6
sema76
17.12.14
✎
05:51
|
(3) Динамический список документов. Запрос не сильно отличается от запроса, который сформировала платформа.
|
|||
7
Skom
17.12.14
✎
05:52
|
процедуру
ПрисозданииНаСервере() покажи |
|||
8
sema76
17.12.14
✎
05:54
|
(7)
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Список.Параметры.УстановитьЗначениеПараметра("ДатаНачала", НачалоДня(РабочаяДата) - 604800); Список.Параметры.УстановитьЗначениеПараметра("ДатаОкончания", КонецДня(РабочаяДата)); КонецПроцедуры |
|||
9
Skom
17.12.14
✎
05:56
|
у меня вот так сделано
&НаКлиенте Процедура РегионПриИзменении(Элемент) РегионПриИзмененииНаСервере(); КонецПроцедуры &НаСервере Процедура РегионПриИзмененииНаСервере() Список.Параметры.УстановитьЗначениеПараметра("Регион", Регион ); КонецПроцедуры &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Регион = ПараметрыСеанса.ПараметрСеансаПользователь.Сотрудник.Подразделение.Регион; Список.Параметры.УстановитьЗначениеПараметра("Регион", Регион ); КонецПроцедуры |
|||
10
Skom
17.12.14
✎
05:56
|
на форме есть элемент "Регион"
при его изменении вызываешь серверную процедуру, которая устанавливает параметр запроса. |
|||
11
sema76
17.12.14
✎
06:00
|
(10) После того как список сформировывался изменение региона изменяет список, точнее сказать выполняется запрос заново или происходит просто фильтрация данных из предыдущего запроса?
|
|||
12
Skom
17.12.14
✎
06:01
|
Главное фильтруется)
|
|||
13
sema76
17.12.14
✎
06:05
|
(12) У меня тоже по датам потом фильтруется, но форма долго открывается, это как бы сразу создает не приятное впечатление, да и дело принципа, как все же можно сделать.
Попробую аналогично вашему примеру. Я еще пробовал заменить сам запрос, бесполезно. Запрос выполнятся один раз при открытии формы. |
|||
14
sema76
17.12.14
✎
06:15
|
В общем не очень хорошо работает этот динамический список. Сначала полная выборка делается несмотря на то что ограничивается период в форме списка, и потом уже можно ограничивать эту выборку по любому периоду.
А надо чтобы платформа не всю выборку делала, а только ограниченную периодом формы списка. |
|||
15
sema76
17.12.14
✎
06:16
|
Ну и потом подгружала при изменении периода.
|
|||
16
Skom
17.12.14
✎
06:18
|
попробуй штатный список использовать вместо запроса и в нем отборы установить
|
|||
17
sema76
17.12.14
✎
06:21
|
Да, штатный побыстрее работает, но мне нужен немного измененный запрос с левым соединением.
|
|||
18
sema76
17.12.14
✎
06:23
|
Вот еще цитата с ИТС
"В том случае, если динамический список отображает данные, источником которых (свойство Основная таблица) является виртуальная таблица (см. здесь), для которой определены параметры НачалоПериода и КонецПериода, то при установке пользователем периода отображения (команда Установить интервал дат...), заданные границы периода подставляются непосредственно в параметры виртуальной таблицы." Точно не понимаю о чем речь. |
|||
19
MSOliver
17.12.14
✎
06:27
|
Ничего не понял...
Но полагаю так, Демон читает данные порциями (даже на основании текста запроса) - размер порции примерно то что влезет на экран. Запрос читает все данные целиком. Возможно ТС следует использовать СКД?! |
|||
20
sema76
17.12.14
✎
06:32
|
(19) В смысле ТС?
Да, запрос читает данные целиком, а уже потом в форме списка фильтруется. Проблема, если ограничить запрос по периоду, то не возможно потом будет посмотреть документы, которые не попали в запрос, в форме списка. |
|||
21
sema76
17.12.14
✎
06:37
|
Можно как-то инициировать выполнение запроса, к примеру хоть по кнопке, по аналогии с отчетом на СКД, поменяли период нажали сформировать, и здесь поменяли период и инициировали
выполнение запроса. |
|||
22
Skom
17.12.14
✎
06:45
|
(20) ТС - топик стартер, т.е. ты!
|
|||
23
DrZombi
гуру
17.12.14
✎
08:18
|
(4) Кто тебе такую ересть сказал?
|
|||
24
DrZombi
гуру
17.12.14
✎
08:20
|
(11) Да на сервере ты можешь с запросом вертеть, как хочешь.
Это же Управляемая форма. Все находится на сервере. Пору же понять это :) |
|||
25
DrZombi
гуру
17.12.14
✎
08:21
|
(20) У вас руки из одного места, все там работает, делай как в (9) :)
|
|||
26
olegves
17.12.14
✎
09:40
|
(9) а зачем ты параметр устанавливаешь на сервере?
ЗначенияПараметровДанныхКомпоновкиДанных (DataCompositionDataParameterValues) УстановитьЗначениеПараметра (SetParameterValue) Синтаксис: УстановитьЗначениеПараметра(<Параметр>, <Значение>) Параметры: <Параметр> (обязательный) Тип: Строка; ПараметрКомпоновкиДанных. Имя параметра или параметр компоновки данных, значение которого нужно установить. <Значение> (обязательный) Значение, которое нужно установить. Описание: Устанавливает значение параметра и включает свойство Использование. Если параметр с указанным именем не найден, будет вызвано исключение. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. |
|||
27
Skom
17.12.14
✎
10:12
|
(26) потому что в УФ я нуб) и не стесняюсь этого. можно сказать, что это первые эксперименты.
|
|||
28
sema76
17.12.14
✎
16:15
|
(25) Можете написать как должно быть? Все же я склоняюсь к мнению, что запрос выполняется только один раз при открытии формы.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |