|
Как программно задать ссылку для нового объекта, чтобы эта ссылка осталась после | ☑ | ||
---|---|---|---|---|
0
Команданте
12.09.12
✎
11:03
|
записи...
Сабж |
|||
1
eklmn
гуру
12.09.12
✎
11:06
|
ПолучитьСсылкуНового()
|
|||
2
chelentano
12.09.12
✎
11:07
|
ПолучитьСсылкуНового()
Возвращаемое значение: Тип: СправочникСсылка. Описание: Позволяет для нового (созданного и еще не записанного) объекта получить ранее установленное методом УстановитьСсылкуНового значение ссылки. |
|||
3
Команданте
12.09.12
✎
11:09
|
(2) УстановитьСсылкуНового() надо заранее вызывать?
|
|||
4
Sammo
12.09.12
✎
11:10
|
(3) Из СП
УстановитьСсылкуНового(<Ссылка>) Параметры: <Ссылка> (обязательный) Тип: СправочникСсылка. Ссылка, которая будет назначена при записи нового объекта. Описание: Устанавливает значение для нового (созданного и еще не записанного) объекта, которое будет назначено при записи в качестве ссылки. Значение не может равняться ссылке какого-либо из имеющихся в базе данных объекта данного типа. Уникальность ссылки проверяется при записи объекта. Сам как думаешь? |
|||
5
Команданте
12.09.12
✎
11:12
|
(4) т.е. через Новый УникальныйИдентификатор()?
|
|||
6
Команданте
12.09.12
✎
11:15
|
нет
<Ссылка> (обязательный) Тип: ДокументСсылка. Ссылка, которая будет назначена при записи нового объекта как я передам в параметр методу ссылку на документ, который ещё не записан не понимаю |
|||
7
Команданте
12.09.12
✎
11:16
|
пробую так
СпрОбъект = Справочники.Номенклатура.СоздатьЭлемент(); СпрОбъект.Наименование = "111"; СпрОбъект.УстановитьСсылкуНового(СпрОбъект.Ссылка); СсылкаНового = СпрОбъект.ПолучитьСсылкуНового(); СпрОбъект.Записать(); Если СсылкаНового = СпрОбъект.Ссылка Тогда Икс = 1; КонецЕсли; не работает |
|||
8
Команданте
12.09.12
✎
11:17
|
хелп гуру 1с
это вообще в принципе возможно или нет? какой-то метод противоречивый УстановитСсылкуНового |
|||
9
Skylark
12.09.12
✎
11:18
|
все можно
щас, покурим и кусок кода подкинем :-) |
|||
10
Kashemir
12.09.12
✎
11:19
|
СпрОбъект.УстановитьСсылкуНового(Новый УникальныйИдентификатор());
СсылкаНового = СпрОбъект.ПолучитьСсылкуНового(); |
|||
11
Команданте
12.09.12
✎
11:20
|
(10) несоответствие параметров
ожидается документссылка, а не уникальный идентификатор ((( |
|||
12
Скай
12.09.12
✎
11:20
|
СсылкаНового = Справочники.Номенклатура.ПолучитьСсылку();
УстановитьСсылкуНового(СсылкаНового); |
|||
13
Sammo
12.09.12
✎
11:21
|
Бррр.
У этих функций разное назначение. УстановитьСсылкуНового использует ПолучитьСсылку - он предназначен для того, чтобы создать объект с ссылкой с определенным гуидом. ПолучитьСсылку нового нужна для того, чтобы перед записью записать в базу данные с ссылкой на еще не записанный объект (хотя зачем?) |
|||
14
Команданте
12.09.12
✎
11:22
|
(12) МОЗГ!
|
|||
15
Sammo
12.09.12
✎
11:22
|
Т.е. если тебе надо объекту созать ссылку с определенным гуидом, то используй ПолучитьСсылку + установитьссылкунового
|
|||
16
Команданте
12.09.12
✎
11:22
|
всем мегамощный респект
|
|||
17
Homer
12.09.12
✎
11:22
|
НовыйGUID = Новый УникальныйИдентификатор(Заявка.Значение.КодВ1С);
НоваяСсылка = Документы.ЗаявкаНаПодключение.ПолучитьСсылку(НовыйGUID); ЗаявкаОбъект = Документы.ЗаявкаНаПодключение.СоздатьДокумент(); ЗаявкаОбъект.УстановитьСсылкуНового(НоваяСсылка); |
|||
18
acsent
12.09.12
✎
11:23
|
можно проще
НоваяСсылка = Документы.ЗаявкаНаПодключение.ПолучитьСсылку(); ЗаявкаОбъект = Документы.ЗаявкаНаПодключение.СоздатьДокумент(); ЗаявкаОбъект.УстановитьСсылкуНового(НоваяСсылка); |
|||
19
Команданте
12.09.12
✎
11:27
|
мне эта штука была нужна потому что в событии ПередЗаписью создаётся подчинённый объект, которому надо присвоить ссылку...
ПриЗаписи() не пробовал.... также есть вариант записывать документ при создании как правило хорошего тона |
|||
20
Команданте
12.09.12
✎
11:27
|
а вы бы что выбрали?
|
|||
21
Команданте
12.09.12
✎
11:28
|
ещё вариант записывать в ПередЗаписью() с условием
и на втором цикле его проскакивать... что лучше? |
|||
22
Alex S D
12.09.12
✎
11:29
|
я бы сделал после записи
|
|||
23
Команданте
12.09.12
✎
11:30
|
(22) у документа нет такого события
только у формы |
|||
24
Команданте
12.09.12
✎
11:31
|
вот странно почему после записи нет
хотя это же в принципе при записи. ведь транзакция ещё жива... |
|||
25
ptiz
12.09.12
✎
11:38
|
(24) А чем оно будет отличаться от ПриЗаписи ?
|
|||
26
Команданте
12.09.12
✎
11:40
|
(25) можно обновить данные формы
не универсальный метод для программной записи объекта |
|||
27
Команданте
12.09.12
✎
11:40
|
вообще форма сама обновляет данные, если чо
по крайней мере, в УФ так всё-таки, надо попробовать метод документа ПриЗаписи() |
|||
28
Команданте
12.09.12
✎
11:42
|
аааа
я вспомнил мне же надо было ещё присваивать ссылки на подчинённые документы самому документу |
|||
29
Команданте
12.09.12
✎
11:43
|
придётся, видимо, в ПередЗаписью прописывать условие СубДокументыЗаписаны
|
|||
30
Alex S D
12.09.12
✎
11:44
|
а документ проводится?
|
|||
31
Команданте
12.09.12
✎
11:46
|
(30) конечно
в обработке проведения тоже стоит проведение субдоков |
|||
32
Команданте
12.09.12
✎
11:49
|
ну всё, у меня стек приказал долго жить
|
|||
33
Команданте
12.09.12
✎
11:49
|
попробовал
Если Не ЭтотОбъект.ДополнительныеСвойства.Свойство("СубДоки") Тогда ЭтотОбъект.Записать(); ЭтотОбъект.ДополнительныеСвойства.Вставить("СубДоки"); Возврат; КонецЕсли; конечно, грубо и неправильно |
|||
34
Команданте
12.09.12
✎
11:50
|
ладно, буду ссылку ставить программно хD
|
|||
35
ptiz
12.09.12
✎
12:15
|
(26) Объясни, как ты собираешься получить форму для обновления в модуле объекта?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |