Имя: Пароль:
1C
 
Устиранение ошибки поле объекта не обнаружено (ТипЗначения)
0 LivingStar
 
04.10.19
04:51
Подскажите пожалуйста по ошибке.

{Документ.АктПроизводственногоКонтроля.Форма.пбФормаДокумента.Форма(705)}: Поле объекта не обнаружено (ТипЗначения)
        Элемент[ИмяРеквизита].ТипЗначения = Новый ОписаниеТипов(ТипЗначения);

Как её можно исправить?
1 LivingStar
 
04.10.19
04:51
Ошибка в цикле

Процедура ЗаполнитьСписок(Объект, ИмяРеквизита, ИмяТаблицы, ИмяПодчиненнойТаблицы,ТипЗначения)
    
    Для Каждого Элемент Из Объект[ИмяТаблицы] Цикл
        
        Элемент[ИмяРеквизита].ТипЗначения = Новый ОписаниеТипов(ТипЗначения);
        
        СтрокиПоиска = Объект[ИмяПодчиненнойТаблицы].НайтиСтроки(Новый Структура("Идентификатор", Элемент.ИдентификаторНарушения));
        Для Каждого Строка Из СтрокиПоиска Цикл
            Элемент[ИмяРеквизита].Добавить(Строка[ИмяРеквизита]);
        КонецЦикла;
        
    КонецЦикла;
    
КонецПроцедуры
2 gerroin
 
04.10.19
05:50
Платформа 8.х? Если да, то тип надо проверять так: <Code>ТипЗНЧ(Элемент[ИмяРеквизита]) = Тип ("Какой-то там тип")</Code>В переменной "ТипЗначения" что у Вас находится?
3 LivingStar
 
04.10.19
05:53
(2) В переменной ТипЗначения - СправочникСсылка

Но в (1) не проверка, а присвоение. Как тут правильно сделать ?*
4 LivingStar
 
04.10.19
05:54
8.3.12.1685 платформе
5 LivingStar
 
04.10.19
05:55
(2) Ошибка выходит на этой строке, я не пойму что тут хотели и как нужно на самом деле?

Элемент[ИмяРеквизита].ТипЗначения = Новый ОписаниеТипов(ТипЗначения);
6 gerroin
 
04.10.19
05:57
(3) Тогда вот пример.

&НаКлиенте
Процедура МояТЗПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
    
    ТекДанные = Элемент.ТекущиеДанные;
    Типы = Новый Массив;
    Типы.Добавить(Тип("ДокументСсылка.ЗаказКлиента"));
    Типы.Добавить(Тип("СправочникСсылка.Контрагенты"));
    ТекДанные.КолонкаСТипомСписокЗначений.ТипЗначения = Новый ОписаниеТипов(Типы)
    
КонецПроцедуры

А вообще что происходит в процедуре и для чего нужно ограничение типа? Пример выше для составных типов, когда при добавлении строки нужно ограничить тип
7 gerroin
 
04.10.19
06:00
(5) Тут вообще непонятно что делают. Просто берется всем колонкам таблицы какого-то объекта устанавливается идин и тот же тип. Просто по процедуре непонятно зачем это делается
8 catena
 
04.10.19
06:05
(5)Когда платформа что-то не находит, нужно убедиться, есть ли оно там. Что в Элемент[ИмяРеквизита]?
9 LivingStar
 
04.10.19
06:24
(7) Там видимо заполняют идентификатор другой таблицы, для связи что ли.
10 LivingStar
 
04.10.19
06:34
там ещё есть потом такая процедура

&НаКлиенте
Процедура ЗаполнитьТЧИзСписка(Объект, ИмяРеквизита, ИмяТаблицы,ИмяПодчиненнойТаблицы)
    
    Объект[ИмяПодчиненнойТаблицы].Очистить();
    Для Каждого Строка Из Объект[ИмяТаблицы] Цикл
        
        Для Каждого Элемент Из Строка[ИмяРеквизита] Цикл
            
            НоваяСтрока                 = Объект[ИмяПодчиненнойТаблицы].Добавить();
            НоваяСтрока[ИмяРеквизита]     = Элемент.Значение;
            НоваяСтрока.Идентификатор     = Строка.ИдентификаторНарушения;
            
        КонецЦикла;
        
    КонецЦикла;
    
КонецПроцедуры
11 LivingStar
 
04.10.19
06:37
(6) дело в том что вот тут ругается, что поле не обнарудено ТипЗначения

Элемент[ИмяРеквизита].ТипЗначения
12 LivingStar
 
04.10.19
06:39
(8) В Элемент[ИмяРеквизита] СправочникСсылка
13 LivingStar
 
04.10.19
11:46
Вот так не удается получить

Элементы[ИмяТаблицы].ТекущиеДанные[ИмяРеквизита]

Как получить реквизит текущих данных если он передается переменной?
14 LivingStar
 
04.10.19
11:46
(13+) Я хочу что бы был доступен ТипЗначения
15 Василий Алибабаевич
 
04.10.19
11:49
(14) "Я хочу что бы был доступен ТипЗначения" - придется тебе писать свою 1С. Видишь - в той, что у тебя там не может быть "ТипЗначения"
16 LivingStar
 
04.10.19
11:55
(15)

Элемент - ДанныеФормыЭлементКоллекции

тут ошибка

Элемент[ИмяРеквизита].ТипЗначения = Новый ОписаниеТипов(ТипЗначения);

Я вижу это в коде не понимаю почему так сделано и как это исправтить, пытаюсь понять и исправить.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.