Имя: Пароль:
1C
 
Как отобразить только одну предопределённую группу со списком элементов
,
0 Falanger
 
15.08.17
10:00
Здравствуйте, подскажите пожалуйста кто знает
Ситуация такая. Есть форма списка с предопределёнными группами группа 1, группа2, группа3  в которых содержатся элементы группы Элемент1Группы1, Элемент2Группы1 и так далее. Заказчик изъявил желание чтобы в  командном интерфейсе была ссылка сразу на форму списка, где содержится Группа1 и все её элементы, остальных групп не видно. Про создание команды понятно и обращение к предопределённому элементу тоже понятно. Но не удаётся открыть форму (ОткрытьФорму()), именно на необходимой группе и чтобы остальных видно не было.
Заранее спасибо
1 aleks_default
 
15.08.17
10:08
Режим просмотра поставь  - иерархический список
2 Falanger
 
15.08.17
10:13
Режим и так иерархарический, но по нажатии на ссылку ты попадаешь на форму.списка - где видны все группы и соответственно элементы(когда в них тыкаешь). А заказчик хочет, что его сотрудникам не нужно было тыкать в группу, а по ссылке сразу попадал в группу с элементами.
ссылкаГруппа1 - попадаешь в Группу1 с Элементами1,2,3
ссылкаГруппа2 - попадаешь в Группу2 с Элементами1,2,3
3 h-sp
 
15.08.17
10:17
(2) ну там поставь галку выводить только элементы. Какая вообще конфа?
4 Falanger
 
15.08.17
10:20
(3) где поставь? Конфа, Росреестр
5 Falanger
 
15.08.17
10:22
а программно можно написать, точно не будет возможности каждому пользователю отдельно настраивать на месте
6 Вафель
 
15.08.17
10:26
ТекущийРодитель
7 Falanger
 
15.08.17
10:31
(6) да я так и думал, про ТекущийРодиель, но недогадываюсь как код написать
8 Falanger
 
15.08.17
10:36
Хотя он не текущий, я его должен задать в команде, только не пойму он текущий или жёстко это надо делать
9 r_i_n_i_k
 
15.08.17
11:23
Список какой тип имеет - динамический список?
10 r_i_n_i_k
 
15.08.17
11:23
управляемые формы то хоть или обычные?
11 Falanger
 
15.08.17
12:16
формы управляемые, список да(( тоже динамический
12 Falanger
 
15.08.17
12:18
Прочитал, что правда нужно выражать через текущего родителя. Пытаюсь понять как правильно закодить это дело. Если знаете как подсказать, уже примного благодарен.)
13 aleks_default
 
15.08.17
12:27
ПриСозданиинаСервере

Элементы.Список.ТекущийРодитель = Справочники.ТвойСправочник.ТвойПредопределенныйЭлемент;
14 Falanger
 
15.08.17
13:57
Пробовал
<<?>>Элементы.Список.ТекущийРодитель = Справочники.ТвойСправочник.Раздел11; (Проверка: Сервер)
{ОбщаяКоманда.ЗемельныеУчасткиСоздать.МодульКоманды(22,2)}: Переменная не определена (Элементы)
15 Falanger
 
15.08.17
14:13
Не видит переменной. По разному пробовал
16 Falanger
 
15.08.17
14:13
Что-то не так делаю
17 Franchiser
 
гуру
15.08.17
14:17
Эта форма.Элементы..
18 aleks_default
 
15.08.17
14:46
Форма точно управляемая?
19 aleks_default
 
15.08.17
14:47
Постой, причем тут Общая команда? Ты куда этот код воткнул, лишенец?
20 Имитация работы
 
15.08.17
14:49
(0) Итак, вторая серия.
Что означает "ОткрытьФорму()), именно на необходимой группе и чтобы остальных видно не было."?
21 Имитация работы
 
15.08.17
14:56
(19) Там все правильно, читай предысторию
22 aleks_default
 
15.08.17
15:16
(21)Прочитал.
Все равно не туда воткнул.
(13)в ПриСозданииНаСервере пишешь Если Параметры.Свойство("Группа") Тогда Элементы.Список.ТекущийРодитель = параметры.Группа; КонецЕсли;

В твоей общей команде пишешь
ПараметрыФормы = Новый Структура("Группа", Справочники.ТвойСправочник.ТвойПредопределенныйЭлемент);

ОткрытьФорму("Справочник.ЗемельныеУчастки.ФормаЭлемента",ПараметрыФормы,)
Хотя вот название твоей команды ЗемельныеУчасткиСоздать говорит о том что ты хочешь не то что пишешь в (0).
23 Falanger
 
15.08.17
15:17
Да, добрый день, серия точно 2. Интерактивно поступающие директивы и по ходу изменения))
(20) ОтрытьФорму() - это мы раньше использовали, для доступа к ФормеЭлмемента. Заменяя её на форму списка, конечно открывается форма с группами и элементами.
Да нужно чтобы открывалась форма с необходимой группой и её элементами, так же по ссылке общей команды.
читал, что реализуется через текущийРодитель, но не могу правильно написать код. Всё время ругается или не работает
24 Falanger
 
15.08.17
15:21
(22) Сейчас попробую написать, спасибо
и наверно точно надо было "Группа" писать,
26 Falanger
 
15.08.17
15:24
Извиняюсь, моя вина, плохо объясняюсь ,исправлюсь, попробую снова, по русски)
27 Falanger
 
15.08.17
15:31
нужно
ссылка в командном меню - (например)земельные участки
попадаем на форму списка - где есть только одна группа(она предопределённая) - земельные участки, а в ней список элементов (так хочет заказчик), больше никаких групп не видно. (Видно у них работники могут только один раз на кнопку жать ,больше сил не хватает),
а сейчас: попадая на форму списка там есть группы - 1.земельные участки,2.здания,3.космические объекты и т.д. Их все видно и мы их используем.
28 Имитация работников
 
15.08.17
15:36
Ну все, сиди без решения (:

Дядька Стас не в настроении, наверное что-то неприятное вспомнил
29 _stay true_
 
15.08.17
15:39
(27) Связь по типу не предлагать?
30 Falanger
 
15.08.17
15:40
(28) ну вооот...., на мой кусочек настроение, оно кстати вполне катит, хотя его конечно подбешивает что не получается, но оно крепкое спокойное, танки точно буксуют на нём)))
31 Falanger
 
15.08.17
15:42
(29) почему? у меня превращателя нет конечно, но в губку по любому надо обратиться. Впитывать знаний по больше, по больше и таблеток от жадности)))
32 Falanger
 
15.08.17
15:42
всё предлагать
33 _stay true_
 
15.08.17
15:47
(29) Если интересно г...кодерское решение, держи злючую костылину:
СписокОтбора = Новый Список Значений;
//Засунешь свои данные туда сам если надо.
ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
                
                ЭлементОтбора.ЛевоеЗначение        = Новый ПолеКомпоновкиДанных("ТвоёПолеИличтоУтебяТам");
                ЭлементОтбора.ВидСравнения        = ВидСравненияКомпоновкиДанных.ВСпискеПоИерархии;
                ЭлементОтбора.ПравоеЗначение = СписокОтбора;
                ЭлементОтбора.Использование        = Истина;
34 _stay true_
 
15.08.17
15:48
(32) Это программный отбор в дин.списке. Пихай в "ПриСозданииНаСервере"
35 Имитация работников
 
15.08.17
15:55
(30) Подозреваю, что тебе надо что-то типа такого:

В обработке команды:

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    
    НужнаяГруппа = ПредопределенноеЗначение("Справочник.Справочник1.Группа1");
    
    ПараметрыСписка = Новый Структура;
    ПараметрыСписка.Вставить("РодительВерхнегоУровня", НужнаяГруппа);
    ПараметрыСписка.Вставить("ТекущийРодитель",        НужнаяГруппа);
    
    ПараметрыФормы = Новый Структура;
    ПараметрыФормы.Вставить("ПараметрыСписка", ПараметрыСписка);
    
    ОткрытьФорму("Справочник.Справочник1.ФормаСписка", ПараметрыФормы, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно, ПараметрыВыполненияКоманды.НавигационнаяСсылка);
    
КонецПроцедуры


В форме списка:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    Если Параметры.Свойство("ПараметрыСписка") Тогда
        ЗаполнитьЗначенияСвойств(Элементы.Список, Параметры.ПараметрыСписка)
    КонецЕсли;
    
КонецПроцедуры
36 Falanger
 
15.08.17
16:21
(35)Имитация работников: спасибо, очень помогли работает, эх хочу столько же знаний, а чаще и логики
37 Falanger
 
15.08.17
16:21
(33)  _stay true_ - другую группу пробую сделать Вашим вариантом, но не совсем понял("ТвоёПолеИличтоУтебяТам") - в каком виде писать, не хочет оно его есть.
Справочник.Справочник1.предопределённоеИмя - так?
38 Falanger
 
16.08.17
09:53
Доброе утро! Если кто не против дать ещё немного разъяснений, заранее большое спасибо.
(35) Работает как положено и что собственно хотели, но наши капризные друзья совсем решили не дать покоя.))))
Теперь как и положено идёт обращение к необходимой группе и видно только её и список её элементов.
Вопроса встало 2: 1.сейчас видно папку группы и её элементы, как исключить видимость папки группы(чтобы было видно только её элементы)?
И 2-й: Так как групп несколько ,то получается если открыл (по ссылке общей команды) одну группу, то вторую не откроешь(по ссылке другой общей команды,другая группа этого же справочника),пока не закроешь уже открытую группу
Вы уж простите ,что столько спрашиваю, но очень ваша  помогает учиться.
39 Falanger
 
16.08.17
09:57
помощь*
40 aleks_default
 
16.08.17
10:10
(38) 1. Это бред.
2. Сделай кнопки отборов для каждой группы прямо в форме списка справочника.
41 Falanger
 
16.08.17
10:20
(39) 1. Я бы с вами согласился, что это бред, но заказчик как я понял упёртый (хочу и всё). мне тогда необходимы веские обоснования.
2. Не совсем понял, что нужно сделать. Там по предистории у меня ссылки (общих команд) в командном интерфейсе
42 Falanger
 
16.08.17
10:20
(40)
43 Falanger
 
16.08.17
10:23
(40) Да и я ваш метод (который вы вчера предлагали) с разных сторон покрутил, но почему-то результата не добился. "Группа" совсем не хочет отрабатывать
Не исключаю конечно, что я не так всё делаю, но я старался внимательно и через отладчик
44 aleks_default
 
16.08.17
10:35
Мой метод работает, там единственное на клиенте надо по-другому получить предопределенную группу
ПараметрыФормы = Новый Структура("Группа",ПредопределенноеЗначение("Справочник.ТвойСправочник.ТвойПредопределенныйЭлемент");

По поводу отборов. Делаешь в форме спика процедуру с входящим параметром Группа, внутри которой выполняется отбор списка по этой группе(функционал тебе уже написали), или установка текущего родителя, а на форму кинь три команды(три кнопки), которые будут вызывать эту процедуру с передачей туда нужной группы. Соответственно первый раз открыть форму с установленным отбором можно из любой общей команды, а переключаться на другие группы можно будет уже в самой форме списка по этим кнопкам.
45 Falanger
 
16.08.17
10:43
я сейчас обязательно ваш метод покручу, вставлю чтобы работал(просто самому интересно и поучительно)и так же попробую с командами на форме (интересно на будущее), но заказчик в формах не хочет никуда переключаться, ему надо ссылка - попал на форму, ссылка - попал на форму.и т.д.
46 aleks_default
 
16.08.17
11:37
(45)Ну и так можно, как хочет заказчик.
Вообще-то изначально так и должно было работать. Вот это твое утверждение "Так как групп несколько, то получается если открыл (по ссылке общей команды) одну группу, то вторую не откроешь(по ссылке другой общей команды, другая группа этого же справочника),пока не закроешь уже открытую" -не верно. Если формы открывать в немодальном режиме, то можно открыть сколько угодно форм одного справочника. Можно также искать уже открытые формы и активизировать их.