|
ДС, ошибка при установке отбора на параметры виртуальной таблицы. | ☑ | ||
---|---|---|---|---|
0
Бот9000
13.08.19
✎
03:19
|
При папытке установить атбор на параметры виртуальной таблицы в диманическом списке выдает ашибку: невозможно применить элемент отбора в наборе данных "Параметры.Начало периода..." и т.д. Вопрос, оно так и должно быть или это у меня все такое кривое?
Можно ли как сделать динамический список на форме с таблицей остатки и обороты, и у него менять период по запросу пользователя? Пробовал через ЭлементОтбораКомпоновкиДанных - выдает ошибку, пробовал напрямую в запрос прописать параметр - не реагирует на его переустановку. |
|||
1
Chameleon1980
13.08.19
✎
08:47
|
Криво конечно.с написанием.
как отбор устанавливаешь? Запрос дс покажешь? |
|||
2
Бот9000
13.08.19
✎
14:25
|
такой вариант:
Процедура УстОтб(эл, поле, срав, зн) Если ЗначениеЗаполнено(зн) Тогда с = эл.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); с.ЛевоеЗначение = новый ПолеКомпоновкиДанных(поле); с.ВидСравнения = срав; с.ПравоеЗначение = зн; с.Использование = Истина; КонецЕсли; КонецПроцедуры ... эл = дсОстатки.Отбор.Элементы; эл.Очистить(); УстОтб(эл, "ПараметрыДанных.НачалоПериода", ВидСравненияКомпоновкиДанных.Равно, дд1); сообщение об ошибке при этом точно такое же, как если устанавливать через Настроить список в пользовательском режиме "Невозможно применить элемент отбора в наборе данных "Параметры.Начало периода Равно ..."" При этом, если ошибиться с написанием имени, поля то там другое сообщение, типа поле не найдено. Для примера, для УстОтб(эл, "Параметры.НачалоПериода", ВидСравненияКомпоновкиДанных.Равно, дд1); выдает ошибку: "Поле не найдено "Параметры.НачалоПериода"" Использование Равно или БольшеИлиРавно разницы не делает. |
|||
3
Бот9000
13.08.19
✎
14:31
|
(это при дефаултном запросе к таблице ОстаткиИОбороты)
|
|||
4
hhhh
13.08.19
✎
16:05
|
(3) а где у вас тут стандартный период? Начало месяца, начало года или произвольная дата? указываете?
|
|||
5
Бот9000
13.08.19
✎
17:18
|
(4) дд1 - произвольная дата, заданная пользователем.
Если это приделать к простому запросу, "из РегистрНакопления.МойРегистр.ОстаткиИОбороты(&дд1, &дд2)", то все замечательно выполняется. А то же в ДС не хочет. Может только при первом выполнении будет, не пробовал, мне нужна именно переустановка. |
|||
6
hhhh
13.08.19
✎
17:25
|
(5) ну в дд1 точно указано, что это типа Произвольная дата? и так далее? какую структуру имеет дд1?
|
|||
7
Бот9000
13.08.19
✎
18:15
|
(6) дд1 = НачалоДня(РеквизитНаФормеНачальнойДаты);
так же пробовал Граница, то же самое. Вопрос в том, как обойти это ограничение системы. |
|||
8
Бот9000
13.08.19
✎
19:43
|
Решилось через использование временных таблиц - запрос ОстаткиИОбороты предварительно во временную таблицу, и тогда на эти остатки можно накладывать программные отборы через дсТаблица.Параметры.УстановитьЗначениеПараметра("дд1", дд1);
Всем спасибо за участие. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |