Имя: Пароль:
1C
1С v8
Подписка на события, узнать новый ли документ и если нет получить его ссылку?
0 vsafonin
 
04.04.13
19:31
Всем доброго времени суток, делаю подписку на события передЗаписью, создал общий модуль, там код:
Если Источник.ЭтоНовый()=истина тогда
//тут надо в регистр сведений записать
КонецЕсли

Так вот, если подписка на события передЗаписью тогда все хорошо Источник.ЭтоНовый выдает правильные результаты. Но вот в регистр нужно передать ссылку на объект, но если использовать
Источник.Ссылка или Источник.ПолучитьСсылкуНового() то получаю пустые поля.
Если подписка на события ПриЗаписи тогда ссылка получается, но вот:
Источник.ЭтоНовый()

Всегда возвращает ложь.

Так как же мне сделать?
Заранее спасибо за помощь.
1 hhhh
 
04.04.13
19:36
использовать две подписки: ПередЗаписью и ПриЗаписи. Ну это же элементарно, Ватсон.
2 Фокусник
 
04.04.13
19:37
(0) "//тут надо в регистр сведений записать"
В этом РС будет храниться ссылка на объект? Тогда можно при записи проверять есть ли уже ссылка на этот документ в этом РС. Если нет, значит НОВЫЙ документ (нужно записать в РС) :)
3 vsafonin
 
04.04.13
19:37
Эмм а в какой момент я в регистр писать буду?
мне надо только если документ новый..
4 Фокусник
 
04.04.13
19:38
(3) Нет записи в РС, значит еще не записано, значит новый :)
5 Bober
 
04.04.13
19:39
Если это новый и ссылка равна пустой ссылке и получить ссылку нового тоже пустая ссылка, то установи ссылку нового
6 vsafonin
 
04.04.13
20:01
(5) А как это правильно сделать?

Пытаюсь:

Источник.УстановитьСсылкуНового(Источник.Ссылка);
Запись.Документ = Источник.ПолучитьСсылкуНового();

Получаю - пустое значение Оо
7 banco
 
04.04.13
20:02
(0)
в ПередЗаписью    Источник.ДополнительныеСвойства.Вставить("ЭтоНовый", ЭтоНовый());

в ПриЗаписи      Если  Источник.ДополнительныеСвойства.ЭтоНовый Тогда
8 banco
 
04.04.13
20:04
(7) Источник.ЭтоНовый()
9 Михаил Козлов
 
04.04.13
20:13
Можно в подписке ПередЗаписью установить дополнительное свойство для нового, а в подписке ПриЗаписи его проанализировать.
10 Maxus43
 
04.04.13
20:16
Источник.УстановитьСсылкуНового() просто не предалаги? ну вкрайняк УстановитьСсылкуНового(Новый УникальныйИденттификатор). Сп нет под рукой, не помню про обязательность параметроа
11 Михаил Козлов
 
04.04.13
20:26
(10) Подписки удобнее.
12 vsafonin
 
04.04.13
20:44
(10) Так УстановитьСсылкуНового(Ссылка)
А Новый УникальныйИдентификатор - строка.
При выполнении ругается на не соответствие типов.

А
Источник.УстановитьСсылкуНового() = пустая ссылка

(9) Блин, косяк - и приЗаписи ссылка пустая..
13 vsafonin
 
04.04.13
20:44
То есть у меня и передЗаписью, ссылка пустая.
и ПриЗаписи ссылка пустая..

Так что вопрос теперь в другом, как мне ссылку то получить Оо
14 vsafonin
 
04.04.13
21:09
Это вообще возможно? Оо с помощью подписок сделать?
документов несколько..
15 Михаил Козлов
 
04.04.13
21:12
(14) В (7) написано.
16 vsafonin
 
04.04.13
21:13
(15) С этим то я разобрался и так сдела) но и приЗаписи ссылка пустая...
17 Aprobator
 
04.04.13
21:24
НоваяСсылка = Документы.НужныйВид.ПолучитьСсылку();
ТвойДокумент.УстановитьСсылкуНового(НоваяСсылка)
18 vsafonin
 
04.04.13
21:26
(17)
Так ща и делаю, но у меня этих документов штук 10
и кроме как конструкции:
Если Источник.Вид = значение тогда
бла бла
ИначеЕсли Источник.Вид = Значение тогда
Бла бла

и так для всех документов.

По проще никак ?
19 Aprobator
 
04.04.13
21:28
Источник[вид].ПолучитьСсылку()
20 Aprobator
 
04.04.13
21:30
Вернее
Документы[Источник.Метаданные.Имя].ПолучиПолучить.....
Ну и т.д.
21 Aprobator
 
04.04.13
21:35
Млин. Кстати, нафиг ссылка вообще? Источник.Движения
22 vsafonin
 
04.04.13
21:53
(21) Регистр сведений тоже созданный, задача как можно меньше в типовую конфу изменений вносить.
23 vsafonin
 
04.04.13
22:30
(20)
Ругается Источник.Метаданные - Метод объекта не определен ((
24 vsafonin
 
04.04.13
22:31
(23) Поле объекта не обнаружено, конечно же
25 hhhh
 
04.04.13
22:44
ПриЗаписи должна быть ссылка. Наверно, только в названии процедуры написал при записи. А событие наверняка левое прицепил.
26 vsafonin
 
04.04.13
23:00
(25) Проверил, не перепутал. Нет ссылки и все тут. Событие ПриЗаписи
27 hhhh
 
04.04.13
23:05
(26) скрин подписки и Источник.Ссылка в отладчике в студию.
28 vsafonin
 
04.04.13
23:14
Источник.Ссылка:
http://itmages.ru/image/view/970257/d41d8cd9
Подписка:
http://itmages.ru/image/view/970236/d41d8cd9

Как то так
Синоним и Имя не важно же (и да поменял).
29 hhhh
 
04.04.13
23:19
(28) почему ПередЗаписью?
30 vsafonin
 
04.04.13
23:25
(29) Вот блин, Не думал что Имя влияет когда обработчик будет обрабатыватся..
Ща после исправления скрин делал, заметил что все в порядке. Но в голове не укладывается, событие же ПриЗаписи...а в имени указано ПередЗаписью...Как это связанно то

Спасибо, виноват, не внимательность..блин