Имя: Пароль:
1C
1С v8
Как отловить событие при переименовании элемента спр?
0 temsa
 
03.08.14
16:37
Самописка 8.3 . Хочу отловить именно не ввод нового названия а переименование уже записанного. При этом сравнив новое название со старым выдать предупреждение.

Какое событие поле наиболее подходящее???
1 Фокусник
 
03.08.14
16:39
(0) ПередЗаписью сравнить новое наименование и то, которое в ссылке. Вроде так.
2 Бешеная Нога
 
03.08.14
16:40
истину глаголет Фокусник
3 temsa
 
03.08.14
17:03
Понял спасибо.

Теперь осталось узнать как определить что элемент новый или уже записан... )))
4 Фокусник
 
03.08.14
17:05
(3) если еще не записан, то Объект.Ссылка.Пустая()
5 temsa
 
03.08.14
17:06
Не возброняется ли в модуле ПередЗаписью
Задавать вопрос пользвателью???
6 Сияющий Асинхраль
 
03.08.14
17:08
(3) Можно еще так:
Если Объект.ЭтоНовый() Тогда
7 Фокусник
 
03.08.14
17:09
(5) в модуле формы можно
8 GROOVY
 
03.08.14
17:09
(5) Я бы за это сильно бил по рукам.
9 temsa
 
03.08.14
17:10
Ну точнее не "Объект" а "ЭтотОбъект"
10 Сияющий Асинхраль
 
03.08.14
17:10
(5) Предупреждение, согласен, не к месту, а сообщение - без проблем...
11 GROOVY
 
03.08.14
17:10
+8 Если речь про модуль объекта.
12 temsa
 
03.08.14
17:11
(8) По ходу метод вопрос доступен только в:---

Доступность:

Тонкий клиент, веб-клиент, толстый клиент, мобильное приложение(клиент).
13 Сияющий Асинхраль
 
03.08.14
17:11
(9) В модуле формы ЭтотОбъект, а в подписке уже Объект...
14 temsa
 
03.08.14
17:12
(10) Я хотел задать вопрос типа

"Вы действительно хотите изменить навание?"

И в зависимости от ответа делать отказ или не делать...
15 Сияющий Асинхраль
 
03.08.14
17:13
(14) Тогда только в форме, а не в подписках...
16 Сияющий Асинхраль
 
03.08.14
17:15
+(15) Ну, и для этого случая можно:
Если ЭтоНовый() Тогда
17 temsa
 
03.08.14
17:16
(14) Я в подписки не лез пока. Пытался в модуле объекта сделать. А там не доступен метод.
18 temsa
 
03.08.14
17:16
(16) Не спорю так и делаю в некоторых случаях.
19 temsa
 
03.08.14
17:36
В форме сделал следующее

&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
    Рез = ПередЗаписьюНаСервере();
    если Рез = 0 Тогда
        Режим = РежимДиалогаВопрос.ДаНет;
        Ответ = Вопрос(НСтр("ru = 'Вы хоитие переименовать!!! Продолжить выполнение операции?';"
             + " en = 'Do you want to continue?'"), Режим, 0);
        Если Ответ = КодВозвратаДиалога.Нет Тогда
             Отказ = Истина;
        КонецЕсли;
    КонецЕсли;        

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

&НаСервере
Функция ПередЗаписьюНаСервере()
    
    Если Объект.Ссылка.Пустая() Тогда
         Возврат 1;
     ИначеЕсли Объект.Наименование <> Объект.Ссылка.Наименование тогда
         Возврат 0;
    Конецесли;
    Возврат 1;
    
КонецФункции


Но отладчиком не могу я отлвить и ни на что не реагирует (((????
20 Фокусник
 
03.08.14
17:42
(19) ИМХО, нагляднее вместо 0 и 1 использовать Ложь/Истина
21 temsa
 
03.08.14
17:48
(20) Согласен. Но важно сейчас не это а то что я не могу это в форме отловить..