Имя: Пароль:
1C
 
Использоватие ТипЗначения для реквизита табличной части
0 LivingStar
 
07.10.19
06:23
УФ. Почему не могу задать ТипЗначения реквизиту табличной части?

&НаКлиенте

Элемент.ТекущиеДанные.НарушенноеТребование.ТипЗначения =

Элементы.НарушенияИПричины.ТекущиеДанные.НарушенноеТребование.ТипЗначения

Поле объекта не обнаружено (ТипЗначения) ..
1 GGDots
 
07.10.19
08:57
Скорее всего немного не так, но и не утверждаю что этот вариант рабочий:

ОписаниеТипа = Новый ОписаниеТипов("СправочникСсылка.Контрагенты");  
ЭлементыФормы.ПолучательПСТретьеЛицо.ОграничениеТипа = ОписаниеТипа;
ЭлементыФормы.ПолучательПСТретьеЛицо.Значение = ОписаниеТипа.ПривестиЗначение()
2 GGDots
 
07.10.19
08:58
ТипЗначения (ValueType)
Использование:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Только чтение.
Описание:
Тип: ОписаниеТипов.
3 Rovan
 
гуру
07.10.19
09:07
(0) присвой пустое ЗНАЧЕНИЕ нужного типа
4 LivingStar
 
07.10.19
10:11
(2)(3) Есть блок кода в общем модуле, на другую таблицу документа.
Там так же сделано. Отрабатывает на сервере, и все работает.
5 hhhh
 
07.10.19
10:23
(4) ну покажи этот блок. Мы найдем 10 отличий от твоей программы.
6 LivingStar
 
07.10.19
11:03
(5) От куда там список значения? И почему он превращается в справочник при нажатии на нем????

Процедура ЗаполнитьТребования(Объект, ИмяТаблицыТребований = "Требования") Экспорт
    
    Для Каждого ЭлементЗадачи Из Объект.Задачи Цикл
        
        ЭлементЗадачи.Требования.ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.Требования");
        
        СтрокиТребований = Объект[ИмяТаблицыТребований].НайтиСтроки(Новый Структура("Идентификатор", ЭлементЗадачи.Идентификатор));
        Для Каждого Требование Из СтрокиТребований Цикл
            ЭлементЗадачи.ТребованияНТД.Добавить(Требование.Требование);
        КонецЦикла;
        
    КонецЦикла;
    
КонецПроцедуры
7 LivingStar
 
07.10.19
11:04
(5) Эту строчку нормально проходит

ЭлементЗадачи.Требования.ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.Требования");
8 LivingStar
 
07.10.19
11:05
Для Каждого Элемент Из Объект[ИмяТаблицы] Цикл

Элемент.НарушенноеТребование - вот тут подскажите, в ьабло то список значений написано то справочник ссылка.
Как этим управлять. На форме и реквизитах тч смотрел, там нет никакого списка значений.
9 lodger
 
07.10.19
11:05
(6) &НаКлиенте и &НаСервере немного разное.
10 lodger
 
07.10.19
11:07
(8) если в строке ТЧ оказалось "список значений", то ты нам мозги делаешь. это не ТЧ.
11 LivingStar
 
07.10.19
11:09
В моем случае вот сюда, присваивания не происходит

Элемент[ИмяРеквизита].ТипЗначения =
12 LivingStar
 
07.10.19
11:10
(9) я и так и так пробую

(10) http://joxi.ru/Dr8De5vToboOGr
13 LivingStar
 
07.10.19
11:15
(10) Смотрю в отладчике в процедуре

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



Элемент.НарушенноеТребование - тип список значений, раскрываю его в табло, он становится тип справочник, что это означает?
14 hhhh
 
07.10.19
11:30
(13) тут у вас у элемента тип значения

а в (0) наоборот

Элемент.ТекущиеДанные.НарушенноеТребование.ТипЗначения =

Элементы.НарушенияИПричины.ТекущиеДанные.НарушенноеТребование.ТипЗначения


тип значения не у элемента берете. Вот и лажа получается.
15 LivingStar
 
07.10.19
11:38
(14) Вот это работает

Процедура ЗаполнитьТребованияНТД(Объект, ИмяТаблицыТребований = "Требования") Экспорт
    
    Для Каждого ЭлементЗадачи Из Объект.Задачи Цикл
        
        ЭлементЗадачи.ТребованияНТД.ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.ТребованияНТД");
        
        СтрокиТребований = Объект[ИмяТаблицыТребований].НайтиСтроки(Новый Структура("Идентификатор", ЭлементЗадачи.Идентификатор));
        Для Каждого Требование Из СтрокиТребований Цикл
            ЭлементЗадачи.ТребованияНТД.Добавить(Требование.ТребованиеНТД);
        КонецЦикла;
        
    КонецЦикла;
    
КонецПроцедуры


Тем более что у тч Задачи нет реквизита ТребованияНТД
16 LivingStar
 
07.10.19
11:40
(14) Мой код аналогичный, и есть реквизит НарушенноеТребование, но не работает
Я не пойму как это сделать, и что тут хотели (((

Процедура ЗаполнитьСписокНТД(Объект, ИмяРеквизита, ИмяТаблицы, ИмяПодчиненнойТаблицы, ТипЗначения) Экспорт
    Для Каждого Элемент Из Объект[ИмяТаблицы] Цикл
        Объект[ИмяРеквизита].ТипЗначения = Новый ОписаниеТипов(ТипЗначения);
        СтрокиПоиска = Объект[ИмяПодчиненнойТаблицы].НайтиСтроки(Новый Структура("Идентификатор", Элемент.ИдентификаторНарушения));
        Для Каждого Строка Из СтрокиПоиска Цикл
            Элемент[ИмяРеквизита].Добавить(Строка[ИмяРеквизита]);
        КонецЦикла;
    КонецЦикла;
КонецПроцедуры
17 LivingStar
 
07.10.19
11:41
(14) Вот я беру у элемента тип

Процедура ЗаполнитьСписокНТД(Объект, ИмяРеквизита, ИмяТаблицы, ИмяПодчиненнойТаблицы, ТипЗначения) Экспорт
    Для Каждого Элемент Из Объект[ИмяТаблицы] Цикл
        Элемент[ИмяРеквизита].ТипЗначения = Новый ОписаниеТипов(ТипЗначения);
        СтрокиПоиска = Объект[ИмяПодчиненнойТаблицы].НайтиСтроки(Новый Структура("Идентификатор", Элемент.ИдентификаторНарушения));
        Для Каждого Строка Из СтрокиПоиска Цикл
            Элемент[ИмяРеквизита].Добавить(Строка[ИмяРеквизита]);
        КонецЦикла;
    КонецЦикла;
КонецПроцедуры
18 hhhh
 
07.10.19
11:41
(15) не читаешь что ли? Еще раз для тех кто в танке

ЭлементЗадачи.ТребованияНТД   - это элемент на форме


а у тебя

Объект[ИмяРеквизита]  - это не элемент. А вообще непонятная хрень.
19 LivingStar
 
07.10.19
11:42
(18) Я изменил вот

Элемент[ИмяРеквизита].ТипЗначения = Новый ОписаниеТипов(ТипЗначения); <- (17)
20 LivingStar
 
07.10.19
11:46
вот у меня ругается на этой строке (19)

Поле объекта не обнаружено (ТипЗначения)
21 hhhh
 
07.10.19
11:47
(19) что изменил?

Из Объект[ИмяТаблицы]   - это непонятная хрень. Поэтому и Элемент у тебя - непонятная хрень.
22 hhhh
 
07.10.19
11:49
(19) там типЗначения у элементов. А ты занимаешься дебилизмом, ТипЗначения у Объект[ИмяТаблицы] получаешь.
23 LivingStar
 
07.10.19
11:55
(18) в задачах это вот так http://joxi.ru/bmo5Q4kU3b9jlA
24 LivingStar
 
07.10.19
11:58
А тут вот. Почему то реквизит 2 раза. Он есть у тч и есть на форме.
Так же видно есть такой же реквизит с неуникальным названием http://joxi.ru/bmo5Q4kU3b9QlA
25 LivingStar
 
07.10.19
11:58
(21) (22) Вот же я переделал на элемент

Для Каждого Элемент Из Объект[ИмяТаблицы] Цикл
        Элемент[ИмяРеквизита].ТипЗначения = Новый ОписаниеТипов(ТипЗначения);
26 LivingStar
 
07.10.19
12:04
(21) Если это не понятная, сделал вот так для проверки, хотя тоже самое, ИмяТаблицы - идентификатор таблицы

Процедура ЗаполнитьСписок(Объект, ИмяРеквизита, ИмяТаблицы, ИмяПодчиненнойТаблицы,ТипЗначения)
    Для каждого ЭлементНарушенияИПричины Из Объект.НарушенияИПричины Цикл
        ЭлементНарушенияИПричины.НарушенноеТребование.ТипЗначения = Новый ОписаниеТипов(ТипЗначения);

та же ошибка.
27 LivingStar
 
07.10.19
12:07
вот это позволительно нет???????
реквизит с одним и тем же идентификатором.

http://joxi.ru/nAyO34Bugnjv5m
28 LivingStar
 
07.10.19
12:12
К (25)

Объект.НарушенияИПричины - ДанныеФормыКоллекция

ЭлементНарушенияИПричины - ДанныеФррмыЭлементКоллекции

там НарушенноеТребование, то списокЗначения то справочник ссылка

это из за того что в реквизитах он добавлен 2 раза? Дубли похоже нужно удалить с типом справочник, или переименовать?
29 LivingStar
 
07.10.19
13:11
Причина ошибки этого, выявлена

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


Смысл в том что используется реквизит типа список значений. А в этом случае, оказалось 2 одноименных реквизита типа справочник и список значений. Вот на что я напоролся. Изменил идентификатор на СЗНарушенноеТребование, и это работает.

Так как вот это становится реквизитом, типа список значений Элемент[ИмяРеквизита].
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn