Имя: Пароль:
1C
1С v8
Составной тип программно.
, ,
0 Raxla
 
02.11.12
15:35
Помогите, туплю. Надо присвоить составному типу значение:

Док.ДокументОснование=источник.ссылка;

источник.ссылка имеет тип документ.ссылка, а ДокументОснование = неопределено и допускает такой тип документа.
1 zak555
 
02.11.12
15:36
пустаяССылка
2 vmv
 
02.11.12
15:37
гуляй Вася, такие ответы ищут в СП
3 Raxla
 
02.11.12
15:37
переменная.пустаяссылка - разьве это прокатывает?
4 vmv
 
02.11.12
15:39
(3) если ты тупишь не надо пытаться съесть мозг окружающим, просто смирись с первым фактом и подумай
5 Undefined vs NULL
 
02.11.12
15:40
я ничего не понял
6 Raxla
 
02.11.12
15:43
источник это переменная. я же не могу написать документы.источник.пустаяссылка()
7 vmv
 
02.11.12
15:43
(5) да ты просто затупил, тс мастер нейропрограммирования и дипломированный мазгавдуватель если ты не понял
8 Undefined vs NULL
 
02.11.12
15:43
(6) так что ты хочешь присвоить то в конце концов?
9 YF
 
02.11.12
15:44
А просто = не прокатывает?
10 MSII
 
02.11.12
15:45
(8) +1. ТС, сформулируй свой вопрос по-человечески
11 vmv
 
02.11.12
15:45
этот топик должа была создать баба, а так пичалька
12 Raxla
 
02.11.12
15:48
надо что-то вроде
ТипИст=Тип(источник);
Док.ДокументОснование=ТипИст.ПустаяССылка()
Док.ДОкументОснование=Источник.ссылка
13 vmv
 
02.11.12
15:50
(12) ТипЗнч() и Новый ОписаниеТипов(...)

в принице это все что тебе надо, беги читай красные талмуды
14 pessok
 
02.11.12
16:02
(13) желтые толмуды
15 Serg_1960
 
02.11.12
16:06
Надеюсь к сотому посту автор внятно сформулирует вопрос, а пока рано ещё телепатировать на тему что автору на самом деле нужно.
16 hhhh
 
02.11.12
16:14
(12) какая конфа? По идее жестко должны вырубаться всякие пустые ссылки и ставиться нормальное значение НЕОПРЕДЕЛЕНО.
17 sikuda
 
02.11.12
16:21
В динамическом языке 1С присвоение значения происходит вместе с типом.
Док.ДокументОснование=источник.ссылка;
достаточно.

Но разные значения...
Док.ДокументОснование = Источник.ПустаяСсылка();
Док.ДокументОснование = Неопределенно;
18 mrParadox
 
02.11.12
16:25
(0) Слишком много бреда для одного поста
19 Serg_1960
 
02.11.12
16:34
"Док.ДОкументОснование=Источник" для автора достаточно :)

Хотя не исключено, что автор хотелспросить об ограничении типа по типу "Источник"? Как-то типа так :))

МассивТипов=Новый Массив();
МассивТипов.Добавить(Тип("ДокументСсылка.ТребованиеНакладная"));
ЭлементыФормы.ПолеВводаХ.ОграничениеТипа = Новый ОписаниеТипов(МассивТипов);
20 Aprobator
 
02.11.12
16:38
перевожу - имеется реквизит составного типа, не получается присвоить ему значение требуемого типа, хотя он (тип) присутствует в составе.

Ответ: проверяй тип присваиваемого значения - раз,
второе: Док - точно объект?
21 Raxla
 
15.11.12
00:08
Идея была такая: не перечислять возможные значения типа при создании ограничения типов в свою очередь нужное, что бы типизировать переменную составного типа.
Последние версии пробовались такие:
перем_сост_типа = ПредопределенноеЗначение(tmp.Ссылка.Метаданные().ПолноеИмя()+".ПустаяСсылка")

перем_сост_типа = Документы[tmp.Метаданные().Имя].ПустаяСсылка()
При этом про tmp известно что это ДокументСсылка валидная для составного типа переменной "перем_сост_типа"

у меня это всё не прокатило. К слову сказать, и присваивание конкретной пустой ссылки без "ограничения типов" тоже не получилось, просто не было пока на это всё времени.
22 Noroving
 
15.11.12
02:30
(21) Аш мозг расплавился). Зачес так заумно... В упр. приложении убираеш влаг у элемента "выбирать тип". и пустая ссылка пашет. в обычном не скажу, давно это было....
23 Худой
 
15.11.12
02:41
(21)По моему, без ограничения типов тут не получится.
(22) Ага, вроде, понятно чего он хочет. Но пишет так заумно..."валидность" и все такое.