![]() |
![]() |
![]() |
|
Как получить ссылку на записываемый документ в момент его записи ? | ☑ | ||
---|---|---|---|---|
0
TENKOSERG
17.12.08
✎
11:29
|
Добрый день. Напомните, пожалуйста.
Как получить ссылку на записываемый документ в момент его записи ? |
|||
1
Mitriy
17.12.08
✎
11:30
|
а как получить момент записи?
|
|||
2
hhhh
17.12.08
✎
11:31
|
(0) Ссылка
|
|||
3
mythos
17.12.08
✎
11:31
|
Если документ записывается повторно, то ЭтотОбъект.Ссылка. Если это новый документ, то ссылка на него будет доступна только после записи. Во время записи ссылки быть не может, так как объект еще не записан.
|
|||
4
Лефмихалыч
17.12.08
✎
11:32
|
(3) "Во время записи ссылки быть не может" - довольно смелое утверждение
|
|||
5
KAO111
17.12.08
✎
11:33
|
(3) Ну вообще-то есть УстановитьСсылкуНового()
|
|||
6
Serg_1960
17.12.08
✎
11:34
|
(3) Вы уверены в этом?
ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>) УстановитьСсылкуНового (SetNewObjectRef) Синтаксис: УстановитьСсылкуНового(<Ссылка>) Параметры: <Ссылка> (обязательный) Тип: ДокументСсылка. Ссылка, которая будет назначена при записи нового объекта. Описание: Устанавливает значение для нового (созданного и еще не записанного) объекта, которое будет назначено при записи в качестве ссылки. Значение не может равняться ссылке какого-либо из имеющихся в базе данных объекта данного типа. Уникальность ссылки проверяется при записи объекта. |
|||
7
hhhh
17.12.08
✎
11:34
|
(5) в процедуре ПриЗаписи() ссылка уже существует, так что это лишнее
|
|||
8
mythos
17.12.08
✎
11:34
|
(4)(5) Был не прав. Посыпаю голову пеплом....
|
|||
9
H A D G E H O G s
17.12.08
✎
11:35
|
(5) При кривых руках и распределенных базах УстановитьСсылкуНового() - это страшное оружие.. Я бы постеснялся давать его тупым одноэсникам..
|
|||
10
nvs
17.12.08
✎
11:36
|
На всякий случай добавлю (можеь пригодиться): ПолучитьСсылкуНового
|
|||
11
Serg_1960
17.12.08
✎
11:38
|
На всякий случай добавлю (может пригодиться :)) можно использовать в комбинации с
ДокументМенеджер.<Имя документа> (DocumentManager.<Имя документа>) ПолучитьСсылку (GetRef) Синтаксис: ПолучитьСсылку(<Уникальный идентификатор>) Параметры: <Уникальный идентификатор> (необязательный) Тип: УникальныйИдентификатор. Уникальный идентификатор, из которого будет формироваться ссылка. Возвращаемое значение: Тип: ДокументСсылка. Описание: Формирует ссылку из значения типа УникальныйИдентификатор. Данный уникальный идентификатор может быть в дальнейшем получен из ссылки методом УникальныйИдентификатор. Примечание: Если параметр не указан или передано значение Неопределено, то будет сформирована новая уникальная ссылка |
|||
12
Serg_1960
17.12.08
✎
11:42
|
(9) В РИБ-базе есть защита от кривых ручек :) Это типа так:
Процедура ПриЗаписи() Если ОбменДанными.Загрузка Тогда Возврат; КонецЕсли; |
|||
13
H A D G E H O G s
17.12.08
✎
11:49
|
(12) Которая успешно обходится дятлами типа так:
v8: Изменились идентификаторы при обмене |
|||
14
H A D G E H O G s
17.12.08
✎
11:51
|
(13) Сабж читаем внимательно, там в роли дятла - не я..
Забавно и страшно было видеть дикое количество абсолютно одинаковых дублей контрагентов. Дубли росли по принципу "снежный ком", ибо 18 периферий.. |
|||
15
Serg_1960
17.12.08
✎
11:53
|
(13) Помню, помню... класное обсуждение было :) И причина - "убойная" :))
|
|||
16
H A D G E H O G s
17.12.08
✎
11:54
|
(15) Ну ниче, вроде товарищь порешал. По тихому все, без шуму и писку.
|
|||
17
Serg_1960
17.12.08
✎
11:56
|
Вместо И было ИЛИ - какая мелочь! Любой может ошибится :( Но зато какой результат! :)
|
|||
18
Stepa86
17.12.08
✎
11:58
|
Каждый раз необходимость получить ссылку у незаписанного объекта получалось обходить не используя УстановитьСсылкуНового() итп... нужно просто немного подумать...
|
|||
19
Serg_1960
17.12.08
✎
12:04
|
А если шутки в сторону, то:
Работать с ссылкой еще не записанного объекта - "не есть хорошо"! Почему? Потому что объект может быть и не записан впоследствии.. |
|||
20
TENKOSERG
17.12.08
✎
13:09
|
Спасибо за обсуждение. Ссылка при записи действительно уже существует. Ситуация такая. Хотелось бы в журнале документов отображать основной документ партии. Для документа: Поступление товаров и услуг мне необходимо было указать его же как документ основной партии. (Ссылку на сам документ в журнале выбрать нельзя) Пришлость добавить реквизит в ПТУ: Основная партия. Присваиваю ссылку при записи. Теперь появился запрос: Документ изменен. Записать ? Как с этим бороться ?
|
|||
21
YauheniL
17.12.08
✎
13:16
|
Либо в конце процедуры записывать принудительно (команда "Записать"), т.к. изменяется УЖЕ ЗАПИСАНННЫЙ объект, то устанавливается флаг "Модифицированность". Нужно учесть, что перезапись документа со статусом "Проведен" равна его перепроведению.
Либо перенести код в "Перед записью", но там не будет ссылки у новых объектов |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |