|
Управляемые формы Поле объекта недоступно для записи (Отбор) | ☑ | ||
---|---|---|---|---|
0
flyy
19.09.11
✎
17:37
|
Динамический список журнала документов.При попытке установить отбор выдает такое сообщение.Вызов установки стандартный ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(Список.Отбор, "Ответственный", Пользователь,,, ЗначениеЗаполнено(Пользователь));Помогите разобраться.
|
|||
1
Grusswelle
19.09.11
✎
17:38
|
Там новый тип - ОтборКомпоновкиДанных, он по-другому работает.
|
|||
2
flyy
19.09.11
✎
17:42
|
// Добавление элемента компоновки в контейнер элементов компоновки
// Параметры: // ОбластьДобавления - контейнер с элементами и группами отбора, например // Список.Отбор или группа в отборе // ИмяПоля - строка - имя для поля компоновки данных // ВидСравнения - ВидСравненияКомпоновкиДанных - вид сравнения // ПравоеЗначение - произвольный // Представление - представление элемента компоновки данных // Использование - булево - использование элемента // Функция ДобавитьЭлементКомпоновки(ОбластьДобавления, знач ИмяПоля, знач ВидСравнения, знач ПравоеЗначение = Неопределено, знач Представление = Неопределено, знач Использование = Неопределено) Экспорт Элемент = ОбластьДобавления.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); Элемент.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(ИмяПоля); Элемент.ВидСравнения = ВидСравнения; Элемент.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; Если ПравоеЗначение <> Неопределено Тогда Элемент.ПравоеЗначение = ПравоеЗначение; КонецЕсли; Если Представление <> Неопределено Тогда Элемент.Представление = Представление; КонецЕсли; Если Использование <> Неопределено Тогда Элемент.Использование = Использование; КонецЕсли; Возврат Элемент; КонецФункции // Изменение элементов отбора // Параметры // ИмяПоля - строка - имя поля компоновки // ВидСравнения - ВидСравненияКомпоновкиДанных - вид сравнения // ПравоеЗначение - произвольный // Представление - строка - представление элемента компоновки данных // Функция ИзменитьЭлементыОтбора(ОбластьПоиска, знач ИмяПоля = Неопределено, знач Представление = Неопределено, знач ПравоеЗначение = Неопределено, знач ВидСравнения = Неопределено, знач Использование = Неопределено) Экспорт Если ЗначениеЗаполнено(ИмяПоля) Тогда ЗначениеПоиска = Новый ПолеКомпоновкиДанных(ИмяПоля); СпособПоиска = 1; Иначе СпособПоиска = 2; ЗначениеПоиска = Представление; КонецЕсли; МассивЭлементов = Новый Массив; НайтиРекурсивно(ОбластьПоиска.Элементы, МассивЭлементов, СпособПоиска, ЗначениеПоиска); Для Каждого Элемент Из МассивЭлементов Цикл Если ИмяПоля <> Неопределено Тогда Элемент.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(ИмяПоля); КонецЕсли; Если Представление <> Неопределено Тогда Элемент.Представление = Представление; КонецЕсли; Если Использование <> Неопределено Тогда Элемент.Использование = Использование; КонецЕсли; Если ВидСравнения <> Неопределено Тогда Элемент.ВидСравнения = ВидСравнения; КонецЕсли; Если ПравоеЗначение <> Неопределено Тогда Элемент.ПравоеЗначение = ПравоеЗначение; КонецЕсли; КонецЦикла; Возврат МассивЭлементов.Количество(); КонецФункции // Используется для создания элемента отбора или, если таковой не найден, // установления существующим элементам свойств // Параметры //{{MRG[ <-> ] // ОбластьПоискаДобавления - контейнер с элементами и группами отбора, например // Список.Отбор или группа в отборе // ИмяПоля - строка - имя для поля компоновки данных (заполняется всегда) //}}MRG[ <-> ] //{{MRG[ <-> ] //// ОбластьПоискаДобавления - контейнер с элементами и группами отбора, например //// Список.Отбор //// или группа в отборе //}}MRG[ <-> ] //{{MRG[ <-> ] //// ИмяПоля - строка - имя для поля компоновки данных (заполняется всегда) //}}MRG[ <-> ] // Устанавливаемые поля: //{{MRG[ <-> ] // ВидСравнения - ВидСравненияКомпоновкиДанных - вид сравнения // ПравоеЗначение - произвольный // Представление - представление элемента компоновки данных // Использование - булево - использование элемента //}}MRG[ <-> ] //{{MRG[ <-> ] //// ВидСравнения - ВидСравненияКомпоновкиДанных - вид сравнения //// ПравоеЗначение - произвольный //// Представление - представление элемента компоновки данных //// Использование - булево - использование элемента //}}MRG[ <-> ] // Процедура УстановитьЭлементОтбора(ОбластьПоискаДобавления, знач ИмяПоля, знач ПравоеЗначение = Неопределено, знач ВидСравнения = Неопределено, знач Представление = Неопределено, знач Использование = Неопределено) Экспорт ЧислоИзмененных = ИзменитьЭлементыОтбора(ОбластьПоискаДобавления, ИмяПоля, Представление, ПравоеЗначение, ВидСравнения, Использование); Если ЧислоИзмененных = 0 Тогда Если ВидСравнения = Неопределено Тогда ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; КонецЕсли; ДобавитьЭлементКомпоновки(ОбластьПоискаДобавления, ИмяПоля, ВидСравнения, ПравоеЗначение, Представление, Использование); КонецЕсли; КонецПроцедуры |
|||
3
flyy
19.09.11
✎
17:42
|
Вот процедуры из общего модуля ,все вроде правильно
|
|||
4
shuhard
19.09.11
✎
17:46
|
(3) добавь отбор в лоб,
через ОтборКомпоновкиДанных |
|||
5
flyy
19.09.11
✎
17:51
|
если в лоб ...то все получается..но хотелось использовать встроенную установкуОна вроде во ут 11 работает, например в журнале взаимодействия
|
|||
6
flyy
19.09.11
✎
17:51
|
Хотелось бы узнть что я не так делаю
|
|||
7
flyy
19.09.11
✎
17:53
|
Причем при открытии журнала,отбор устанавливаеися,не ругается.Ругается именно при смене на форме пользователя,или режима
|
|||
8
shuhard
19.09.11
✎
17:54
|
(5) дык отладчик в зубы + останов по ошибке
|
|||
9
flyy
19.09.11
✎
17:56
|
все отладчиком и смотрю ,в самих общих модулях не ругается,Отбор прописывается,ругается я так понимаю при установки отбора
... |
|||
10
shuhard
19.09.11
✎
17:58
|
(9) чудно,
а падает по ошибке то в какой строке ? |
|||
11
hhhh
19.09.11
✎
18:02
|
(9) наверно, два раза один и тот же элемент записываешь, вот он и говорит, что не может записать.
|
|||
12
flyy
19.09.11
✎
18:10
|
получается когда открываем журнал срабатывает ДобавитьЭлементКомпоновки...все нормально,а когда там уже установлен какой нибудь отбор и мы меняем,т.е. работает ИзменитьЭлементыОтбора() вылетает ошибка.ЖурналДокументов.Взаимодействия.Форма.ФормаСписка(416)}: Поле объекта недоступно для записи (Отбор)
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(Список.Отбор, "Ответственный", Пользователь,,, ЗначениеЗаполнено(Пользователь)); |
|||
13
jump if zero
19.09.11
✎
18:11
|
у меня почему то получилось
создал ЖурналДокументовПользователя ут11 &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(Список.Отбор, "Менеджер",ПараметрыСеанса.ТекущийПользователь,ВидСравненияКомпоновкиДанных.Равно,,Истина); КонецПроцедуры |
|||
14
flyy
19.09.11
✎
18:13
|
у меня вызывается при смене пользователя на форме
&НаКлиенте Процедура ПользовательПриИзменении(Элемент) ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(Список.Отбор, "Ответственный", Пользователь,,, ЗначениеЗаполнено(Пользователь)); КонецПроцедуры |
|||
15
flyy
19.09.11
✎
18:14
|
причем ошибка именно при смене Ответственного на форме
|
|||
16
shuhard
19.09.11
✎
18:19
|
(15) а удалить отбор перед сменой не пробовал ?
что нибудь ОбщегоНазначенияКлиентСервер.УдалитьЭлементОтбора |
|||
17
flyy
19.09.11
✎
18:22
|
там кроме отвественного есть еще отбор по режиму ...там удаляется потом устанавливается...так вот тоже вылетает
|
|||
18
flyy
19.09.11
✎
18:34
|
Вопрос снят...нашла в чем косяк ...почему-то в модуле ОбщегоНазначенияКлиентСервер не стояла галочка "Клиент(упр.приложение)"
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |