|   |   | 
| 
 | Присвоение реквизита 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 | 
        первоначальная задача - присвоение реквизита, остальное - побочное     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |