|
Отбор в списке РегСведений. получить набор записей по установленному отбору. |
☑ |
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
|
Я для регистра накопления делал так:
Пост = Новый ПостроительОтчета;
Пост.ИсточникДанных = Новый ОписаниеИсточникаДанных(РегистрНакопленияСписок);
...
- вроде как работает.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший