Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Структура. Отбор по заполненному значению - реально?
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
Inkognito
Управляемые формы. БП 2.0
Необходимо из табличной части, не обращаясь на сервер (фильтр на клиенте), выполнить поиск строк, в которых заполнено поле "Документ"
Но как сделать проверку на заполненное поле в структуре?
Структура = Новый Структура; 
//вариант1: Структура.Вставить("Документ", ЗначениеЗаполнено(Документ));
//вариант2: Структура.Вставить("Документ", Документ <> Документы.РегистрацияВходящегоНалоговогоДокумента.Пустая());

Не работает. Можно конечно вызывать серверную процедуру/функцию поиска Запросом на сервере, но это на крайний случай...
TipsyKID
Варианты:

1. Добавить вспомогательное поле "ДокументЗаполнен", тип булево, предусмотреть его заполнение (предполагаю на сервере).
2. В обычном цикле пройтись по табличной части и насобирать строки у которых заполнен документ.

Желательно б уточнить, для чего собираются строки (если для визуального отбора на форме, то лучше такое делать через "Условное оформление"
Inkognito
TipsyKID @ Сегодня, 9:35 необходимо зарегистрироваться для просмотра ссылки ,
Делается для вывода в подвале количества существующих документов:
Всего: Х
Существуют: У
Вот переменную У и ищем. Условное оформление для этой цели и не подумал. Спасибо, попробую (хотя первый вариант мне кажется более простым в реализации).
Bernet
Inkognito @ Сегодня, 9:23 необходимо зарегистрироваться для просмотра ссылки ,
если не ошибаюсь когда-то делал так:
Элементы.МояТаблица.ОтборСтрок.МояКолонка.ВидСравнения = ВидСравнения.НеРавно;
Элементы.МояТаблица.ОтборСтрок.МояКолонка.Значение = ПредопределенноеЗначение("Документ.МойДокумент.ПустаяСсылка");
Элементы.МояТаблица.ОтборСтрок.МояКолонка.Использовать = Истина;
logist
Цитата(Bernet @ 30.05.17, 10:12) необходимо зарегистрироваться для просмотра ссылки
если не ошибаюсь когда-то делал так:

Это отбор строк для отображения, а нужен подсчет.

Как вариант это так:
СтрокиГдеДокументНеЗаполнен = Объект.ТабличнаяЧасть.НайтиСтроки(Новый Структура("Документ", ПредопределенноеЗначение("Документ.АвансовыйОтчет.ПустаяСсылка")));
КоличествоГдеУказаноДокументы = Объект.ТабличнаяЧасть.Количество() - СтрокиГдеДокументНеЗаполнен.Количество();
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.