|
получить еще не ЗАПИСАННЫЙ объект по ссылке | ☑ | ||
---|---|---|---|---|
0
dron4ikkk
10.09.14
✎
11:54
|
Задачка такая: в справочнике создаю документ программно, и для того, чтобы документ провелся, необходимо в реквизит (у этого документа) СпрОбъект(тип СправочникСсылка) присвоить объект, который был бы получен по ссылке. ТекущийОбъект имеет тип СправочникСсылка и должно быть присвоение к док.СпрОбъект, но пройдясь отладчиком док.СпрОбъект пустой и из-за мой документ не проводится((( что делать ? как правильно присвоить?
если НЕ (Объект.Ссылка.Пустая()) тогда док.СпрОбъект = Объект.Ссылка; иначе док.СпрОбъект = ТекущийОбъект; конецесли; док.Записать(РежимЗаписиДокумента.Проведение); |
|||
1
ДенисЧ
10.09.14
✎
11:55
|
ПолучитьСсылкуНового()
|
|||
2
Ненавижу 1С
гуру
10.09.14
✎
11:55
|
в событии ПриЗаписи справочник уже записан
|
|||
3
dron4ikkk
10.09.14
✎
11:56
|
(1) так что-ли ТекущийОбъект.ПолучитьСсылкуНового() ?
|
|||
4
dron4ikkk
10.09.14
✎
11:57
|
(2) мля у меня перед записью
|
|||
5
Ненавижу 1С
гуру
10.09.14
✎
11:58
|
(4) ну дело твоё
|
|||
6
dron4ikkk
10.09.14
✎
12:03
|
с начало необходимо установитьссылкунового() ?
|
|||
7
Зеленый пень
10.09.14
✎
12:03
|
(3) Да, принудительно присвоить ссылку новому объекту. Её и использовать. Смотри очень внимательно в СП про ПолучитьСсылкуНового().
|
|||
8
dron4ikkk
10.09.14
✎
13:25
|
сделал так: ТекущийОбъект.УстановитьСсылкуНового(Справочники.Объекты.ПолучитьСсылку(Новый УникальныйИдентификатор));
если НЕ (Объект.Ссылка.Пустая()) тогда док.СпрОбъект = Объект.Ссылка; иначе док.СпрОбъект = ТекущийОбъект.ПолучитьСсылкуНового(); конецесли; ошибки не выводит..документ проводится, НО в отладчике пробегаясь по строчке: ТекущийОбъект.УстановитьСсылкуНового(Справочники.Объекты.ПолучитьСсылку(Новый УникальныйИдентификатор)); пишет, что поле объекта не обнаружено, -текущийобъект.установитьссылкунового |
|||
9
dron4ikkk
10.09.14
✎
13:27
|
как быть?
|
|||
10
DrZombi
гуру
10.09.14
✎
13:49
|
(4) Рекомендую вынести такое "ЧУДО" в ПриЗаписи или ОбработкаПроведения
|
|||
11
DrZombi
гуру
10.09.14
✎
13:50
|
(6) Зачем? :)
Если нужно, что бы в документе еще были ссылки на новые элементы, то можно будет еще раз записать тот же документ, но с параметрами, что бы не проверять 20-ть раз одно и тоже :) |
|||
12
DrZombi
гуру
10.09.14
✎
13:51
|
(9) А такой метод есть? "УстановитьСсылкуНового"
|
|||
13
DrZombi
гуру
10.09.14
✎
13:53
|
(8) текущийобъект, это что?
|
|||
14
dron4ikkk
10.09.14
✎
15:04
|
(13) это справочник. (10) обработкапроведения у справочника нету.
|
|||
15
floody
10.09.14
✎
15:36
|
Все не читал, но похоже "ПолучитьСсылкуНового()" =)
|
|||
16
Kamas
10.09.14
✎
15:46
|
СправочникОбъект.<Имя справочника> (CatalogObject.<Имя справочника>)
ПолучитьСсылкуНового (GetNewObjectRef) Синтаксис: ПолучитьСсылкуНового() Возвращаемое значение: Тип: СправочникСсылка. Описание: Позволяет для нового (созданного и еще не записанного) объекта получить ранее установленное методом УстановитьСсылкуНового значение ссылки. Доступность: Сервер, толстый клиент, внешнее соединение. См. также: СправочникМенеджер, метод ПолучитьСсылку |
|||
17
Wobland
10.09.14
✎
16:15
|
>в справочнике создаю документ программно
никого не насторожило? |
|||
18
Kamas
10.09.14
✎
16:21
|
(17) норм всяко бывает может это справочник документы
|
|||
19
Адский плющ
10.09.14
✎
16:26
|
А потом пользователь решил справочник не записывать...
|
|||
20
lodger
10.09.14
✎
16:29
|
(17) как всегда охота увидеть эту чудную задачу, нафига это делается.
но чем бы дитя не тешилось. (0) где-нить в начале жизни формы справочника(ПриСозданииНаСервере) проверяем Объект.Ссылка.Пустая() и юзаем УстановитьСсылкуНового() а когда надо эту ссылку плюнуть в документ, то получаем ссылку из ПолучитьСсылкуНового() и прежде чем юзать еще раз читаем СП и думаем о параметрах методов. (19) ловить закрытие без записи, но это уже другая сторона медали. записанные таким раком документы без получения монопольного режима резко из базы уже не вынесешь, остается выловить эти доки, вытереть в них ссылки и пометить на удаление. |
|||
21
Адский плющ
10.09.14
✎
16:57
|
(20) Можно и на*кодить.
А можно просто спросить пользователя записать элемент перед созданием документа. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |