Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Волшебство программирования на 1С:Предприятие 7.7 и 8.0 . Выпуск 72


Информационный Канал Subscribe.Ru

Волшебство программирования на 1С:Предприятие 7.7 и 8.0
Выпуск 72 / 18.09.2004

Здравствуйте, уважаемые подписчики.

Новый проект - "Будни по 8.0"

Каждый день в платформе 1С:Предприятие 8.0 открываются новые неизведанные возможности, возможно находятся баги, обнаруживаются особенности функционирования системы. Предлагаю делиться этими знаниями с общественностью на форуме www.forum.mista.ru.

То, что я предлагаю, это не обычные ветки форума, когда кто-то задает вопрос, а другой на него отвечает. Можно сказать, что ветку начинает отвечающий, рассказывая об интересной особенности 8.0. Больше всего это похоже на 1С:Будни http://gendin.ru/budni/index.html  (по 7.7)

Я предлагаю поучаствовать вам в новом проекте - "Будни по 8.0". Все, что для этого нужно - это читать рассылку и по возможности делиться своими открытиями на форуме.

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


v8: Будни: Отбор строк табличной части

Часто возникает задача показать только нужные строки в табличной части документа или справочника (или другого объекта). Для этого можно использовать замечательное свойство ОтборСтрок, которое входит в расширение табличного поля, связанного с табличной частью.

Использовать его очень просто:

//установить отбор
ЭлементыФормы.ИмяТабПоля.ОтборСтрок.Колонка1.Установить(ЗначениеОтбора);

//отключить отбор
ЭлементыФормы.ИмяТабПоля.ОтборСтрок.Колонка1.Установить(,Ложь);

или 2-й вариант:

ЭлементыФормы.ИмяТабПоля.ОтборСтрок.Колонка1.Использование = Истина;
ЭлементыФормы.ИмяТабПоля.ОтборСтрок.Колонка1.ВидСравнения = ВидСравнения.Равно;
ЭлементыФормы.ИмяТабПоля.ОтборСтрок.Колонка1.Значение = ЗначениеОтбора;

А теперь конкретные примеры:

--------
//выбрать строки с ценой = 100
ЭлементыФормы.тпТовары.ОтборСтрок.Цена.Установить(100);

--------
//выбрать строки с ценой 100 и опр. валютой
ЭлементыФормы.тпТовары.ОтборСтрок.Валюта.Установить(ВалютаУпр);
ЭлементыФормы.тпТовары.ОтборСтрок.Цена.Установить(200);

--------
//выбрать строки с ценой >= 100 (неравенство)
ЭлементыФормы.тпТовары.ОтборСтрок.Цена.Использование = Истина;
ЭлементыФормы.тпТовары.ОтборСтрок.Цена.ВидСравнения = ВидСравнения.БольшеИлиРавно;
ЭлементыФормы.тпТовары.ОтборСтрок.Цена.Значение = 100;

--------
//выбрать строки с ценой от 100 до 200 (интервал)
ЭлементыФормы.тпТовары.ОтборСтрок.Цена.Использование = Истина;
ЭлементыФормы.тпТовары.ОтборСтрок.Цена.ВидСравнения = ВидСравнения.Интервал;
ЭлементыФормы.тпТовары.ОтборСтрок.Цена.ЗначениеС = 100;
ЭлементыФормы.тпТовары.ОтборСтрок.Цена.ЗначениеПо = 200;

--------
//выбрать строки с определенными товарами по списку

ЭлементыФормы.тпТовары.ОтборСтрок.Товар.Использование = Истина;
ЭлементыФормы.тпТовары.ОтборСтрок.Товар.ВидСравнения = ВидСравнения.ВСписке;
ЭлементыФормы.тпТовары.ОтборСтрок.Товар.Значение.Добавить(Товар1);
ЭлементыФормы.тпТовары.ОтборСтрок.Товар.Значение.Добавить(Товар2);
--------

Подчиненные табличные части в 8.0

С помощью свойства ОтборСтрок можно реализовать подчиненные (связанные) табличные части. При смене текущей строки в первой табличной части вторая табличная часть показывает только связанную информаци. Например, таким образом можно реализовать работу с комплектами: 1-я таб. часть - комплекты, вторая - состав комплекта.

Во второй табличной части должна быть колонка - идентификационный признак, связывающий ее с первой табличной частью. Таких колонок может быть несколько (составной ключ);

В событии ПриАктивизацииСтроки для первого табличного поля пишем:

ЭлементыФормы.СоставКомплекта.ОтборСтрок.Комплект.Установить(Комплект);

При добавлении новой строки во вторую табличную часть, нужно следить за тем, чтобы идентификационная колонка была установлена.

-----------
Обращаю ваше внимание, что при таком отборе не используются индексы и для больших табличных частей возможно замедление работы.

Еще раз напомню, что ОтборСтрок входит в расширение табличного поля табличной части, т.е. табличное поле должно быть связано с табличной частью. Если же оно связано с динамическим списком типа СправочникСписок, то здесь нужно использовать свойство Отбор для объекта типа СправочникСписок.

Вы можете оставить свое замечание по этому будню в этой ветке:
http://www.forum.mista.ru/topic.php?id=10066


См. также:
1С:Предприятие 7.7: учебник, курс лекций, статьи, ссылки
Книга "Разработка в системе 1С:Предприятие 8.0" - http://www.v8.1c.ru/book/v8develop.htm

Официальный сайт рассылки - www.mista.ru
Волшебный форум -
www.forum.mista.ru,
Форум по 1С - http://www.forum.mista.ru/index.php?forum=1c
Архив выпусков этой рассылки - http://www.mista.ru/subscribe

Новое!
Раздел форума по 8.0 -
http://www.forum.mista.ru/index.php?forum=1c&v8=1

С уважением,
Станислав Митичкин (Волшебник)
stasmit@mail.ru



http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.magic1c
Отписаться

В избранное