Имя: Пароль:
1C
1С v8
Получить строки с табличной части формы
0 bolobol
 
22.05.14
12:50
Доброго дня!

Нашёл в архивах тему, которая, якобы, решает задачу, однако, не взлетает.
В теме было решение:

ОтборСтрок = <ТабличнаяЧастьИсточник.ОтборСтрок>;
ПостроительЗапроса = Новый ПостроительЗапроса;
ПостроительЗапроса.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабличнаяЧастьИсточник);

// Добавляются необходимые отборы, такие же как в отборы в табличной части.
Для Каждого ЭлементОтбора Из ОтборСтрок Цикл
    Если ЭлементОтбора.Использование Тогда
        НовыйОтбор = ПостроительЗапроса.Отбор.Добавить(ЭлементОтбора.Имя);
        НовыйОтбор.Использование = Истина;
        НовыйОтбор.ВидСравнения = ЭлементОтбора.ВидСравнения; // нужный вид сравнения
        НовыйОтбор.ЗначениеС = ЭлементОтбора.ЗначениеС;
        НовыйОтбор.ЗначениеПо = ЭлементОтбора.ЗначениеПо;
        НовыйОтбор.Значение = ЭлементОтбора.Значение;
    КонецЕсли;
КонецЦикла;

ПостроительЗапроса.Выполнить ();

Результат = ПостроительЗапроса.Результат; // отобранные строки типа РезультатЗапроса

Которое по отбору с формы со списком чего-либо выдаёт отобранные пользователем строки. У меня на форме ТабличноеПоле1, источник данных которого - РегистрНакопленияСписок.ИмяРегистра и никак не заполнить правильно эти две строки для результата:

ОтборСтрок = <ТабличнаяЧастьИсточник.ОтборСтрок>;
ПостроительЗапроса.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабличнаяЧастьИсточник);

Что писать вместо <ТабличнаяЧастьИсточник.ОтборСтрок> и (ТабличнаяЧастьИсточник)?

Хелп!
1 Михаил Козлов
 
22.05.14
12:54
Конкретно для формы набора записей РН достаточно:
ПостроительЗапроса = Новый ПостроительЗапроса;
ПостроительЗапроса.ИсточникДанных = Новый ОписаниеИсточникаДанных(РегистрНакопленияСписок);

ПостроительЗапроса.Выполнить();
Результат = ПостроительЗапроса.Результат;

РегистрНакопленияСписок - жирненький реквизит формы списка.
2 fisher
 
22.05.14
12:55
Ежели УФ, то только ждать. В зазеркалье анонсировали будущую штатную возможность.
3 fisher
 
22.05.14
12:55
Ну или руками строить нужный запрос.
4 bolobol
 
22.05.14
13:17
(1) Не, форма обработки с ТабличнымПолем1, у которого источник данных РегистрНакопленияСписок.ИмяРегистра
5 bolobol
 
22.05.14
14:26
Правильно ли я понял, что имея только Поле вывода данных нужное мне не провернуть таким способом?
6 Михаил Козлов
 
22.05.14
14:32
(5) Можете попробовать с ЭлементыФормы.ТабличноеПоле1.Значение.
7 bolobol
 
22.05.14
16:03
(6) Попробовали, тоже пусто. Но хоть отбор установить даёт)
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший