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

Фильтр в Справочнике

Автор Dima09, 02 апр 2013, 05:38

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

Dima09

Доброе время суток вот такой вопрос, хочу сделать фильтр в справочнике вот код :
Процедура Фильтр()
    СписОтбора= СоздатьОбъект("СписокЗначений");
    Спр= создатьОбъект("Справочник.Продажа");
    спр.выбратьэлементы();
    Пока Спр.ПолучитьЭлемент() = 1 Цикл
        Если (СокрЛП(Спр.ТекущийЭлемент().Статус)= ст) Тогда
            СписОтбора.ДобавитьЗначение(Спр.ТекущийЭлемент());
        КонецЕсли;
    КонецЦикла;
    ИспользоватьСписокЭлементов(СписОтбора);
КонецПроцедуры

ст - это реквезит диалого у которого тип перечесления.статус
при нажатии на кнопки исчезает все из справочника, в чем ошибка ?

Herby

Цитата: Dima09 от 02 апр 2013, 05:38

Если (СокрЛП(Спр.ТекущийЭлемент().Статус)= ст) Тогда


проблема в этой строчке. ст - значение перечисления, а в левой части условия вы переводите статус в текст, и пытаетесь сравнить текст с перечислением. эта два разных типа и это условие никогда не вполнится.

Условие должно быть таким:

Если Спр.Статус = ст Тогда


и не забывайте объявлять переменные, это признак непрофессиональности.

Dima09

Цитата: Herby от 02 апр 2013, 08:59
Цитата: Dima09 от 02 апр 2013, 05:38

Если (СокрЛП(Спр.ТекущийЭлемент().Статус)= ст) Тогда


проблема в этой строчке. ст - значение перечисления, а в левой части условия вы переводите статус в текст, и пытаетесь сравнить текст с перечислением. эта два разных типа и это условие никогда не вполнится.

Условие должно быть таким:

Если Спр.Статус = ст Тогда


и не забывайте объявлять переменные, это признак непрофессиональности.

Спасибо все получилось.

Теги:

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

Рейтинг@Mail.ru

Поиск