![]() |
|
Подписка на события, узнать новый ли документ и если нет получить его ссылку? | ☑ | ||
---|---|---|---|---|
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) Вот блин, Не думал что Имя влияет когда обработчик будет обрабатыватся..
Ща после исправления скрин делал, заметил что все в порядке. Но в голове не укладывается, событие же ПриЗаписи...а в имени указано ПередЗаписью...Как это связанно то Спасибо, виноват, не внимательность..блин |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |