Имя: Пароль:
1C
1С v8
Как проверить в модуле объекта что документ новый
0 Eeelena
 
28.05.19
06:17
Здравствуйте.

Подскажите, пожалуйста, как проверить в модуле объекта что документ новый (обычные формы) УПП 1.3
1 Garykom
 
гуру
28.05.19
06:20
2 Сияющий в темноте
 
28.05.19
08:22
поди пользователь на ееерс работает,судя по нику.
обьект.ссылка.пустая()
3 Eeelena
 
28.05.19
08:52
(2) она не пустая
4 Eeelena
 
28.05.19
08:52
(1) а если в подписке на событие
?
5 НЕА123
 
28.05.19
08:54
ЭтоНовый()
?
6 Гипервизор
 
28.05.19
08:57
(3) Ну и какая же она для нового объекта?
7 sqr4
 
28.05.19
08:58
(6) при записи уже ссылка есть!
8 Fish
 
28.05.19
08:59
(7) Так проверять надо ПередЗаписью
9 Garykom
 
гуру
28.05.19
09:00
ПриЗаписи никак, объект уже не новый и по сути записан в базу.
Только ПередЗаписью он еще "новый", с учетом того что мог прийти по РИБу
10 НЕА123
 
28.05.19
09:15
11 Rovan
 
гуру
28.05.19
09:16
В ПередЗаписью передать это в структуру доп. свойств
ДополнительныеСвойства (AdditionalProperties)
Использование: Только чтение.
Описание: Тип: Структура.
Может использоваться в тех случаях, когда необходимо хранить некоторые значения, связанные с объектом, на время выполнения некоторых операций, без изменения объекта. Например, при обработке событий в подписке на события.

а в ПриЗаписи посмотреть значение
12 АнализДанных
 
28.05.19
09:29
Процедура ПередЗаписью()

   ДополнительныеСвойства.Вставить("ЭтоНовый", ЭтоНовый());

КонецПроцедуры

Процедура ПриЗаписи()

  ЭтоНовый = ДополнительныеСвойства.ЭтоНовый;

КонецПроцедуры
13 palsergeich
 
28.05.19
09:41
И весь этот супер код ломается, если используется метод УстановитьСсылкуНового.
Если нужна бетонная гарантия, что объект новый не смотря на ссылку - в общего назначения есть функция Общего назначения.СсылкаСуществует
14 Eeelena
 
28.05.19
09:51
(13) ОбщегоНазначения.СсылкаСуществует(Источник.ссылка) возвращает Истину, хотя я предполагала что раз новый док должно быть ЛОЖЬ
15 palsergeich
 
28.05.19
09:53
(14) я думаю не стоит говорить, что любая проверка имеет смысл только в событии ПередЗаписью, и если признак нужен в другом событии то используйте дополнительные свойства
16 Eeelena
 
28.05.19
09:56
(15) ок, поняла, спасибо
17 catena
 
28.05.19
09:57
(16)С пятого раза, это хорошо :)
18 Eeelena
 
28.05.19
11:01
(17) лучше поздно, чем никогда)
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший