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

Автор Тема: Динамическая фильтрация записей в форме списка справочника 1С 8.2  (Прочитано 23318 раз)

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

Оффлайн APMEH19

  • *
  • Сообщений: 13
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-01-24
  • Сайт: 
  • Профессия: Программист 1С
Не получается настроить программно фильтр в 1с 8.2 :(
Замучался в яндексе искать ответ :xfbnsdfb:

Постановка задачи:
Имеется справочник "Процедуры" с реквизитами "Год" (СправочникСсылка.Год) и "Наименование" (строка).
В форме списка добавлен дополнительный реквизит "Год" (СправочникСсылка.Год).
Необходимо, чтобы при изменении дополнительного реквизита "Год" происходила фильтрация в динамическом списке справочника (по аналогии "Все действия/настроить список/Выбираем вкладку отбор и настраиваем фильтрацию).
Никакая задача не покажеться невыполнимой, если разбить ее на маленькие части


Оффлайн progmikon

  • *****
  • Сообщений: 2090
  • РЕПУТАЦИЯ: 371
  • КПД: 18%
  • Регистрация: 2010-10-09
  • Компания: http://progmikon.blogspot.com/
  • Профессия: Программист 1С
а что значит "чтобы при изменении дополнительного реквизита "Год" происходила фильтрация в динамическом списке справочника".

Оффлайн APMEH19

  • *
  • Сообщений: 13
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-01-24
  • Сайт: 
  • Профессия: Программист 1С
Значит, что все элементы элементы справочника, у которых реквизит "год" отличается от выбранного в дополнительном реквизите "Год" значения автоматически скроются.

Дополнительный реквизит "Год", как указано выше, создан в форме списка справочника специально для фильтрации.
Никакая задача не покажеться невыполнимой, если разбить ее на маленькие части

Оффлайн progmikon

  • *****
  • Сообщений: 2090
  • РЕПУТАЦИЯ: 371
  • КПД: 18%
  • Регистрация: 2010-10-09
  • Компания: http://progmikon.blogspot.com/
  • Профессия: Программист 1С
Год - реквизит формы списка.
&НаКлиенте
Процедура ГодПриИзменении(Элемент)
ОтфильтроватьПоГоду(Год);
КонецПроцедуры


&НаСервере
Процедура ОтфильтроватьПоГоду(СсылкаНаГод)
    ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Год");
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    ЭлементОтбора.ПравоеЗначение = СсылкаНаГод;
    ЭлементОтбора.Использование = Истина;
КонецПроцедуры


Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Динамический список на основе запроса.
У запроса задаете параметр - &Год.

Далее в событии  РеквизитГодПриИзменении:

Список.Параметры.УстановитьЗначениеПараметра("Год", РеквизитГод);
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн APMEH19

  • *
  • Сообщений: 13
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-01-24
  • Сайт: 
  • Профессия: Программист 1С
Получилось!!!
Спасибо Вам большое Progmikon, и всем откликнувшимся. Пол дня промучался...
Никакая задача не покажеться невыполнимой, если разбить ее на маленькие части

Оффлайн APMEH19

  • *
  • Сообщений: 13
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-01-24
  • Сайт: 
  • Профессия: Программист 1С
Нет, проблема не до конца решена.
Каждый раз при изменении доп. реквизита "Год", добавляется условие, а предыдущее не удаляется.
Я попробовал добавить строчку для сброса, но при работе кода появляется сообщение об ошибке (метод "сбросить" не найден).

&НаСервере
Процедура Фильтрация(Год)
Список.Отбор.Сбросить();   
ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));      
...
КонецПроцедуры

P.S. после "." в "Список.Отбор." выбор каких - либо свойств или методов НЕ предлагается, (Хотя до этого "отбор" был выбран из выпадающего списка). Это нормально?
Никакая задача не покажеться невыполнимой, если разбить ее на маленькие части

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Это нормально. Бывает после точки ничего не выпадает, а вручную напишешь - и работает!
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Вместо отбора попробуйте все-таки параметром к запросу...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн progmikon

  • *****
  • Сообщений: 2090
  • РЕПУТАЦИЯ: 371
  • КПД: 18%
  • Регистрация: 2010-10-09
  • Компания: http://progmikon.blogspot.com/
  • Профессия: Программист 1С
Попробуйте через
Список.Отбор.Элементы.Очистить();
Вставьте в начало процедуры "Процедура ОтфильтроватьПоГоду(СсылкаНаГод)".
Но опять же, это если вы принципиально  не хотите использовать "произвольный запрос". Лично я бы сделал, как предложил cska-fanat-kz хотя бы по тому, что это короче.
Хотя нужно признать, что знание обоих подходов не лишнее.


Теги:
 

Как вызвать "Анализ субконто" из справочника "Контрагенты"

Автор EnigManРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 6494
Последний ответ 06 Фев 2012, 10:46
от cska-fanat-kz
Заполнение поля табличной части документа из табличной части справочника.

Автор Kurt_WagnerРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 4198
Последний ответ 06 Апр 2015, 20:08
от Kurt_Wagner
Заполнение табличной части документа реквизитами табличной части справочника

Автор kaf_infoРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 622
Последний ответ 10 Май 2017, 20:44
от ilnur75
Как сделать, чтобы поле в документе имело тип "ссылка на поле справочника"?

Автор друганРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 2032
Последний ответ 05 Мар 2017, 14:36
от Igor100500
Работа с формой Справочника "Физ.Лица" в ЗУП 2.5

Автор Митя_Просто_МитяРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 3889
Последний ответ 15 Дек 2011, 00:04
от Vit1501

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
179 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
39 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 324
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal