Имя: Пароль:
1C
1С v8
Вопрос по работе с формой выбора в 1С 8.2 управляемая версия
,
0 Qixis
 
22.10.14
16:36
Есть поле-ссылка в документе на справочник задач. Нужно сделать так, чтоб определенному пользователю в форме выбора данного элемента открывалась только определенная группа задач для выбора из всех находящихся в справочнике задач??? Помогите, с чего начинать копать?
1 EugeniaK
 
22.10.14
16:43
(0) Начать с RLS
2 Qixis
 
22.10.14
16:46
(1) Хорошо, а как тогда разграничить права доступа на уровне данных в справочнике?
3 Euguln
 
22.10.14
16:47
Отбор списка копай.
4 vicof
 
22.10.14
16:48
(0) ГДЕ Пользователь = &Пользователь
5 Vovan1975
 
22.10.14
16:48
ну поскольку я туп то начал бы с "Параметры.Отбор"
6 Qixis
 
22.10.14
16:53
(4) Пользователь в справочнике задач не определен, это не поможет
7 Qixis
 
22.10.14
16:54
(3,5) - попробую и отпишусь ;)
8 vicof
 
22.10.14
16:54
(6) Думаю, Ванге тоже нелегко было с такими, как ТС.
9 Qixis
 
22.10.14
16:56
(8) Всякая ТС требует уточнения ))
10 thezos
 
22.10.14
16:58
Пользователя можно взять из параметров сеанса
11 thezos
 
22.10.14
16:59
Или еще откуда нибудь
12 Qixis
 
22.10.14
17:03
(11) пользователя понятно откуда брать, непонятно только как отобрать в форму выбора только определенную группу из справочника
13 Maxus43
 
22.10.14
17:05
14 Qixis
 
23.10.14
13:25
Вопрос решил следующим образом, но не до конца:
---------------------------------------------------------------------------------------------
1) начало выбора - процедура для поля выбора:
&НаКлиенте
Процедура ПроблемаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    СтруктураПараметров = Новый Структура();
    СтруктураПараметров.Вставить("КодСС", "000000156"); //передаю код группы
    ОткрытьФормуМодально("Справочник.СА_СбоиИЗадачи.ФормаВыбора", СтруктураПараметров);
КонецПроцедуры
---------------------------------------------------------------------------------------------
2) в модуле формы выбора - той самой, через которую надо выбрать элемент справочника:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Список.ТекстЗапроса = "ВЫБРАТЬ
        |СА_СбоиИЗадачи.Ссылка,
        |СА_СбоиИЗадачи.ВерсияДанных,
        |СА_СбоиИЗадачи.ПометкаУдаления,
        |СА_СбоиИЗадачи.Предопределенный,
        |СА_СбоиИЗадачи.Код,
        |СА_СбоиИЗадачи.Наименование
        |ИЗ
        |    Справочник.СА_СбоиИЗадачи КАК СА_СбоиИЗадачи
        |ГДЕ
        |    СА_СбоиИЗадачи.Код = &КодСС
    |    ИЛИ СА_СбоиИЗадачи.Родитель.Код = &КодСС
        |    ИЛИ СА_СбоиИЗадачи.Родитель.Родитель.Код = &КодСС";
                          
        Список.Параметры.УстановитьЗначениеПараметра("КодСС", Параметры.КодСС);
КонецПроцедуры
---------------------------------------------------------------------------------------------
3) список в форме выбора - заполняю не через динамический запрос, а через обычный:
ВЫБРАТЬ
        СА_СбоиИЗадачи.Ссылка,
        СА_СбоиИЗадачи.ВерсияДанных,
        СА_СбоиИЗадачи.ПометкаУдаления,
        СА_СбоиИЗадачи.Предопределенный,
        СА_СбоиИЗадачи.Код,
        СА_СбоиИЗадачи.Наименование
ИЗ
        Справочник.СА_СбоиИЗадачи КАК СА_СбоиИЗадачи
---------------------------------------------------------------------------------------------
4) добавил в форму выбора параметр КодСС
---------------------------------------------------------------------------------------------


ПРОБЛЕМА: в список попадает то что надо, но щёлкая по элементу для его выбора он почему-то не попадает в то самое поле в документе. Что сделать, может где-то надо что-то передать из формы выбора в документ или включить чего???
15 kosts
 
23.10.14
13:32
(14) Если открываешь форму модально, то нужно самому позаботиться, что бы присвоить выбранное значение.
Например как-то так

ВыбранноеЗначение = ОткрытьФормуМодально();
Реквизит = ВыбранноеЗначение;
16 kosts
 
23.10.14
13:33
(15)+ При этом в форме выбора нужно написать

Закрыть(ВыбранноеЗначение)
17 Qixis
 
23.10.14
13:42
(16) Модальная форма вроде ж сама закрывается когда я выбираю элемент двойным щелчком.
18 Qixis
 
23.10.14
13:46
(15) Всё пошло, вопрос решён, СПАСИБО ВСЕМ ))
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.