Имя: Пароль:
1C
 
Не работает функция ЭтоНовый() в процедуре ПередЗаписью()
0 terkin
 
30.06.08
11:43
Функция  ЭтоНовый() в процедуре ПередЗаписью() элемента справочника возвращает Ложь. В чем может быть дело?
1 Defender aka LINN
 
30.06.08
11:44
Значит, он не новый.
2 Maxus43
 
30.06.08
11:44
ЭтоНовый()
Возвращаемое значение:
Тип: Булево. Истина - изменяется еще ни разу не записанный элемент; Ложь - элемент уже записан.
Описание:
Определяет, записан ли элемент в базу данных. !!!!!!

СП рулит, читай чаще :)
3 terkin
 
30.06.08
11:49
При создании нового элемента справочника и вылазиет ложь. Как вообще можно проверить новый это элемент или нет?
4 Defender aka LINN
 
30.06.08
11:51
(3) ЭтоНовый() :)))))))))))))
З.Ы. Только что проверил - все работает.
5 MRAK
 
30.06.08
11:53
(3) значит ты его записал до проверки
6 Salvador Limones
 
30.06.08
11:53
Дай больше информации.
7 Maxus43
 
30.06.08
11:54
Процедура ПередЗаписью(Отказ)
   Сообщить (ЭтоНовый());
КонецПроцедуры

Процедура ФОРМЫ :)
Всё работает
8 PR
 
30.06.08
11:54
(3) Ты наверное забыл в настройках программы включить возможность использования методов объектов, в том числе метода "ЭтоНовый()" :))
9 Grek224
 
30.06.08
12:02
Посмотри в форме элемента должны быть на синей полосе формы *НОВЫЙ :). если лень то Этотобъект.Ссылка = Неопределно или Пустаяссылка там будет точно не помню
10 terkin
 
30.06.08
12:08
А что выполняется вначале, процедура в модуле эдемента формы или в модуле объекта?
11 Grek224
 
30.06.08
12:11
я точно не помню. всегда забываю хотя В проф разработке гончарова было сказано об этом . Я делаю проще беру создаю все интересующие меня процедуры ставлю сообщить. и пишу в сообщении имя процедуры которая вызывается . получается список последовательности вызова. красиво и сразу доходит что к ему
12 Grek224
 
30.06.08
12:11
Процедура ПередЗаписью(Отказ)
   Сообщить ("ПередЗаписью" + ЭтоНовый());
КонецПроцедуры

ну и т д
13 terkin
 
30.06.08
12:15
Во блин! Оказывается эти процедуры вызываются по 2 раза в итоге и получается что ЭтоНовый = Ложь :(((
14 hhhh
 
30.06.08
12:17
(13) значит где-то все-таки есть команда Записать().
15 Grek224
 
30.06.08
12:37
Парень грузишь ты меня. ОДИН раз вызывается казждая процедура если только ее не вызываешь еще раз методами языка. Кури форму модуля и форму объекта. ищи записать
16 Maxus43
 
30.06.08
12:41
(13) читай (7), думай... сначала модуль формы ПередЗаписью, потом Объект Перед записью, потом форма При записи... экспериментально так выходит
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший