Имя: Пароль:
1C
 
Занести в переменную ссылочный тип данных
,
0 Marry04
 
21.04.17
07:11
Имеется в обработке поле ввода в таблице значений с типом значений - справочникссылка.сотрудник,контрагент и СТРОКА.
пытаюсь в поле ввода занести ссылочный тип данных , НО все равно тип значений устанавливается СТРОКА. Убрать из типов значений строку не могу.

ФормаВыбора = Справочники.Сотрудники.ПолучитьФормуВыбора();
       Сотрудник = ФормаВыбора.ОткрытьМодально(); // в сотруднике хранится тип значений - справочникссылка.сотрудники
        //ЭлементыФормы.ДокументыКИмпорту.ТекущиеДанные.Контрагент = Тип("СправочникСсылка.Сотрудники");
        ЭлементыФормы.ДокументыКИмпорту.ТекущиеДанные.Контрагент=Сотрудник.Ссылка;
1 Рэйв
 
21.04.17
07:15
ДокументыКИмпорту=Сотрудник
2 Рэйв
 
21.04.17
07:15
Или Объект.ДокументыКИмпорту=Сотрудник если УФ
3 Рэйв
 
21.04.17
07:15
а, Элементы формы. Значит (1)
4 Рэйв
 
21.04.17
07:17
(0)Если ДокументыКИмпорту реквизит конечно а те ТЧ :-)
Если тч, то все совсем по другомц
5 Marry04
 
21.04.17
07:17
(1)Вместо    
ЭлементыФормы.ДокументыКИмпорту.ТекущиеДанные.Контрагент=Сотрудник.Ссылка; ?
мне же нужно текущей строчки ТЗ "ДокументыКИмпорту" колонку Контрагент именно заполнить
6 Asmody
 
21.04.17
07:21
тз или тч?
7 Marry04
 
21.04.17
07:22
(6) ДокументыКИмпорту - ТаблицаЗначений
8 Asmody
 
21.04.17
07:23
(7) и как типизируется колонка?
9 Marry04
 
21.04.17
07:24
(8) колонка Контрагент - поле ввода. Тип значений которые она может принимать - ссылочный ( сотрудники, контрагенты) и строка.
10 Asmody
 
21.04.17
07:28
(9) при чем тут поле ввода? как типизируется колонка в тз?
11 Marry04
 
21.04.17
07:31
(10) никак..
12 Asmody
 
21.04.17
07:37
(11) О чем тогда вся эта ветка?
13 VladZ
 
21.04.17
07:39
(0)  "Имеется в обработке поле ввода в таблице значений с типом значений - справочникссылка.сотрудник,контрагент и СТРОКА." - что за задача такая, в которой нужен такой разброс данных?
14 Marry04
 
21.04.17
07:41
(12) Сначала я создаю программно новое описание типов?
Тип = Новый ОписаниеТипов("СправочникСсылка.Сотрудники");
15 Marry04
 
21.04.17
07:43
(14) а потом использую ПривестиЗначение?
16 Marry04
 
21.04.17
07:46
или просто так:
ЭлементыФормы.ДокументыКИмпорту.ТекущиеДанные.Контрагент = Новый ОписаниеТипов("СправочникСсылка.Сотрудники");
17 Неверный Параметр И
 
21.04.17
08:01
(16) Вот здесь вот посмотри: http://bit.ly/2p1srlc
18 Asmody
 
21.04.17
08:11
(14)-(16) не надо всего вот этого.
с чего ты решила, что в тз записалась строка?
19 catena
 
21.04.17
08:13
Бред какой. Если записалась строка, значит нет Сотрудников в доступных типах значений. Ничего типизировать дополнительно не надо.
20 Marry04
 
21.04.17
09:21
(19) (18) (17) я отладчиком прошлась и увидела, что в переменной Сотрудник хранится ссылочный тип данных , а в ЭлементыФормы.ДокументыКИмпорту.ТекущиеДанные.Контрагент -  записалось наименование только сотрудника ( строка). Помогите пожалуйста решить проблему. как записать ссылку в колонку ТЗ?
21 dezss
 
21.04.17
09:24
(20) ЭлементыФормы.ДокументыКИмпорту.Контрагент что стоит в ПутьКДанным?
22 catena
 
21.04.17
09:39
(20)Тип какой у колонки контрагент? Скрином, плз.
23 Marry04
 
21.04.17
09:42
24 catena
 
21.04.17
09:48
(23)Теперь весь код процедуры НачалоВыбора и после установки значения скрин отладчика со строкой.
25 Marry04
 
21.04.17
09:55
(24)


https://docs.google.com/drawings/d/1GKVpUv91AerPEUnGoqi2UUOBeifupVtwoscf3J6Tijw/edit?usp=sharing





Процедура ДокументыКИмпортуКонтрагентНачалоВыбора(Элемент, СтандартнаяОбработка)
    
    Если ЭлементыФормы.ДокументыКИмпорту.ТекущиеДанные.ВидОперации = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПеречислениеЗП Тогда
        //19042017
        ФормаВыбора = Справочники.Сотрудники.ПолучитьФормуВыбора();
        Сотрудник = ФормаВыбора.ОткрытьМодально();
        
        //ЭлементыФормы.ДокументыКИмпорту.ТекущиеДанные.Контрагент = Тип("СправочникСсылка.Сотрудники");
        //ЭлементыФормы.ДокументыКИмпорту.ТекущиеДанные.Контрагент = Новый ОписаниеТипов("СправочникСсылка.Сотрудники");
        //Тип.ПривестиЗначение(
        
        ЭлементыФормы.ДокументыКИмпорту.ТекущиеДанные.Контрагент=Сотрудник.Ссылка;        
                ИначеЕсли ТипЗнч(Элемент.Значение) = Тип("Строка") Тогда
        Элемент.Значение = Неопределено;
    КонецЕсли;            
КонецПроцедуры
26 1dvd
 
21.04.17
10:41
(25) а привести значение пробовала?
27 Marry04
 
21.04.17
10:59
(26) да, бесполезно
28 catena
 
21.04.17
11:11
Мистика. Специально проверила: и на 8.2 и на 8.3 работает без дополнительных телодвижений. Все закрой и почисти кэш.
29 1dvd
 
21.04.17
11:16
ЭлементыФормы.ДокументыКИмпорту.ТекущаяКолонка.ЭлементУправления.ОграничениеТипа = ОписаниеТипаСотрудник;

потом присваивай
30 Marry04
 
21.04.17
11:56
(29) нет,это не помогло.
31 Marry04
 
21.04.17
11:56
(28) кэш почистила, закрыла - тоже бесполезно
32 1dvd
 
21.04.17
11:57
(30) ПривестиЗначение какой тип возвращает?
33 Marry04
 
24.04.17
11:47
(32) возвращает все таки строковый!
Пыталась пустую ссылку присвоить -  все равно тип остается строковый
34 VladZ
 
24.04.17
13:04
(33) Видимо, что-то с кармой не так...
35 AlvlSpb
 
24.04.17
13:21
(25) а на код не ругается? Не знаток ОФ, но с одной стороны обращаетесь к Перечисления (это НаСервере), с другой - открываете форму (клиентский вызов) Как-то странно
36 catena
 
24.04.17
14:21
(35)Для ОФ это нормально.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс