Имя: Пароль:
1C
1С v8
ПолучитьСсылкуНового для существующего объекта
,
0 John83
 
18.08.17
11:49
УПП 1.3
Перед записью номенклатуры нужно узнать, изменятся ли счета учета. Соответственно эти данные вытаскиваются запросом для которого нужна ссылка на объект.
Можно ли как-то в подписке ПередЗаписью получить ссылку на новый объект?
Или только через две подписки ПередЗаписью и ПриЗаписи?
1 Рэйв
 
18.08.17
11:55
Можно
2 Рэйв
 
18.08.17
11:58
только если объект новый - откуда там на нем записи?
3 John83
 
18.08.17
12:03
(2) в заголовке указано "для существующего объекта"
4 Рэйв
 
18.08.17
12:04
(3)У существующего есть уже ссылка. Зачем тебе новую?
5 John83
 
18.08.17
12:05
(4) открыл номенклатуру, меняю родителя, при этом возможно поменяются счета учета, вот перед записью и хочу это проверить
так понятней?
6 Рэйв
 
18.08.17
12:07
(5)Ну отправляй в запрос ссылку номенклатуры и смотри. Не понял в чем сложность то?
7 aleks_default
 
18.08.17
12:08
Непонятно что означает тогда "получить ссылку на новый объект?"
8 John83
 
18.08.17
12:09
(6) ПередЗаписью у нас есть только ссылка старого объекта, как в этом же обработчике получить ссылку на новый объект?
9 Рэйв
 
18.08.17
12:09
(5)я боюсь предположить, что ты считаешь, что ссылка каждый раз при записи устанавливается новая:-)  Надеюсь я ошибаюсь?:-)
10 John83
 
18.08.17
12:09
(7) да хз, как еще тему назвать было
11 John83
 
18.08.17
12:10
(9)
+8 как в этом же обработчике получить ссылку на ИЗМЕНЕННЫЙ объект?
12 Рэйв
 
18.08.17
12:11
(11)Ну ты даешь:-)  Хоть матчасть почитал бы чтоли.
Ссылка если записалась - она всегда одна. И пофигу сколько раз ты записываешь объект.Ссылка не меняется
13 Рэйв
 
18.08.17
12:12
(11)Так что и у "измененного" и "неизмененного" - она будет одинаковая.
14 shadow_sw
 
18.08.17
12:12
в общем, он хочет ссылку на еще не записанный объект, в твоем случае, при изменении объекта,ссылка не изменится
15 John83
 
18.08.17
12:14
(12) пля..

ОбъектДоЗаписи = Источник.Ссылка;
Источник.Родитель = НовыйРодитель;
Источник.Записать();
ОбъектПослеЗаписи = Источник.Ссылка;

Возможно ли в одной подписке получить и ОбъектДоЗаписи и ОбъектПослеЗаписи?
16 Рэйв
 
18.08.17
12:14
(12)пля. Они ОДИНАКОВЫЕ!:-)
17 Рэйв
 
18.08.17
12:14
(16) к (15)
18 John83
 
18.08.17
12:15
(16) но если их отправить в запрос, то результат будет разный
19 Рэйв
 
18.08.17
12:15
(18)НС какого перепуга?  Ссылка - это просто УИД ..Поля у ссылки могут хоть сколько угодно различаться, но УИД всегда одинаковый.
20 Рэйв
 
18.08.17
12:16
Если запрос зависит от родителя- это уже другой вопрос.
21 shadow_sw
 
18.08.17
12:16
(19) согласен, по аналогии - при изменении реквизитов у ЛЮБОГО объекта, УИД не меняется, если он уже создан
22 John83
 
18.08.17
12:17
(20) именно об этом речь
зависит от родителя и вида номенклатуры
23 Рэйв
 
18.08.17
12:18
(22)Вот с этого и надо было начинать.
Если нужен родитель до того как его поменяли, то .ссылка в ПередЗаписью тебе его даст
24 Вафель
 
18.08.17
12:18
При записи нового все поля изменяются, проверять смысла нет
25 Альбатрос
 
18.08.17
12:20
(22) А ты умеешь запудрить мозгт )))
26 1dvd
 
18.08.17
12:22
Если НЕ Ссылка.Родитель = Родитель Тогда
    // Изменился родитель
27 John83
 
18.08.17
12:32
(26) да ты гений!!! а я-то дурень, все не мог до этого додуматься
28 Рэйв
 
18.08.17
12:33
>>ПередЗаписью у нас есть только ссылка старого объекта, как в этом же обработчике получить ссылку на новый объект?
В общем ПередЗаписью:

НовыРодитель=ЭтотОбъект.Родитель;
СтарыйРодитель=Ссылка.Родитель;
29 John83
 
18.08.17
12:34
как понимаю, тут только два варианта:
либо использовать две подписки, либо менять запрос
30 Рэйв
 
18.08.17
12:35
(29)Да проще запрос новый написать
31 Вафель
 
18.08.17
12:35
(26) Лучше писать Ссылка.Родитель <> Родитель
32 aleks_default
 
18.08.17
12:35
В подписке
НовыйРодитель = Источник.Родитель;
СтарыйРодитель  Источник.Ссылка.Родитель;
33 h-sp
 
18.08.17
13:43
(29) зачем менять запрос. Просто параметром запроса ставьте не Ссылка, а Родитель.
34 mistеr
 
18.08.17
13:54
(31) Чем лучше?
35 vi0
 
18.08.17
14:06
(34) читается проще, операций в выражении меньше
36 mistеr
 
18.08.17
14:56
(35) Зато пишется сложнее.
37 Вафель
 
18.08.17
15:00
(36) Читабельность превыше
38 Вафель
 
18.08.17
15:00
да и 1с не рекомендует так писать
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший