Сообщения

Показаны сообщения с ярлыком "обработчик"

Влияние свойства "Изменяет данные" на поведение команды объекта

Изображение
Многие начинающие разработчики игнорируют свойство команды объекта "Изменяет данные"то ли не замечают его, то ли не хотят разбираться с ним. Давайте выясним, каким образом данное свойство влияет на поведение команды и почему не стоит его игнорировать. Создадим для справочника две команды, одна с установленным свойством "Изменяет данные", другая без (см. рисунок 1). Рисунок 1. Команды объекта

Последовательность вызова обработчиков событий при открытии формы объекта

Изображение
При открытии формы объекта, задействованы не только обработчики событий формы, но и модуль менеджера и модуль объекта. Перед рассмотрением последовательности вызова событий, хочу заметить, что количество обработчиков событий для модуля объекта и модуля формы равно не количеству отображаемых процедур в подсказке (см. рисунок 1), а на единицу больше. Рисунок 1. Обработчики событий модуля объекта Документ У этих модулей дополнительно имеется обработчик, связанный с активацией модуля, т.е. тело модуля это и есть обработчик активации модуля, который не отображается в подсказке. Последовательность вызова обработчиков событий при открытии формы объекта, например объекта Документ, включая активацию модуля, изображена на рисунке 2.

Инициализация реквизитов при создании нового объекта

Один из методов упрощения работы пользователя - это заполнение реквизитов нового объекта (элемент справочник, документ) значениями по умолчанию. Реализовать заполнение реквизитов можно двумя способами: в обработчике события формы элемента - ПриСозданииНаСервере; в обработчике события объекта - ОбработкаЗаполнения. Первый способ не рекомендуется использовать, но все-равно его рассмотрим. Создадим в модуле формы обработчик события ПриСозданииНаСервере. В обработчике проверим факт создания нового объекта, если объект новый, то произведем заполнение реквизитов. &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) // Если ссылка у объекта пустая, значит он еще не записан, // а следовательно он является новым объектом. ЭтоНовыйОбъект = Объект.Ссылка.Пустая(); // Если объект новый, то выполняем заполнение реквизитов. Если ЭтоНовыйОбъект Тогда Объект.Ответственный = Пользователи.ТекущийПользователь(); Объект.Комментарий = "Документ созда...

Последовательность выполнения событий при записи в регистр сведений

Изображение
Последовательность вызова событий при записи документа Во время записи данных в регистр сведений выполняется вызов событий в определенной последовательности. События и их последовательность вызова заложены на уровне самой платформы 1С, а программисту дали возможность только изменять обработчики событий. Следовательно, что бы вмешаться в процесс модификации данных регистр сведений, необходимо использовать обработчики событий. В случае записи новой записи (то есть запись с такими значениями измерений еще не существует в регистре сведений) из формы записи, последовательность вызова событий следующая: Последовательность вызова событий при записи из формы новой записи