Связь Списка с Деревом в Форма в 8.2
03.10.11, 11:00
Ветеран
Группа: Местный
Сообщений: 824
Из: Запорожье
Спасибо сказали: 145 раз
Рейтинг: 0
Цитата(logist @ 03.10.11, 11:44)
Ткните пальцем где там такое есть, не нашел.
Свойства списка (на форме), раздел "Использование" последний пункт.
----------------------------------------------------------------------------------- Единственный, интуитивно понятный интерфейс - мамкина сиська! Всему остальному надо учиться! (с) Не знаю кто....
03.10.11, 11:40
Оратор
Группа: Пользователи
Сообщений: 258
Из: Київ
Спасибо сказали: 12 раз
Рейтинг: 0
Цитата(DartRomanius @ 03.10.11, 11:39)
В списке... "Связь по родителю"
В версии 8.2 "Связь по родителю" нет
Цитата(logist @ 03.10.11, 11:36)
В событии Выбор у Дерева прописать нужный отбор для Списка?
Именно таким путём и пошол сделаю выложу
Вот черновой вариант
&НаКлиенте Процедура ДеревоПриАктивизацииСтроки(Элемент) СписокПрайсЛист.Отбор.Элементы.Очистить(); ОтборСписка1 = СписокПрайсЛист.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборСписка1.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Родитель");; ОтборСписка1.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ОтборСписка1.ПравоеЗначение = РаботаСПрайсЛистом.ПолучитьРодителяПоКоду(Элементы.Дерево.ТекущиеДанные.Код); ОтборСписка1.Использование = Истина; ОтборСписка2 = СписокПрайсЛист.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборСписка2.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ЭтоГруппа");; ОтборСписка2.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ОтборСписка2.ПравоеЗначение = Ложь; ОтборСписка2.Использование = Истина; КонецПроцедуры
04.10.11, 11:29
Оратор
Группа: Пользователи
Сообщений: 258
Из: Київ
Спасибо сказали: 12 раз
Рейтинг: 0
Цитата(DartRomanius @ 03.10.11, 15:46)
Согласен. Туплю.
Разобрался с этим вопросом можно поступить 2 способами
1 С помощью Отбора оно работет дольше
2 Можно для реквизита Список зделать произвольній запрос
например
ВЫБРАТЬ СправочникПрайсЛист.Ссылка, СправочникПрайсЛист.ВерсияДанных, СправочникПрайсЛист.ПометкаУдаления, СправочникПрайсЛист.Предопределенный, СправочникПрайсЛист.Родитель, СправочникПрайсЛист.ЭтоГруппа, СправочникПрайсЛист.Код, СправочникПрайсЛист.Наименование, СправочникПрайсЛист.Уточнение, СправочникПрайсЛист.ЦенаОпт, СправочникПрайсЛист.Цена, СправочникПрайсЛист.Валюта, СправочникПрайсЛист.Производитель, СправочникПрайсЛист.НомерНаУпаковке, СправочникПрайсЛист.НомерОсновной, СправочникПрайсЛист.Код1, СправочникПрайсЛист.Код2, СправочникПрайсЛист.Код3, СправочникПрайсЛист.Аналог, СправочникПрайсЛист.ПоисковыйКод, СправочникПрайсЛист.ВозможностьСкидки, СправочникПрайсЛист.МинимальныйЗапас, СправочникПрайсЛист.Поставщик, СправочникПрайсЛист.Примечание, СправочникПрайсЛист.Сортировка ИЗ Справочник.ПрайсЛист КАК СправочникПрайсЛист ГДЕ СправочникПрайсЛист.Родитель.Код = &КодГруппы
И при активизации строки Дерева
&НаКлиенте Процедура ДеревоПриАктивизацииСтроки(Элемент) Если Не Элементы.Дерево.ТекущиеДанные = Неопределено Тогда СписокПрайсЛист.Параметры.УстановитьЗначениеПараметра("КодГруппы", Элементы.Дерево.ТекущиеДанные.Код); КонецЕсли; КонецПроцедуры
30.09.15, 21:56
Оратор
Группа: Пользователи
Сообщений: 258
Из: Київ
Спасибо сказали: 12 раз
Рейтинг: 0
Цитата(хакерок @ 04.10.11, 12:29)
Разобрался с этим вопросом можно поступить 2 способами
1 С помощью Отбора оно работет дольше
2 Можно для реквизита Список зделать произвольній запрос
например
ВЫБРАТЬ СправочникПрайсЛист.Ссылка, СправочникПрайсЛист.ВерсияДанных, СправочникПрайсЛист.ПометкаУдаления, СправочникПрайсЛист.Предопределенный, СправочникПрайсЛист.Родитель, СправочникПрайсЛист.ЭтоГруппа, СправочникПрайсЛист.Код, СправочникПрайсЛист.Наименование, СправочникПрайсЛист.Уточнение, СправочникПрайсЛист.ЦенаОпт, СправочникПрайсЛист.Цена, СправочникПрайсЛист.Валюта, СправочникПрайсЛист.Производитель, СправочникПрайсЛист.НомерНаУпаковке, СправочникПрайсЛист.НомерОсновной, СправочникПрайсЛист.Код1, СправочникПрайсЛист.Код2, СправочникПрайсЛист.Код3, СправочникПрайсЛист.Аналог, СправочникПрайсЛист.ПоисковыйКод, СправочникПрайсЛист.ВозможностьСкидки, СправочникПрайсЛист.МинимальныйЗапас, СправочникПрайсЛист.Поставщик, СправочникПрайсЛист.Примечание, СправочникПрайсЛист.Сортировка ИЗ Справочник.ПрайсЛист КАК СправочникПрайсЛист ГДЕ СправочникПрайсЛист.Родитель.Код = &КодГруппы
И при активизации строки Дерева
&НаКлиенте Процедура ДеревоПриАктивизацииСтроки(Элемент) Если Не Элементы.Дерево.ТекущиеДанные = Неопределено Тогда СписокПрайсЛист.Параметры.УстановитьЗначениеПараметра("КодГруппы", Элементы.Дерево.ТекущиеДанные.Код); КонецЕсли; КонецПроцедуры
В этом примере есть недостаток лучше связь Дерева и Списка делать не по Коду а по Ссылке ... с ссылками платформе лучше работать
Не нашли ответа на свой вопрос?
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!