Ошибка при установке значения атрибута контекста параметрывыбора

открытие формы выбора с отбором

открытие формы выбора с отбором

Я
   falselight

02.12.16 — 12:41

есть перечисление, оно задано реквизиту справочника

есть реквизит у этого справочника, типа другого справочника

где так же есть реквизит типа перечисления

как при открытии формы справочника, устанавливать отбор элементов

в форме выбора равному значению перечисления?

   DrShad

1 — 02.12.16 — 12:43

присвоить отбору значение

   Ёпрст

2 — 02.12.16 — 12:43

Если смотреть сбоку, то сверху кажется, что снизу ничего не видно

   falselight

3 — 02.12.16 — 12:45

(1) средствами свойств конфигурации?

   falselight

4 — 02.12.16 — 12:50

или кодом накладывать?

   DrShad

5 — 02.12.16 — 12:53

кодом конечно, программа сама не знает чего ты хочешь

   DrShad

6 — 02.12.16 — 12:54

можешь в типовых посмотреть как открываются формы выбора программно, глядишь и наткнешься на установку отбора

   falselight

7 — 02.12.16 — 13:38

почему может ругаться на такую конструкцию, не соответсвие типов

&НаКлиенте

Процедура ДежурныйНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)

   СтандартнаяОбработка = Ложь;

  
   ЗначениеОтбора = Новый Структура(«ЭксплуатационныйРайон», Объект.ЭксплуатационныйРайон);

   ПараметрыВыбора = Новый Структура(«Отбор», ЗначениеОтбора);

   ОткрытьФорму(«Справочник.Дежурный.ФормаВыбора», ПараметрыВыбора, Элемент);

КонецПроцедуры

   DrShad

8 — 02.12.16 — 13:41

а такой отбор точно есть в форме выбора?

   falselight

9 — 02.12.16 — 13:48

(8) подскажите пожалуйста, где это посмотреть?

   falselight

10 — 02.12.16 — 13:51

(8) видимо нет, взял пример, но не знаю как его приделать

   SergTheGreat

11 — 02.12.16 — 13:58

(9) Напиши коротенький пример, без туманных намеков как в (0).

   falselight

12 — 02.12.16 — 14:09

(11) я сделал как в примере (7)

у формы создал параметр «Отбор»

   falselight

13 — 02.12.16 — 14:10

(12) у формы владельца есть реквизит перечисление

у формы выбора есть параметр отбор типа этого перечисления

есть реквизит типа этого перечисления у подчиненного справочника

   Lexey_

14 — 02.12.16 — 14:10

(7) из-за совпадения имени переменной ПараметрыВыбора с параметром формы

   Lexey_

15 — 02.12.16 — 14:13

(7) вообще, в подробном тексте ошибки всё написано, но ты за 10 лет так и не научился ни читать его, ни копировать на Мисту

   falselight

16 — 02.12.16 — 14:16

(15) от туда не перенесешь его

   Lexey_

17 — 02.12.16 — 14:17

(16) откуда?

   falselight

18 — 02.12.16 — 14:21

(17) текст ошибки с сервера

   Lexey_

19 — 02.12.16 — 14:22

(18) нет ничего невозможного для человека с интеллектом

   falselight

20 — 02.12.16 — 14:34

(19) ну ошибка называется «несоответствие типов»

на строке  ПараметрыВыбора = Новый Структура(«Отбор», ЗначениеОтбора);

чт опоправить, до меня не доходит (((

   falselight

21 — 02.12.16 — 14:37

(11) просто нужно открыть форму выбора справочника с отбором

   Lexey_

22 — 02.12.16 — 14:40

(20) в (14) написано, думай

   falselight

23 — 02.12.16 — 14:45

(22) ну понятно, я создал параметр формы отбор

и в строке (20) тоже отбор

так он же и должен совпадать?

как иначе то?????

   falselight

24 — 02.12.16 — 14:58

(22) ну изменю значение параметра на другое, попробую

непомогло

   falselight

25 — 02.12.16 — 15:08

ПОДСКАЖИТЕ В ЧЕМ ДЕЛО?

   Lexey_

26 — 02.12.16 — 15:10

(25) еще раз: ошибка возникает из-за того, что имя переменной ПараметрыВыбора совпадает с именем параметра формы ПараметрыВыбора

   falselight

27 — 02.12.16 — 15:35

(26) я не могу сделать, ты можешь сказать как нужно поправить?

   falselight

28 — 02.12.16 — 15:41

везде одинаковые примеры

    ЗначениеОтбора = Новый Структура(«Контрагент», «ОАО Рога и копыта»);

      

    ПараметрыВыбора = Новый Структура(«Отбор», ЗначениеОтбора);

      

    ОткрытьФорму(«Документ.ПриходнаяНакладная.ФормаСписка», ПараметрыВыбора);

   falselight

29 — 03.12.16 — 07:38

ребят продолжаю, развернул маленькую конфигурацию у себя на компе

имитирую этот момент, ошибка та же, подскажите как исправить???

{Справочник.Сотрудники.Форма.ФормаЭлемента.Форма(6)}: Ошибка при установке значения атрибута контекста (ПараметрыВыбора)

   ПараметрыВыбора = Новый Структура(«Отбор», ЗначениеОтбора);

по причине:

Несоответствие типов

&НаКлиенте

Процедура ВидРубкиНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)

   СтандартнаяОбработка = Ложь;

   ЗначениеОтбора = Новый Структура(«СпособРубки», Объект.СпособРубки);

   ПараметрыВыбора = Новый Структура(«Отбор», ЗначениеОтбора);

   ОткрытьФорму(«Справочник.ВидыРубок.ФормаВыбора», ПараметрыВыбора, Элемент);

КонецПроцедуры

   falselight

30 — 03.12.16 — 07:40

Уважаемый Lexey_, говорит что дело в имени переменной ПараметрыВыбора.

Как исправить, подскажите кто понимает?

Я всяко разно пробовал. Причем во всех примерах все так же, у меня не работает ((((

   falselight

31 — 03.12.16 — 07:46

Согласно (26) исправил, понимая буквально замечание, на

&НаКлиенте

Процедура ВидРубкиНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)

   СтандартнаяОбработка = Ложь;

   ЗначениеОтбора = Новый Структура(«СпособРубки», Объект.СпособРубки);

   ПараметрыВыбора1 = Новый Структура(«Отбор», ЗначениеОтбора);

   ОткрытьФорму(«Справочник.ВидыРубок.ФормаВыбора», ПараметрыВыбора1, Элемент);

КонецПроцедуры

Но сейчас нет ошибки, но и отбор не устанавливается в форме выбора справочника, подскажите почему?

   falselight

32 — 03.12.16 — 07:48

и так пробую

&НаКлиенте

Процедура ВидРубкиНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)

   СтандартнаяОбработка = Ложь;

   ЗначениеОтбора = Новый Структура(«СпособРубки», Объект.СпособРубки);

   //ПараметрыВыбора1 = Новый Структура(«Отбор», ЗначениеОтбора);

   //ОткрытьФорму(«Справочник.ВидыРубок.ФормаВыбора», ПараметрыВыбора1, Элемент);

   ОткрытьФорму(«Справочник.ВидыРубок.ФормаВыбора», ЗначениеОтбора, Элемент);

КонецПроцедуры

   falselight

33 — 03.12.16 — 07:50

нужно ли как то саму форму дорабатывать на какие либо параметры

используя (31) или (32)

   МимохожийОднако

34 — 03.12.16 — 07:58

Возьми фрагмент «НачалоВыбора(» и полным поиском в типовой конфигурации найдешь кучку примеров

   falselight

35 — 03.12.16 — 07:59

(34) да я в интернете много примеров нахожу

все они подобные, но не работает у меня (((((

   falselight

36 — 03.12.16 — 07:59

(34) в конфигурации какой? в УТ 11.3 попробую поискать

   МимохожийОднако

37 — 03.12.16 — 08:01

(35) Так бывает…

(36) в типовой или  в своей, если типовая.

   falselight

38 — 03.12.16 — 08:01

(37) в которой я стал делать пример

там вообще пара объектов, не доделанные

   falselight

39 — 03.12.16 — 08:10

реально не понимаю (((( все подобно везде!!!!

   falselight

40 — 03.12.16 — 08:13

не работает отбор (

   falselight

41 — 03.12.16 — 08:20

СтандартнаяОбработка = Ложь;

   ЗначениеОтбора       = Новый Структура(«СпособыРубок», Объект.СпособРубки);

   ПараметрыВыбора1     = Новый Структура(«Отбор», ЗначениеОтбора);

   ОткрытьФорму(«Справочник.ВидыРубок.ФормаВыбора», ПараметрыВыбора1, Элемент);

вот так сработало, важно было в значении отбора, установить название параметра таким же как у справочника

  

EvgeniuXP

42 — 03.12.16 — 13:22

Посмотри курсы, чтобы множество вопросов у тебя отпало — и с энономишь кучу времени себе и другим.

Содержание:

1.       Ошибка при установке значения атрибута контекста

2.       Ошибка при получении значения атрибута контекста

Одной из наиболее частых ошибок исполнения кода 1С являются ошибки, связанные с установкой реквизита либо получением реквизита через точку, либо ошибка при вызове функции или процедуры через точку. Все данные объекты являются атрибутами информационных объектов-владельцев, к которым они принадлежат. Рассмотрим примеры таких ошибок и причины их возникновения.  

1.    Ошибка при установке значения атрибута контекста

Ошибка при установке значения атрибута контекста говорит нам о невозможности присвоить выбранное значение определенному атрибуту информационного объекта. Вызвано это либо несовпадением типа атрибута и присваиваемого ей значения, отсутствием возможности присвоить значение выбранному атрибуту, так как его можно только читать, но не записывать в него, отсутствием прав у текущего пользователя на запись значений в данный атрибут. Например, в реквизит «ДатаДокумента» с типом «Дата» пытаемся записать строку, в реквизит с типом данных ссылки на документ пытаемся записать не ссылку, а объект, полученный по ссылке, что невозможно из-за несоответствия типов, что приводит к ошибке установки значения атрибута. 

Другой пример – проходя циклом выборку запроса, пытаемся в колонку выборки записать значение, что невозможно, так как значения выборки запроса можно только считывать, а для того, чтобы можно было полученные из запроса данные изменять в коде, нужно пользоваться не выборкой, а выгружать результат запроса в таблицу значений, в таком случае в цикле по ней можно будет менять значения в колонках, но только на значения, соответствующие типу колонки. Либо у пользователя, под которым выполняется код, нет прав на изменение даты документа, при попытке записать в данный реквизит новую дату, будет выведено сообщение об ошибке установке значения, но в причине будет указано отсутствие прав у пользователя.  

2.    Ошибка при получении значения атрибута контекста

Ошибка при получении значения атрибута контекста указывает на невозможность прочитать значение атрибута объекта в силу его отсутствия, либо отсутствия прав на его чтение. Например, обращение к несуществующему реквизиту объекта, несуществующему полю выборки из запроса, несуществующему свойству элемента формы и т.п. Так же как пример можно рассмотреть получение текущего пользователя из параметров сеанса — если данный параметр сеанса не установлен, то тоже будет выведена ошибка получения значения атрибута контекста, но в причине будет указана попытка получения неинициализированного значения параметра сеанса.

При возникновении данных ошибок значения атрибута в 1Св первую очередь следует проверить существование атрибута, к которому обращаются, затем проверить совпадение типов значений атрибута и присваиваемого ему значения, затем уже проверить права на установку либо чтение значения. Проверить, является ли дело в правах либо дать права на действия с атрибутом, можно, установив привилегированный режим для совершения действия с данным атрибутом, прописав перед строчкой с ошибкой УстановитьПривилегированныйРежим(Истина), после строчки — УстановитьПривилегированныйРежим(Ложь).  

Специалист компании «Кодерлайн»

Александр Суворов

В документе «ВедомостьВБанк» есть реквизит «ЗарплатныйПроект» (тип реквизита — одноименный справочник). Из реквизита «ЗарплатныйПроект», на управляемой форме, надо открыть форму выбора проектов с отбором по списку конкретных проектов. У реквизита «ЗарплатныйПроект» прописала событие «НачалоВыбора» (ниже код), но не срабатывает, выдает ошибку «Ожидается выражение «ВЫБРАТЬ». &НаСервере

Запрос.Текст = ТекстЗапроса;

Спасибо, ошибка из ушла. Но теперь стал ругаться на строчку ПараметрыВыбора = Новый Структура(«Отбор», ЗначениеОтбора) из: Ругается: «Ошибка при установке значения атрибута контекста (ПараметрыВыбора)».

ПараметрыВыбора — системное поле, если мне не изменяет память. Назовите как-нибудь по-другому

и еще не плоди контекстных серверных вызовов, тем более, если контекст вообще не используется…

Заменила ПараметрыВыбора на ЗначВыбора, теперь ошибок не выдается, но и отбора никакого не происходит. Открывается весь справочник «ЗарплатныеПроекты», только в верхнем левом углу светится надпись: Непонимаю, откуда появилось это Дополнительное условие на тип документа?! Мне нужен отбор по двум записям справочника «ЗарплатныеПроекты»!!!

ЗначениеОтбора  = Новый Структура(«Тип», Проекты); Так сами же делаете отбор по типу?

Значит я где-то ошибаюсь, мне нужен отбор тоько по двум записям справочника «ЗарплатныеПроекты». Т.е. из реквизита «ЗарплатныйПроект», на управляемой форме документа, мне надо открыть форму выбора проектов с отбором по списку конкретных проектов. А вместо этого у меня происходит отбор по типу документа?!

Убрала отбор по типу, все равно отбор не происходит:

Открывается весь справочник «ЗарплатныеПроекты».

Ты хочешь программный отбор вывести или просто на форму добавить быстрый отбор по конкретному реквизиту?

тысяча дементоров, никогда, слышишь, никогда не используй метод Выгрузить без надобности!!!

тысяча дементоров, еще и поиск по наименованию!!!

тысяча дементоров, ты свои проекты тупо кинула в отбор, нужно было просто переименовать переменную ПараметрыВыбора на МояПеременнаяСОтборами!!!

Спасибо, но теперь стал ругаться на строчку: выдает ошибку: «Поле объекта недоступно для записи (Параметры)»

Параметры замени на ПередаваемыеПараметры Книжку какю-нить по УФ почитай для повышения общей образованности

Так подсказали ведь в — переименовать название структуры «Параметры» в «ПараметрыОтбора» например

Спасибо. Заменила в коде параметры на ПараметрыОтбора, теперь ошибки не выдает, но открывается пустой справочник «ЗарплатныеПроекты».

Уже хорошо:) Остальное дело техники. Нужно смотреть что возарщает ПолучитьПроекты, по тому ли реквизиту отбирает в форме выбора

Тэги:

Комментарии доступны только авторизированным пользователям

Показывать по
10
20
40
сообщений

Новая тема

Ответить

user_1c

Дата регистрации: 05.02.2008
Сообщений: 444

Добрый день!

Может быть кто-нибудь знает, или хотя бы направит..

Есть форма с элементами, формируемыми программно, в зависимости от настроек…
Для элемента определенного типа нужно установить не стандартную форму выбора, а другую форму выбора. Как это сделать?

Думала, что можно просто установить элементу другую форму выбора, но выдается ошибка:

Ошибка при установке значения атрибута контекста (ФормаВыбора)
       Элементы.НаборДопАналитикиЗначениеАналитики.ФормаВыбора = «Новая_ФормаВыбораУправляемаяСОтбором»;
по причине:
Свойство «ФормаВыбора» не поддерживается этим элементом

Почему свойство «ФормаВыбора» не поддерживается? Хотя параметры выбора выше в коде устанавливаются?

Спасибо!

Сергей Волокитин

Дата регистрации: 08.04.2015
Сообщений: 6

user_1c, Вам нужно переопределить форму выбора в обработчике события «НачалоВыбора» у этого элемента формы. Описание на сайте ИТС

Показывать по
10
20
40
сообщений

Понравилась статья? Поделить с друзьями:
  • Ошибка при установке значения атрибута контекста отправитель
  • Ошибка при установке значения атрибута контекста объект
  • Ошибка при установке значения атрибута контекста картинка несоответствие типов
  • Ошибка при установке значения атрибута контекста вид
  • Ошибка при установке значения атрибута контекста версиярасширений