Событие :ПриНачалеРедактирования()

1. TOKAPEB 5 28.11.11 03:19 Сейчас в теме
Честно говоря, сейчас вспоминаю програмирование. Проблема: На форме элемента справочника "Валюта" добавлено ТабличноеПоле, привязанное к РегиструСведений "КурсыВалют". Хочу задействовать обработчик события "ТабличноеПоле1ПриНачалеРедактирования". Но при создании НовойСтроки или изменения старой обработчик не задействован - проверено отладчиком.
Вот процедура полностью:
Процедура ТабличноеПоле1ПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
	Если НоваяСтрока Тогда
		СтруктураКурса =  РегистрыСведений.КурсыВалют.ПолучитьПоследнее(ТекущаяДата(), Новый Структура("Валюта", Ссылка));
		Элемент.ТекущиеДанные.Курс = СтруктураКурса.Курс;
	КонецЕсли;
	
	
КонецПроцедуры
Показать

В чем причина? Хелп!!!
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. veforg 28 28.11.11 04:09 Сейчас в теме
Может быть пропущено "экспорт"
Процедура ТабличноеПоле1ПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование) ЭКСПОРТ
   Если НоваяСтрока Тогда
      СтруктураКурса =  РегистрыСведений.КурсыВалют.ПолучитьПоследнее(ТекущаяДата(), Новый Структура("Валюта", Ссылка));
      Элемент.ТекущиеДанные.Курс = СтруктураКурса.Курс;
   КонецЕсли;
   
   
КонецПроцедуры
Показать
3. TOKAPEB 5 28.11.11 04:22 Сейчас в теме
Нет. Процедура именно в модуле формы, где и находится табличное поле.
4. TOKAPEB 5 28.11.11 12:30 Сейчас в теме
Ребята помогите советом! Проблема актуальна! Это событие работает при начале редактирования табличного поля другой формы другого справочника.
5. MustDieff 28.11.11 13:13 Сейчас в теме
(4) посмотри в свойствах табличного поля, точно эта процедура в событии ПриНачалеРедактирования указана?
6. R1A1 28.11.11 13:16 Сейчас в теме
Там написано если НоваяСтрока, т.е. оно работает если вводить новую строку, а не редактировать старую.
7. TOKAPEB 5 28.11.11 13:20 Сейчас в теме
Да. Это точно. Процедура переписана несколько раз. Удалил эту процедуру из модуля формы. Удалил ее в свойствах табличного поля. Потом опять создал обработчик события "ПриНачалеРедактирования" нажав на соответсвующий значок лупы. Написал простейший код:

Процедура ТабличноеПоле1ПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
	Сообщить("Это работает");

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

Захожу в предприятия, открываю справочник. Ставлю точку останова около "Сообщить" в конфигураторе. Открываю в предприятии элемент. Начинаю редактирование записи табличного поля - точка останова не срабатывает....
Ни че не понимаю)))

Но точка останова на "Если" должна была срабатывать: Если - КонецЕсли - если Не НоваяСтрока...
8. TOKAPEB 5 28.11.11 14:54 Сейчас в теме
Так... событие начинает срабатывать, если ТипЗначение ТабличногоПоля вместо РегистрСведенийСписок.КурсыВалют определить, например, как РегистрСведенийНаборЗаписей.КурсыВалют.
И о чем это говорит? В чем разница?
9. starjevschik 28.11.11 14:57 Сейчас в теме
(8) ну потому что список нельзя редактировать, из него только выбрать можно.
Редактировать в понимании 1с - это с клавиатуры что-то туда вводить для изменения содержимого кмк :)
10. TOKAPEB 5 28.11.11 15:14 Сейчас в теме
(9) starjevschik,
Хорошо... тогда такой вопрос:
Имеем РегистрСведений - КурсыВалют. Имеем его форму списка. Заполняем его: вводим курсы рубля, бакса, евро.
Активируем обработчик события "ПриНачалеРедактирование" - например так:

Процедура РегистрСведенийСписокПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
	Сообщить("Все ок");
КонецПроцедуры


Вопрос: Как вы думаете, вы увидите это сообщение при попытке редактирования записей регистра или при попытке добавить новую строчку?


Я думал, что увиду. Но событие не срабатывает в форме регистра - где табличное поле имеет тип РегистрСведенийСписок.

Синтаксис помощник говорит о РегистрСведенийСписок:
Описание:
Предназначен для управления списком записей регистра сведений, отображаемым в табличном поле.

А вот что он пишет о ТабличноеПоле.ПриНачалеРедактирования:

Описание:
Возникает при начале редактирования старой или добавленной строки табличного поля. В процедуре - обработчике события нельзя отказаться от редактирования, но могут быть выполнены действия, необходимые при вводе новой строки, например, установка начальных значений.


ПОчему же это не работает?
11. TOKAPEB 5 28.11.11 16:56 Сейчас в теме
Ребята! Посмотрите плиз -у вас в форме списка Регистра Сведений срабатывает событие приНачалеРедактирования? Может у меня старая версия платформы? (8.2.10.77) и она косячная? Ведь должно все работать. Обновить в данный момент возможности нет.
Помогите!!!!!
12. TOKAPEB 5 28.11.11 22:10 Сейчас в теме
Вообщем, сам разобрался в чем собственный косяк.
Список Регистра редактировался в диалоге, а не в списке. Я думал, что событие должно срабатывать в любом случае.
13. Nicholas 909 05.05.23 14:48 Сейчас в теме
Столкнулся с подобной проблемой, причем у меня редактирование табличной части документа. При копировании или при добавлении событие ПриРедактировании() не срабатывало никак.

Пришлось воспользоваться событием ПередНачаломДобавления(), но т.к. в нем еще нет новой строки, а есть только старая, которая копируется, то сделал вот так:

ТекущаяПодзадача = Элемент.ТекущиеДанные;
Если ТекущаяПодзадача = Неопределено Тогда
	Возврат;
КонецЕсли;

Отказ = Истина;

НоваяПодзадача = Объект.Подзадачи.Добавить();
НоваяПодзадача.ДатаСоздания = ОбщегоНазначенияКлиент.ДатаСеанса();

Если Копирование Тогда
	ЗаполнитьЗначенияСвойств(НоваяПодзадача, ТекущаяПодзадача, "Наименование, Описание");
КонецЕсли;

Модифицированность = Истина;
Показать
14. пользователь 05.05.23 15:20
Сообщение было скрыто модератором.
...
15. пользователь 05.05.23 15:29
Сообщение было скрыто модератором.
...
16. пользователь 05.05.23 16:22
Сообщение было скрыто модератором.
...
17. пользователь 05.05.23 16:28
Сообщение было скрыто модератором.
...
18. пользователь 05.05.23 16:38
Сообщение было скрыто модератором.
...
20. пользователь 05.05.23 16:52
Сообщение было скрыто модератором.
...
19. пользователь 05.05.23 16:45
Сообщение было скрыто модератором.
...
Оставьте свое сообщение

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