Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 мар 2024, 04:47

как узнать видны ли строки в отборе

Автор Sanz, 03 дек 2014, 14:17

0 Пользователей и 1 гость просматривают эту тему.

Sanz

На форме документа есть табличная часть "ПодчиненныеЗадачиТаблица" (тип значения ДокументСписок).
В ней осуществляется отбор:
отборПЗ=ПодчиненныеЗадачиТаблица.Отбор;
ОтборПЗ.объект.Значение=ссылка;
ОтборПЗ.объект.использование = Истина;

Мне нужно узнать есть ли в этом поле отобранные строки (если нет, то я сделаю таблицу невидимой).
Пыталась сделать перебором, но на - Для Каждого Строка ИЗ ПодчиненныеЗадачиТаблица Цикл - выдает ошибку Итератор для значения не определен.
Подскажите, пожалуйста, как мне узнать отображается в списке строка отбора или нет?

Sanz

Ребята, неужто никто не подскажет? Может хоть идеи есть?

KrivosheevEV

Цитата: Sanz от 04 дек 2014, 09:34
Ребята, неужто никто не подскажет? Может хоть идеи есть?

Есть идея: Остановиться перед циклом (точка останова ставится клавишей F9) и посмотреть (Shift+F9) что же всё таки храниться в "ПодчиненныеЗадачиТаблица". Пробежаться по содержимому и найти нужную коллекцию.

Sinsinmin

Может

Если ОтборПЗ.Количество() = 0 тогда
    ПодчиненныеЗадачиТаблица.Видимость = Ложь;
КонецЕсли;   

Sanz

Не катит, пробовала - при помощи сообщить (сообщить (ОтборПЗ.Количество()); посмотрела что выдает - выдает "32", будь там 2 строки в отборе или совсем без них :(

Kironten

Ну попробуйте отследить заполнение этого списка, он ведь формируется на основе запроса с определенным отбором. ПриОктрытии там, или обработчики отборов.
А вообще, как по мне, то нерациональная задача. ДокументСписок и предназначен, для вывода результата отбора. Если НЕТ элементов по отбору, ну и пусть видно, что их нет, чего лишние телодвижения по интерфейсу делать?

Sanz

Цитата: Kironten от 04 дек 2014, 17:12
Ну попробуйте отследить заполнение этого списка, он ведь формируется на основе запроса с определенным отбором. ПриОктрытии там, или обработчики отборов.
А вообще, как по мне, то нерациональная задача. ДокументСписок и предназначен, для вывода результата отбора. Если НЕТ элементов по отбору, ну и пусть видно, что их нет, чего лишние телодвижения по интерфейсу делать?
Документ - задачи. Если у него есть дочерние задачи нужно чтобы их было видно, если их нет - то мои пользователи просят чтоб я даже страницу из видимости убрала "чтоб не сбивало"))

Kironten

Ну, чтобы не копаться - сделайте еще запрос как раз по вашему условию. Т.е. на задачи, которые являются дочерними текущей, и если выборка.пустая() тогда убирайте видимость элемента формы.
А так, если пользователь хочет, это еще не значит, что он прав. Возможно в перспективе, это вам больше проблем создаст, нежели его нежелание видеть пустое окно.

Sinsinmin

Построитель=Новый ПостроительОтчета;
Построитель.ИсточникДанных=Новый ОписаниеИсточникаДанных(ДокументСписок);
Выборка=Построитель.Результат.Выбрать();
Количество = Выборка.Количество();

Sanz

Цитата: Sinsinmin от 05 дек 2014, 08:34
Построитель=Новый ПостроительОтчета;
Построитель.ИсточникДанных=Новый ОписаниеИсточникаДанных(ДокументСписок);
Выборка=Построитель.Результат.Выбрать();
Количество = Выборка.Количество();

Sinsinmin, нет слов! Спасибо!!! :)

Похожие темы (5)

Рейтинг@Mail.ru

Поиск