Есть многострочная часть
Там размещенны реквизиты справочника
хотелось бы в многострочной части из справочника показывать только те строки где соблюдены условия
например:
Если Колличество>1
4andriy @ Вчера, 21:41
,
ИспользоватьСписокЭлементов(<СписокЗначений>)
Назначение:
Реализует фильтрацию элементов справочника, используя нединамический фильтр.
Параметры:
<СписокЗначений> - необязательный параметр. Значение типа - ''СписокЗначений'' - должен представлять собой список элементов справочника, выбранных для просмотра. Если это значение пустое, то фильтр отключается.
Замечание:
Метод доступен только в контексте Модуля формы списка справочника и относится ко всему текущему справочнику.
Процедура Показать()
СписокЭлементов = создатьОбъект("СписокЗначений");
Пока Контрагенты.ИНН() Цикл
Если (ИНН = 0)
Тогда
СписокЭлементов.ДобавитьЗначение(ИНН.ТекущийЭлемент());
КонецЕсли;
КонецЦикла;
ИспользоватьСписокЭлементов(СписокЭлементов);
КонецПроцедуры
! | https://pro1c.org.ua/index.php?act=announce&id=2: 9 |
4andriy @ Сегодня, 18:00
,
Вообще-то этот код лучше записать в процедуру ПриОткрытии() формы,
где расположена табличная часть справочника.
Реквизит ИНН какого типа ? Числовой или строковый ?
Количество элементов в списке проверяли? Может список значений пуст ?
Сколько уровней в справочнике ?
Примерно такой код:
Процедура Показать()
СписокЭлементов = создатьОбъект("СписокЗначений");
Контрагенты=СоздатьОбъект("Справочники.Контрагенты");
Контрагенты.ВыбратьЭлементы();
Пока Контрагенты.ПолучитьЭлемент()=1 Цикл
Если Контрагенты.ИНН=0 Тогда
СписокЭлементов.ДобавитьЗначение(Контрагенты.ТекущийЭлемент());
КонецЕсли;
КонецЦикла;
ИспользоватьСписокЭлементов(СписокЭлементов);
КонецПроцедуры
andrew76 @ Сегодня, 17:24
,
сделал так:
Процедура Показать()
СписокЭлементов = СоздатьОбъект("СписокЗначений");
Контрагенты=СоздатьОбъект("Справочник.Контрагенты");
Контрагенты.ВыбратьЭлементы();
Пока Контрагенты.ПолучитьЭлемент()=1 Цикл
Если Контрагенты.ИНН="0" Тогда
СписокЭлементов.ДобавитьЗначение(Контрагенты.ТекущийЭлемент());
КонецЕсли;
КонецЦикла;
ИспользоватьСписокЭлементов(СписокЭлементов);
КонецПроцедуры
4andriy @ Сегодня, 18:28
,
Так если у Вас ИНН точно строка то там скорее пусто а не ноль?
Если Контрагенты.ИНН="" Тогда
volodya1122 @ Сегодня, 21:15
,
я специально прописывал 0
если делаю "" то все-равно пропадают все значения из таблицы
Странно как-то фильтр работает.А если ИНН временно в числовой формат перевести (ради эксперимента)?
andrew76 @ Сегодня, 3:35
,
в числовом работает, строковую не находит
но, почему-то появились какие-то значки каталога со знаком вопроса в начале выборки
! | https://pro1c.org.ua/index.php?act=announce&id=2: 8 |
4andriy @ Сегодня, 12:14
,
Попробуйте такое условие
Если ПустаяСтрока(Контрагенты.ИНН)=1 Тогда
volodya1122 @ Сегодня, 13:33
,
тоже об этом думал
а кто знает что за значения с знаками вопроса?
ИерархическийСписок(0,1);
volodya1122 @ Вчера, 15:08
,
все работает, только пропадает сортировка, если перейти в действие - сортировка то тоже не активно.
пробовал:
Сортировка(Контрагенты.ИНН);
volodya1122 @ Сегодня, 10:54
,
1. не пошло
2. включил
3. понятно
4. порядокреквизита("ИНН") поставил до выбрать елемент и результат 0.
может програмно сделать сорировку?
Сортировка("ИНН");
ПорядокРеквизита("ИНН");
Контрагенты.ВыбратьЭлементы();
Контрагенты.ПорядокРеквизита("ИНН");
Контрагенты.ВыбратьЭлементы();
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua