Как при записи формы узнать - это форма нового объекта или уже существовавшего ?

1. ResAndDev 09.11.18 13:49 Сейчас в теме
Приветствую. Как можно перед записью формы узнать - это был новый объект или уже существовавший ? Надо задать вопрос пользователю в зависимости от этого.
По теме из базы знаний
Найденные решения
2. Boneman 298 09.11.18 13:52 Сейчас в теме
У нового объекта, пустой реквизит Объект.Ссылка,

после первой записи, ссылка уже заполнено

т.е.
Если НЕ ЗначениеЗаполнено(Объект.Ссылка) тогда
//это новый объект
КонецЕсли;
Danmer; dalini; user598655_ilia-bers; +3 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
9. maks_20 164 09.11.18 14:18 Сейчас в теме
(1) А чем плох метод Объект.ЭтоНовый() ?
10. _Driver_ 1 09.11.18 14:19 Сейчас в теме
(9) на управляемых формах этот метод доступен только в модуле объекта.
13. maks_20 164 09.11.18 14:27 Сейчас в теме
(10) сорь, просто нигде не увидел в теме, что речь идет именно об УФ.
11. Octopus 337 09.11.18 14:20 Сейчас в теме
(9)
ЭтоНовый

Тем, что не доступен на клиенте
12. _Driver_ 1 09.11.18 14:23 Сейчас в теме
(11) на форме на сервере тоже недоступен в управляемых формах.
15. Octopus 337 09.11.18 14:47 Сейчас в теме
(12) Неправда: РеквизитФормыВЗначение("Объект").ЭтоНовый() - работает
16. _Driver_ 1 09.11.18 15:04 Сейчас в теме
(15) так не пробовал, согласен.
2. Boneman 298 09.11.18 13:52 Сейчас в теме
У нового объекта, пустой реквизит Объект.Ссылка,

после первой записи, ссылка уже заполнено

т.е.
Если НЕ ЗначениеЗаполнено(Объект.Ссылка) тогда
//это новый объект
КонецЕсли;
Danmer; dalini; user598655_ilia-bers; +3 Ответить
3. _Driver_ 1 09.11.18 13:55 Сейчас в теме
(2) Так не работает.

ps. Сорян, ошибся работает
5. Boneman 298 09.11.18 13:56 Сейчас в теме
(3) не может быть. Это стандарный метод.
Покажи свой код.Ты наверное не там его ловишь, или не в том событии..или понятие новый объект у тебя какое-то свое.
7. ResAndDev 09.11.18 14:03 Сейчас в теме
8. ResAndDev 09.11.18 14:05 Сейчас в теме
4. _Driver_ 1 09.11.18 13:56 Сейчас в теме
Вот так можно
Если Объект.Ссылка.Пустая() Тогда
////////////
КонецЕсли;
6. spacecraft 09.11.18 13:58 Сейчас в теме
(4) жесть. Могу только предположить, что при проверке ЗначениеЗаполнено не обратили на НЕ.
14. SlavaKron 09.11.18 14:30 Сейчас в теме
Подозреваю, автор делает ошибку, привязываясь именно к событию Формы.
17. YannikAlx 43 09.11.18 16:01 Сейчас в теме
(14) Я сразу тоже заподозрил...
Ибо вопрос звучит странновато - "Как при записи формы..."
Кто и зачем записывает форму?
18. ResAndDev 09.11.18 17:06 Сейчас в теме
(14)это не боевая задача. Просто тренировка. Хочу разобраться во всех этих ПриСозданииНаСервере() и т.д.
20. YannikAlx 43 09.11.18 17:23 Сейчас в теме
(18) Форма создается на сервере, но не записывается никуда на долгое хранение... она отправляется на клиент показывается вам на вашем телевизоре.
Поэтому текст вопроса немного абсурден...
Если по челокечески спрашивать, то
"Как ОТКРЫТИИ формы узнать - это форма нового объекта или уже существовавшего"


А потом вообще бред пошел...
"Как можно перед записью формы узнать?" - форму вы не записываете.
Сохраняете объект справочника или документ...
Поэтому про форму вообще зря упоминали в теме
25. ResAndDev 09.11.18 18:10 Сейчас в теме
(20) я спрашивал про событие ПриЗаписи() в модуле формы.
28. YannikAlx 43 09.11.18 18:19 Сейчас в теме
(25) Вы продолжаете ? )))))
Ну какие события в модуле формы?

В модуле только процедуры.

События - это события , которые происходят с объектом, а не с формами.
30. spacecraft 09.11.18 18:22 Сейчас в теме
(28) садитесь, два. Идите учить основы.
https://its.1c.ru/db/pubdevguide83/content/611/hdoc
TeMochkiN; bad_wag; Fox-trot; +3 Ответить
32. ResAndDev 09.11.18 18:26 Сейчас в теме
(30)да пес с ним. Ответ то на вопрос я получил, значит мысль донес. Пусть развлекается.
33. YannikAlx 43 12.11.18 09:21 Сейчас в теме
(32) А вам 2 по русскому кроме того , ибо мало что 1С не знаете , так еще и читать не умеете! Смотрю в книгу - вижу фигу - это про вас?
Написано на сайте ИТС по вашей ссылке
"Последовательность событий при записи нового документа" ,
а не при записи формы!
События происходят с ОБЪЕКТАМИ а не с формами!
Формы обрабатывают события и их модули могут содержать процедуры обработчиков...

Вас оставить на второй год учить матчасть ???
19. acanta 09.11.18 17:08 Сейчас в теме
Аналог ЭтоНовый() в управляемом приложении
Чтобы выяснить новый объект или нет, необходимо использовать конструкцию вида:
Параметры.Ключ.Пустая();
Если объект записан в базу данных, он содержит ссылку на объект — Ключ. Если ключ пустой- объект новый.
Например:
Если НЕ Параметры.Ключ.Пустая() Тогда
Возврат Истина;
КонецЕсли;
alex-l19041; +1 Ответить
21. YannikAlx 43 09.11.18 17:26 Сейчас в теме
Событие ПередЗаписью относится не к форме а к объекту....
22. spacecraft 09.11.18 17:42 Сейчас в теме
(21) а если так: "Как можно в обработчике перед записью модуля формы узнать?" ?
23. YannikAlx 43 09.11.18 17:54 Сейчас в теме
(22) А что узнать-то ? день недели ? - Пятница!
24. spacecraft 09.11.18 18:02 Сейчас в теме
(23) не надо юродствовать. Это ваши комментарии цитировал.
26. YannikAlx 43 09.11.18 18:12 Сейчас в теме
И в чем вы юродство увидали?
Вы прочтите сами еще раз свой (22) -в моих комментариях таких словей нетути!
И потому - Пятница. И вы уже глючите...
27. spacecraft 09.11.18 18:18 Сейчас в теме
(26) смотрите свой (20):
А потом вообще бред пошел...
"Как можно перед записью формы узнать?" - форму вы не записываете.
Сохраняете объект справочника или документ...
Поэтому про форму вообще зря упоминали в теме

и (21):

Событие ПередЗаписью относится не к форме а к объекту....

Мой комментарий в (22) это дополненная смыслом фраза из (20). Что не понятно?
Ваш комментарий из (23) никак не вяжется с (20). "Там понимаю, тут не понимаю". Определитесь.
29. YannikAlx 43 09.11.18 18:21 Сейчас в теме
Все вяжется прекрасно...
Сохраняется (записывается) не форма, а объект и потому событие относится именно не к форме а к а объекту .
31. spacecraft 09.11.18 18:24 Сейчас в теме
(29) События есть на форме. ПриИзменении это тоже событие. К объекту не имеющее прямого отношения.
34. YannikAlx 43 12.11.18 09:23 Сейчас в теме
(31) События не на форме! ПриИзменении ОБЪЕКТА , которому принадлежит форма.
Вы не форму меняете , а объект, мух от котлет отделите в своих познаниях!
35. spacecraft 12.11.18 09:25 Сейчас в теме
36. YannikAlx 43 12.11.18 09:30 Сейчас в теме
Вы на самом деле читать не умеете , или может по русски плёхо плёхо?
Вы прочтите сами то что шлете!
Ну написано же ПРИ ИЗМЕНЕНИИ ДАННЫХ!
Данные - это объект , ибо это он содержит форму а не наоборот!
У Документа есть форма, а не у формы есть документ!
Когда меняются данные документа - форма реагирует , если именно в ней содержится обработчик.
Но на некоторые события обработчик лежит в модуле объекта , ибо выполнять действия надо на сервере и форма вообще отыхает...
Устал я вас образовывать...
Ибо кажется - бесполезно - гордыня вас заела.............
37. spacecraft 12.11.18 09:38 Сейчас в теме
(36) вот ведь упертый.
Событие "ПриОткрытии" какой объект изменяет?
У отчета какой объект изменяют события?
События привязанные к реквизитам формы, какой объект изменяют?
Даже для того же документа в УФ, во время События формы "ПередЗаписью" объекта документа нет в памяти. Вообще нет.
38. YannikAlx 43 12.11.18 10:04 Сейчас в теме
За истину стоял и стоять буду.
Вы же гоните пургу в основном...
Есть события, связанные непосредственно и с самой формой и с элементами формы, но
во-первых
к теме они не относились, ибо понятия "При записи" относится к категории событий именно самого объекта. И список этих событий смотри совсем в другом месте, а не там , где смотришь...
Обсуждая 1С ты же не приводишь примеры из событий на автодороге.
Так зачем к событиям объекта (Перед записью, при записи, при копировании, перед удалением и т д.) притянул за уши события непосредственно форм.

во-вторых Мы говорили о разных вещах по ходу...

во-третьих опять же "Перед записью" - событие именно с самим объектом, который как раз и существует уже именно в памяти , но не записан в базу. Мало того вы можете даже ссылку на объект установить и получить вообще не записывая сам объект.
УстановитьСсылкуНового (SetNewObjectRef), ПолучитьСсылкуНового()
Прикрепленные файлы:
39. spacecraft 12.11.18 10:14 Сейчас в теме
(38) да уж.
Про (28) вы благополучно забыли? Напомню:
Ну какие события в модуле формы?

В модуле только процедуры.

События - это события , которые происходят с объектом, а не с формами.


Продолжать дальше объяснять вам не вижу смысла. Все равно не хотите понимать.
40. YannikAlx 43 12.11.18 10:25 Сейчас в теме
Я и говорю - на разных языках мы говорим...
Я о событиях объекта конкретно- про которые поднят вопрос в теме.
А вы про все остальное , но не по теме.
О чем уж тут говорить.
Типа опять почему бы не поговорить о событиях в мире...
А в модуле на самом деле не может быть событий, даже тех, которые с формой происходят.
Там именно процедуры обработчики...
41. vadim1011985 100 12.11.18 11:00 Сейчас в теме
Вообще событие ПередЗаписью не совсем событие объекта оно возникает на стороне Клиента , когда пользователь нажимает кнопку записать иначе как объект узнает что ему надо «записаться»
42. YanTsys 12 12.11.18 14:15 Сейчас в теме
	ЗначениеОбъекта=РеквизитФормыВЗначение("Объект");
	Если ЗначениеОбъекта.ЭтоНовый() Тогда
          // Ваш код
	КонецЕсли;
43. kirk_ufa 12.11.18 15:02 Сейчас в теме
Если речь о форме то почему не так ТекущийОбъект.ЭтоНовый() ?
44. vadim1011985 100 12.11.18 15:03 Сейчас в теме
(43) потому что УФ и надо проверить на клиенте
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот