Имя: Пароль:
1C
1С v8
v8: В глобальном модуле проверить ДокументОбъект на ЭтоНовый
0 Om_Bun
 
02.07.13
13:49
В глобальном модуле получаю  Источник с типом ДокументОбъект и значение конкретный документ. Как проверить является ли документ новым?
Заранее спасибо
1 Sammo
 
02.07.13
13:51
ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>)
ЭтоНовый (IsNew)
Синтаксис:
ЭтоНовый()
Возвращаемое значение:
Тип: Булево. Истина - изменяется еще ни разу не записанный документ; Ложь - документ уже записан.
Описание:
Определяет, записан ли документ в базу данных.
2 lEvGl
 
гуру
02.07.13
13:53
Если Объект.ЭтоНовый() не катит Тогда
Объект.Ссылка = Докуметы.ДокОбъект.Пустаяссылка()
3 Рэйв
 
02.07.13
13:54
Можно так

Если Док.Ссылка.Пустая() Тогда
   Сообщить("Это новый.");
КонецЕсли;
4 Maxus43
 
02.07.13
13:54
(2) это может не катить только если он запсиан, в этом случае и ваш вариант не прокатит
5 lEvGl
 
гуру
02.07.13
13:54
хотя если "значение конкретный документ" то какой он тогда новый
6 Maxus43
 
02.07.13
13:55
по (0) подозреваю что это подписка. Проверить можно только До записи объекта
7 H A D G E H O G s
 
02.07.13
13:55
Запросом в базе.
8 lEvGl
 
гуру
02.07.13
13:56
(4) что там не прокатит ? Если записан то ссылка есть, если нет то нет
9 Рэйв
 
02.07.13
13:57
После записи он уже по любому не новый, а имеющий ссылку
10 Рэйв
 
02.07.13
13:57
б\у типа:-)
11 Om_Bun
 
02.07.13
13:57
Все спасибо. Туплю сильно :) Учусь одним словом
12 Maxus43
 
02.07.13
13:58
(8) если не записан то прокатит ЭтоНовый. Вы утверждаете что есть случай когда ЭтоНовый не прокатит
13 Legj
 
02.07.13
14:01
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
   ДополнительныеСвойства.Вставить("ЭтоНовый", ЭтоНовый());
КонецПроцедуры

Далее:
Источник.ДополнительныеСвойства.ЭтоНовый
14 lEvGl
 
гуру
02.07.13
14:01
(12) ПриЗаписи не прокатит
15 lEvGl
 
гуру
02.07.13
14:02
(14)+ хотя отказаться от создания ссылки можно
16 H A D G E H O G s
 
02.07.13
14:02
(9) Не покатит УстановитьСсылкуНового()
17 Maxus43
 
02.07.13
14:02
(14) дак и ваше не прокатит...

Возникает при записи объекта. Процедура-обработчик вызывается после записи объекта в базу данных, но до окончания транзакции записи. (СП)
18 H A D G E H O G s
 
02.07.13
14:02
Не покатит, когда пришел с Обменом.
19 H A D G E H O G s
 
02.07.13
14:03
Ищите в базе, не ленитесь. Ссылка индексирована, найдется на 1-2-3.
20 Maxus43
 
02.07.13
14:04
(18) с обменом - он не новый. он сбоку
21 Om_Bun
 
02.07.13
14:19
А если создан при помощи копирования то это уже не новый получается и как тогда быть
22 hhhh
 
02.07.13
14:28
(21) при помощи копирования - новый получается, поэтому как быть - как всегда.
23 Maxus43
 
02.07.13
14:32
моджно проверить на ПараметрОбъектКопирования ещё
24 George Wheels
 
02.07.13
14:33
Откуда берётся Источник?
25 Om_Bun
 
02.07.13
14:36
Источник берется из подписки на событие событие ПриЗаписи

И показывает Источник.ЭтоНовый() Ложь
26 Maxus43
 
02.07.13
14:36
(25) 100 раз тут сказали, проверить можно только ДО записи. При записи уже не проверить
27 Maxus43
 
02.07.13
14:37
можно извратится конечно, но это не стоит этой задачи
28 Om_Bun
 
02.07.13
14:39
27 Спасибо.
29 George Wheels
 
02.07.13
14:47
ПередЗаписью
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.