Имя: Пароль:
1C
1С v8
Не срабатывает код в ПриОкончанииРедактирования
,
0 Morig
 
16.08.18
14:09
Обычное приложение. Цель - чтобы при выходе из формы списка справочника в конец наименования проставлялась фамилия пользователя. Не срабатывает. Ошибку не выдаёт.

Событие "ПриИзменении" не катит по причине того, что пользователь необязательно будет интерактивно менять содержимое поля.

Зашёл в тупик. Подскажите, пожалуйста.
1 DrShad
 
16.08.18
14:11
казалось бы, причем тут форма списка справочника и куда именно вставлять фамилию юзера?
2 Morig
 
16.08.18
14:11
Процедура ИзображенияПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования)

    ЭлСпр = Элемент.ТекущиеДанные.Ссылка.ПолучитьОбъект();
    ЭлСпр.Наименование = ЭлСпр.Наименование + " "+ ИмяПользователя();
    
КонецПроцедуры
3 DrShad
 
16.08.18
14:11
а где запись объекта?
4 DrShad
 
16.08.18
14:12
и у вас список в режиме редактирования в списке? мало вероятно
5 DrShad
 
16.08.18
14:13
да и наименование ограниченной длины, а если не вместится?
6 Mort
 
16.08.18
14:14
(3) Запись объекта не пролезла по причине ошибки несоответствия версии данных, имхо )))

(2) Меняй в текущих данных, а не лезь по ссылке. А вообще решение странное как минимум.
7 Мимохожий Однако
 
16.08.18
14:15
Отладчиком попадаешь в эту процедуру?
8 Morig
 
16.08.18
14:15
(6) так я и меняю в текущих данных. А как правильнее?
9 Morig
 
16.08.18
14:16
(7) да
10 Mort
 
16.08.18
14:17
(8) Ты не в текущих данных меняешь, а создаешь какой-то объект в ОЗУ и ему что-то пишешь, а потом про него забываешь.
11 Morig
 
16.08.18
14:18
(4) пользователь добавляет в справочник новый элемент. выбирает файл изображения. Наименование он может и не заполнить при этом. Соответственно событие "При изменении" не подходит.
12 Mort
 
16.08.18
14:18
(8) Элемент.ТекущиеДанные.Наименование = "Вот";
13 DrShad
 
16.08.18
14:20
(12) и дальше то что?
14 Morig
 
16.08.18
14:21
(12) так уже делал. Ошибка "Поле объекта недоступно для записи (Наименование)"
15 DrShad
 
16.08.18
14:22
(14) внезапно, да?
16 Morig
 
16.08.18
14:24
(15) во второй попытке уже ожидаемо)
17 Mort
 
16.08.18
14:26
(14) ПередОкончаниеРедактирования только.
18 Mort
 
16.08.18
14:27
(13) Дальше система передаст данные строки списка справочника редактируемого в списке в объект и запишет его.
19 Vinianel
 
16.08.18
14:29
А ПередЗаписью() уже некошерно использовать?
20 Mort
 
16.08.18
14:30
(19) Это такое особое поведение особой формы списка.
21 Vinianel
 
16.08.18
14:31
(20) А, магия. Нуок.
22 Morig
 
16.08.18
14:32
(17)Спасибо. Сработало
23 Morig
 
16.08.18
14:33
(19) не тот случай
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший