|   |   | 
| 
 | ДС, ошибка при установке отбора на параметры виртуальной таблицы. | ☑ | ||
|---|---|---|---|---|
| 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);
 Всем спасибо за участие. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |