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

СвязиПараметровВыбора программно как сделать? ☑ 0

Лунтик

19.06.18

15:55

Если поставить в конфигураторе в свойствах ПоляВвода >»Отбор.Производитель(Элементы.Товары.Текущие данные.Производитель)»

, то работает.

А если программно ПриСозданииНаСервере — то не работает

>МассивПараметров = Новый Массив;

>МассивПараметров.Добавить(Новый ПараметрВыбора («Отбор.Производитель», «Элементы.Товары.ТекущиеДанные.Производитель»));

>Элементы.ТоварыНоменклатура.СвязиПараметровВыбора  = Новый ФиксированныйМассив (МассивПараметров);

Ошибка

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

    Элементы.ТоварыНоменклатура.СвязиПараметровВыбора  = Новый ФиксированныйМассив(МассивПараметров);

по причине:

Недопустимое значение

Как поправить?

1

Лунтик

19.06.18

16:17

так некрасиво получилось.. как здесь цитаты оформляются?

2

ам794123

19.06.18

16:26

СвязьПараметраВыбора (ChoiceParameterLink)

Имя (Name)

Использование:

Только чтение.

Описание:

Тип: Строка.

Имя параметра связи. Должно отвечать требованиям, предъявляемым к именам (должно начинаться с буквы, содержать только буквы, цифры или символ «_», может содержать одну точку (не начальный и не конечный символ)).

Правильные значения:

«Отбор.Владелец», «ПользовательскийПараметр».

НеправильныеЗначения: «Отбор.», «Отбор.Владелец.Наименование».

3

ам794123

19.06.18

16:27

«Элементы.Товары.ТекущиеДанные.Производитель» — 2 точки

4

perester

19.06.18

16:29

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

    НоваяКолонка = Элементы.Добавить(«ТЗХарактеристика», Тип(«ПолеФормы»), Элементы.ТаблицаЗначений);

    НоваяКолонка.Заголовок = «Характеристика»;

    НоваяКолонка.ПутьКДанным = «ТаблицаЗначений.Характеристика»;

    НоваяКолонка.Вид = ВидПоляФормы.ПолеВвода;

    НоваяКолонка.РежимРедактирования = РежимРедактированияКолонки.ВходПриВводе;  

    
    НоваяКолонка.СвязиПараметровВыбора = Новый ФиксированныйМассив(Новый массив);

    НоваяСвязь = Новый СвязьПараметраВыбора(«Отбор.Владелец», «элементы.таблицазначений.ТекущиеДанные.Номенклатура»);

    НовыйМассив = Новый Массив();

    НовыйМассив.Добавить(НоваяСвязь);

    НоваяКолонка.СвязиПараметровВыбора = Новый ФиксированныйМассив(НовыйМассив);

5

Лунтик

19.06.18

16:38

(4) Может суть в том, что у вас сначала связиПараметровВыбора обнуляются? Сейчас попробую.

Как оно вообще может не работать, если тупо скопировано из конфигуратора???

6

perester

19.06.18

16:42

(5) кажется так и было

7

hhhh

19.06.18

17:00

(5) побуквенное сравнение показывает:

у вас Новый ПараметрВыбора

у него  Новый СвязьПараметраВыбора

8

Лунтик

19.06.18

17:24

(7) Точно! Точно! Точно! Как вы увидели с полувзгляда?? Спасибо огромное)

Если таблица на форме. При начале выбора в одной из колонок срабатывает следующее событие Почему-то вылетает на строке пишет «{Обработка.ЗагрузкаДанныхИзТабличногоДокумента.Форма.Форма.Форма(1270)}: Ошибка при установке значения атрибута контекста (СвязиПараметровВыбора)    Элементы.ТаблицаЗагружаемыхРеквизитов.ТекущийЭлемент.СвязиПараметровВыбора = НовМассив;     по причине: Хотя в самом массиве все нормально вроде. В чем может заключаться ошибка?

Понял свою ошибку, переписал по-другому &НаСервере

Но все равно — ошибка та же Как установить значение по владельцу из ЗначениеПоУмолчанию из другой строки в таблице?

ап Знатоки управляемых форм, если кто сталкивался — подскажите — возможно ли в таблице формы установить связь параметров выбора в текущей ячейке по владельцу с ячейкой (полем формы)таблицы формы другой строки?

Тэги: 1С 8

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

Содержание:

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

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

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

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

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

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

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

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

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

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

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

Ошибка при установке значения атрибута контекста (СписокВыбора)

Данная ошибка возникает при попытке установить полю с типом «СписокЗначений» значение неподходящего типа. Например: Неопределено. 

Полная ошибка

Ошибка при установке значения атрибута контекста (СписокВыбора)
ЭлементыФормы.Поставщик.СписокВыбора = КЭШируемые.СписокПоставщиков(Контрагент);
по причине:
Несоответствие типов

Скриншот:oshibka-ustanovki-spiska-vybora

Причина: В функции, которая формировала данный список (КЭШируемые.СписокПоставщиков()) отсутствовал возврат значения.


В экспериментальных целях:

передал значение с типом «Массив»  — текст ошибки не поменялся.

В итоге переписал на более универсальный метод ЗагрузитьЗначения() самого элемента диалога:

ЭлементыФормы.Поставщик.СписокВыбора.ЗагрузитьЗначения(КЭШируемые.СписокПоставщиков(Контрагент));

Нулевую рекламную идею можно помножить на миллион долларов – все равно получится нуль.

Понравилась статья? Поделить с друзьями:

Интересное по теме:

  • 1с ошибка не установлен менеджер временных таблиц
  • 1с ошибка при установке значения атрибута контекста путькданнымподвала
  • 1с ошибка не удалось заблокировать таблицу cache2
  • 1с ошибка при установке значения атрибута контекста путькданным
  • 1с ошибка при установке значения атрибута контекста объект

  • Добавить комментарий

    ;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: