|
Отбор в списке РегСведений. получить набор записей по установленному отбору. | ☑ | ||
---|---|---|---|---|
0
AaNnDdRrEeYy
16.12.13
✎
12:45
|
Есть форма (обычная не управляемая) на ней РегистрСведенийСписок в этом списке есть отбор, нужно получить набор записей с точно таким же отбором как и у списка на форме.
Нужно программно перезаписать те записи что видны на форме в списке не трогая остальные. (которые не видны из за отбора) Есть проблема, в списке на форме можно устанавливать отбор по реквизитам регистра в наборе записей только по измерениям. |
|||
1
Naumov
16.12.13
✎
12:54
|
обращаяся к СправочникСписок из модуля формы и читай.
|
|||
2
AaNnDdRrEeYy
16.12.13
✎
13:01
|
(1) у этого Списка нет свойств кроме "Отбор" "Порядок" и "Колонки" и всего один метод "Обновить()"
|
|||
3
Naumov
16.12.13
✎
13:02
|
(2) За чем тебе отбор? читай, что отобрано
|
|||
4
Ненавижу 1С
гуру
16.12.13
✎
13:03
|
программно, через построитель
|
|||
5
AaNnDdRrEeYy
16.12.13
✎
13:33
|
(3) не читается... потому что там нет данных это картинка просто (4) попробую через построитель.
|
|||
6
AaNnDdRrEeYy
16.12.13
✎
14:05
|
вот так получилось
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ * |ИЗ | РегистрСведений.МойРегистр КАК МойРегистр"; Построитель = Новый ПостроительОтчета(); Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(Запрос.Выполнить()); Построитель.Отбор.УстановитьДоступныеПоля( Построитель.Отбор.ПолучитьДоступныеПоля()); Для каждого СтрокаОтбора из РегистрСведенийСписок.Отбор Цикл НовыйОтбор = Построитель.Отбор.Добавить(СтрокаОтбора.Имя); НовыйОтбор.Использование = СтрокаОтбора.Использование; НовыйОтбор.ВидСравнения = СтрокаОтбора.ВидСравнения; НовыйОтбор.Значение = СтрокаОтбора.Значение; НовыйОтбор.ЗначениеС = СтрокаОтбора.ЗначениеС; НовыйОтбор.ЗначениеПО = СтрокаОтбора.ЗначениеПо; КонецЦикла; Построитель.Выполнить(); Возврат Построитель.Результат.Выбрать(); |
|||
7
Ненавижу 1С
гуру
16.12.13
✎
14:28
|
(6) проверь на списках значений также
|
|||
8
Михаил Козлов
16.12.13
✎
15:42
|
(6) Мне кажется проще через Построитель.ИсточникДанных = Новый ОписаниеДанных(сюда РС список); - не придется с отборами программно возиться.
|
|||
9
AaNnDdRrEeYy
16.12.13
✎
16:16
|
я тоже думал что туда что попало пихать можно
однако только ТаблицаЗначений; РезультатЗапроса; ОбластьЯчеекТабличногоДокумента. ОписаниеИсточникаДанных (DataSourceDescription) На основании источника данных Синтаксис: Новый ОписаниеИсточникаДанных(<ИсточникДанных>) Параметры: <ИсточникДанных> (обязательный) Тип: ТаблицаЗначений; РезультатЗапроса; ОбластьЯчеекТабличногоДокумента. Описываемый источник данных. Описание: Создает описание источника данных на основании другого источника данных. Также может быть создан с использованием функциональной формы оператора Новый. |
|||
10
Михаил Козлов
16.12.13
✎
16:27
|
Я для регистра накопления делал так:
Пост = Новый ПостроительОтчета; Пост.ИсточникДанных = Новый ОписаниеИсточникаДанных(РегистрНакопленияСписок); ... - вроде как работает. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |