Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
18 Дек 2017, 02:06
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Фильтр в Справочнике  (Прочитано 2868 раз)

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

Оффлайн Dima09

  • *
  • Сообщений: 23
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-02-01
  • Сайт: 
  • Профессия: Программист 7.7
Доброе время суток вот такой вопрос, хочу сделать фильтр в справочнике вот код :
 Процедура Фильтр()
    СписОтбора= СоздатьОбъект("СписокЗначений");
    Спр= создатьОбъект("Справочник.Продажа");
    спр.выбратьэлементы();
    Пока Спр.ПолучитьЭлемент() = 1 Цикл
        Если (СокрЛП(Спр.ТекущийЭлемент().Статус)= ст) Тогда
            СписОтбора.ДобавитьЗначение(Спр.ТекущийЭлемент());
        КонецЕсли;
    КонецЦикла;
    ИспользоватьСписокЭлементов(СписОтбора);
КонецПроцедуры
ст - это реквезит диалого у которого тип перечесления.статус
при нажатии на кнопки исчезает все из справочника, в чем ошибка ?


Оффлайн Herby

  • *****
  • Сообщений: 936
  • РЕПУТАЦИЯ: 164
  • КПД: 18%
  • Регистрация: 2010-08-31
  • Сайт: 
  • Профессия: Программист 7.7
 Если (СокрЛП(Спр.ТекущийЭлемент().Статус)= ст) Тогда

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

Условие должно быть таким:
 Если Спр.Статус = ст Тогда

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

Оффлайн Dima09

  • *
  • Сообщений: 23
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-02-01
  • Сайт: 
  • Профессия: Программист 7.7
 Если (СокрЛП(Спр.ТекущийЭлемент().Статус)= ст) Тогда

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

Условие должно быть таким:
 Если Спр.Статус = ст Тогда

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

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


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
133 Сообщений
ilyay ilyay
63 Сообщений
AIFrame
61 Сообщений
alex0402
50 Сообщений
andron81_81
44 Сообщений
oleg-x
41 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
27 Сообщений
alexandr_ll
23 Сообщений

* Кто онлайн

  • Точка Гостей: 171
  • Точка Скрытых: 0
  • Точка Пользователей: 0

Нет пользователей онлайн.

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal