|
Присвоение реквизита 8.2 | ☑ | ||
---|---|---|---|---|
0
manti
16.04.13
✎
16:00
|
Как присвоить реквизиту ОтборПользователь с типом спр Пользователи значение тек. пользователя?
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) //Установим фильтр по тек. пользователю Если НЕ ПолучитьТекПользователь() Тогда Элементы.ОтборПользователь = Справочники.Пользователи.НайтиПоНаименованию(ПользователиИнформационнойБазы.ТекущийПользователь().ПолноеИмя); Элементы.ОтборПользователь.Доступность = Ложь; КонецЕсли; КонецПроцедуры &НаСервере Функция ПолучитьТекПользователь() Возврат РольДоступна("Администратор"); КонецФункции Пишет: Поле объекта недоступно для записи (ОтборПользователь) Элементы.ОтборПользователь = Справочники.Пользователи.НайтиПоНаименованию(ПользователиИнформационнойБазы.ТекущийПользователь().ПолноеИмя); ПолноеИмя совпадает с наименованием в справочнике |
|||
1
fisher
16.04.13
✎
16:02
|
ОтборПользователь = Справочники.Пользователи.НайтиПоНаименованию(ПользователиИнформационнойБазы.ТекущийПользователь().ПолноеИмя);
|
|||
2
MSII
16.04.13
✎
16:04
|
И посмотри, нет ли у тебя в конфигурации параметра сеанса ТекущийПользователь.
|
|||
3
manti
16.04.13
✎
16:05
|
(1) в отладчике вроде присваивает значение, но почему то на форме не прописывает тек. пользователя
(2) такого точно нет) |
|||
4
manti
16.04.13
✎
16:07
|
(3) в реквизит ОтборПользователь
|
|||
5
Любопытная
16.04.13
✎
16:09
|
Ты пишешь в элемент формы, а надо писать в ЗНАЧЕНИЕ элемента
|
|||
6
fisher
16.04.13
✎
16:11
|
Свойство "ПутьКДанным" у поля формы "ОтборПользователь" что содержит?
|
|||
7
Infsams654
16.04.13
✎
16:13
|
(0) зачем НайтиПоНаименованию(ПользователиИнформационнойБазы.ТекущийПользователь().ПолноеИмя если можно сразу
ОтборПользователь = ТекущийПользователь |
|||
8
manti
16.04.13
✎
16:13
|
(6) Пользователь = типу спр Пользователи
|
|||
9
manti
16.04.13
✎
16:14
|
(5) как к значению обратиться?
|
|||
10
Любопытная
16.04.13
✎
16:16
|
(9) угадай с трех раз ;)
Элемент у тебя какой? Надпись, поле выбора или еще чего? Реквизит с ним связан какой-нить, или так просто на форме лежит? |
|||
11
manti
16.04.13
✎
16:20
|
(10) Пользователь = Справочники.Пользователи.НайтиПоНаименованию(ПользователиИнформационнойБазы.ТекущийПользователь().ПолноеИмя);
ай какой я не внимательный) |
|||
12
manti
16.04.13
✎
16:22
|
Как можно вызвать процедуру отбора что на клиенте?
&НаКлиенте Процедура ОтборПользовательПриИзменении(Элемент) |
|||
13
manti
16.04.13
✎
16:27
|
&НаКлиенте
Процедура ОтборПользовательПриИзменении(Элемент) Если Пользователь.Пустая() тогда Возврат; КонецЕсли; ОтборОбъект = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборОбъект.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный; ОтборОбъект.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ОтборОбъект.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Пользователь"); // Тут указываем имя поля для отбора ОтборОбъект.ПравоеЗначение = Пользователь; //Параметры.ВладелецФайла; // тут указываем ссылку для отбора ОтборОбъект.Использование = Истина; КонецПроцедуры |
|||
14
Любопытная
16.04.13
✎
16:30
|
Она вызывается при изменении значения элемента. Хочешь вызвать ее код вне этого события? Перепиши его в другую процедуру на клиенте и вызывай ее по мере необходимости
|
|||
15
manti
16.04.13
✎
16:35
|
(14) нужно чтобы вызывалась с сервера
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) //Установим фильтр по тек. пользователю Если НЕ ПолучитьТекПользователь() Тогда Элементы.ОтборПользователь = Справочники.Пользователи.НайтиПоНаименованию(ПользователиИнформационнойБазы.ТекущийПользователь().ПолноеИмя); Элементы.ОтборПользователь.Доступность = Ложь; КонецЕсли; ОтборПользовательПриИзменении(); КонецПроцедуры получается ОтборПользовательПриИзменении() нужно сделать серверной поскольку на сервере на видит клиенncre. процедуру |
|||
16
Любопытная
16.04.13
✎
16:39
|
Сделай ее серверной и вызывай ее в том числе и из клиентского метода элемента.
|
|||
17
manti
16.04.13
✎
16:43
|
(16) Элементы.НадписьПольз.Заголовок = Строка(Элементы.ОтборПользователь.ВыделенныйТекст); не получается на сервере получить значение реквизита ОтборПользователь
&НаСервере Процедура ОтборПольз() ОтборОбъект = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборОбъект.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный; ОтборОбъект.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ОтборОбъект.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Пользователь"); // Тут указываем имя поля для отбора ОтборОбъект.ПравоеЗначение = Пользователь; ОтборОбъект.Использование = Истина; Элементы.Список.Обновить(); Элементы.НадписьПольз.Заголовок = ""; Элементы.НадписьПольз.Заголовок = Строка(Элементы.ОтборПользователь.ВыделенныйТекст); КонецПроцедуры Свойство "ВыделенныйТекст" недоступно на сервере |
|||
18
manti
16.04.13
✎
16:45
|
(17) Элементы.НадписьПольз.Заголовок = Строка(Пользователь);
с реквизита взял ) |
|||
19
Любопытная
16.04.13
✎
16:46
|
Чет у тебя код везде разный... ты бы всю задачу целиком озвучил уже. Выделенный текст вполне логично не доступен на сервере - там нет никакого текста.
|
|||
20
manti
16.04.13
✎
16:49
|
первоначальная задача - присвоение реквизита, остальное - побочное
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |