Честно говоря, сейчас вспоминаю програмирование. Проблема: На форме элемента справочника "Валюта" добавлено ТабличноеПоле, привязанное к РегиструСведений "КурсыВалют". Хочу задействовать обработчик события "ТабличноеПоле1ПриНачалеРедактирования". Но при создании НовойСтроки или изменения старой обработчик не задействован - проверено отладчиком.
Вот процедура полностью:
В чем причина? Хелп!!!
Вот процедура полностью:
Процедура ТабличноеПоле1ПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
Если НоваяСтрока Тогда
СтруктураКурса = РегистрыСведений.КурсыВалют.ПолучитьПоследнее(ТекущаяДата(), Новый Структура("Валюта", Ссылка));
Элемент.ТекущиеДанные.Курс = СтруктураКурса.Курс;
КонецЕсли;
КонецПроцедуры
ПоказатьВ чем причина? Хелп!!!
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Может быть пропущено "экспорт"
Процедура ТабличноеПоле1ПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование) ЭКСПОРТ
Если НоваяСтрока Тогда
СтруктураКурса = РегистрыСведений.КурсыВалют.ПолучитьПоследнее(ТекущаяДата(), Новый Структура("Валюта", Ссылка));
Элемент.ТекущиеДанные.Курс = СтруктураКурса.Курс;
КонецЕсли;
КонецПроцедуры
Показать
Да. Это точно. Процедура переписана несколько раз. Удалил эту процедуру из модуля формы. Удалил ее в свойствах табличного поля. Потом опять создал обработчик события "ПриНачалеРедактирования" нажав на соответсвующий значок лупы. Написал простейший код:
Захожу в предприятия, открываю справочник. Ставлю точку останова около "Сообщить" в конфигураторе. Открываю в предприятии элемент. Начинаю редактирование записи табличного поля - точка останова не срабатывает....
Ни че не понимаю)))
Но точка останова на "Если" должна была срабатывать: Если - КонецЕсли - если Не НоваяСтрока...
Процедура ТабличноеПоле1ПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
Сообщить("Это работает");
КонецПроцедуры
Захожу в предприятия, открываю справочник. Ставлю точку останова около "Сообщить" в конфигураторе. Открываю в предприятии элемент. Начинаю редактирование записи табличного поля - точка останова не срабатывает....
Ни че не понимаю)))
Но точка останова на "Если" должна была срабатывать: Если - КонецЕсли - если Не НоваяСтрока...
(9) starjevschik,
Хорошо... тогда такой вопрос:
Имеем РегистрСведений - КурсыВалют. Имеем его форму списка. Заполняем его: вводим курсы рубля, бакса, евро.
Активируем обработчик события "ПриНачалеРедактирование" - например так:
Вопрос: Как вы думаете, вы увидите это сообщение при попытке редактирования записей регистра или при попытке добавить новую строчку?
Я думал, что увиду. Но событие не срабатывает в форме регистра - где табличное поле имеет тип РегистрСведенийСписок.
Синтаксис помощник говорит о РегистрСведенийСписок:
Описание:
Предназначен для управления списком записей регистра сведений, отображаемым в табличном поле.
А вот что он пишет о ТабличноеПоле.ПриНачалеРедактирования:
Описание:
Возникает при начале редактирования старой или добавленной строки табличного поля. В процедуре - обработчике события нельзя отказаться от редактирования, но могут быть выполнены действия, необходимые при вводе новой строки, например, установка начальных значений.
ПОчему же это не работает?
Хорошо... тогда такой вопрос:
Имеем РегистрСведений - КурсыВалют. Имеем его форму списка. Заполняем его: вводим курсы рубля, бакса, евро.
Активируем обработчик события "ПриНачалеРедактирование" - например так:
Процедура РегистрСведенийСписокПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
Сообщить("Все ок");
КонецПроцедуры
Вопрос: Как вы думаете, вы увидите это сообщение при попытке редактирования записей регистра или при попытке добавить новую строчку?
Я думал, что увиду. Но событие не срабатывает в форме регистра - где табличное поле имеет тип РегистрСведенийСписок.
Синтаксис помощник говорит о РегистрСведенийСписок:
Описание:
Предназначен для управления списком записей регистра сведений, отображаемым в табличном поле.
А вот что он пишет о ТабличноеПоле.ПриНачалеРедактирования:
Описание:
Возникает при начале редактирования старой или добавленной строки табличного поля. В процедуре - обработчике события нельзя отказаться от редактирования, но могут быть выполнены действия, необходимые при вводе новой строки, например, установка начальных значений.
ПОчему же это не работает?
Ребята! Посмотрите плиз -у вас в форме списка Регистра Сведений срабатывает событие приНачалеРедактирования? Может у меня старая версия платформы? (8.2.10.77) и она косячная? Ведь должно все работать. Обновить в данный момент возможности нет.
Помогите!!!!!
Помогите!!!!!
Столкнулся с подобной проблемой, причем у меня редактирование табличной части документа. При копировании или при добавлении событие ПриРедактировании() не срабатывало никак.
Пришлось воспользоваться событием ПередНачаломДобавления(), но т.к. в нем еще нет новой строки, а есть только старая, которая копируется, то сделал вот так:
Пришлось воспользоваться событием ПередНачаломДобавления(), но т.к. в нем еще нет новой строки, а есть только старая, которая копируется, то сделал вот так:
ТекущаяПодзадача = Элемент.ТекущиеДанные;
Если ТекущаяПодзадача = Неопределено Тогда
Возврат;
КонецЕсли;
Отказ = Истина;
НоваяПодзадача = Объект.Подзадачи.Добавить();
НоваяПодзадача.ДатаСоздания = ОбщегоНазначенияКлиент.ДатаСеанса();
Если Копирование Тогда
ЗаполнитьЗначенияСвойств(НоваяПодзадача, ТекущаяПодзадача, "Наименование, Описание");
КонецЕсли;
Модифицированность = Истина;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот