Практическая работа №6. Работа с обработчиком событий 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Практическая работа №6. Работа с обработчиком событий



Для определения поведения прикладных объектов отличного от стандартного и создания собственных алгоритмов их поведения используется встроенный язык. Программный код выполняется в заранее известных ситуациях, называемых событиями.

В справочнике Контрагенты у нас храниться краткое и полное наименование контрагента. Логично предположить, что эти названия будут похожи. Следовательно, когда пользователь вводит краткое наименование желательно его же продублировать в полное, т.е. при событии изменение наименования необходимо выполнить определенные действия. Какие именно действия мы желаем выполнять при наступлении события, система сама предсказать не может. Необходимо самостоятельно написать процедуру, которая должна будет выполняться системой, и связать эту процедуру с тем событием, которое обрабатывается (Рис. 6.2).

Для этого необходимо создать Форму Элемента/

Рисунок 6.1.

Рисунок 6.2.

Текст процедуры обработчика события:

&НаКлиенте

Процедура НаименованиеПриИзменении(Элемент)

Если Объект.ПолноеНаименование = "" Тогда

Объект.ПолноеНаименование = Объект.Наименование;

КонецЕсли;

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

Помимо того, что имеется возможность выполнять какие-то действия при наступлении события, иногда можно управлять и соответствующими стандартными действиями платформы, т.е. фактически указывать, произойдет ли данное событие или нет.

Рассмотрим следующую ситуацию: необходимо для каждой номенклатурной позиции указать ставку НДС, причем у услуг ставка НДС должна быть только 18%. В этом случае необходимо проверить при сохранении элемента, является ли данный элемент справочника услугой.

Создадим справочник СтавкиНДС, для хранения всех возможных ставок НДС, в котором ставку 18% сделаем преопределенной. (рис. 6.3 –6.4)

Рисунок 6.3.

Рисунок 6.4.

Рисунок 6.5

Рисунок 6.7.

В справочнике «Номенклатура» добавим соответствующий реквизит (рис. 6.8) и выведем его на форму.

Рисунок 6.8

Рисунок 6.9

В том случае, когда элемент номенклатуры является услугой и ставка НДС не 18%, необходимо указать пользователю на недопустимость данной ситуации и не записывать элемент до тех пор, пока пользователь либо не укажет нужную ставку НДС, либо не укажет, что это товар.

Для решения этой задачи воспользуемся обработчиком события ПередЗаписьюНаСервере (Рис. 6.10)

Рисунок 6.10

Текст процедуры:

&НаСервере

Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)

Если ТекущийОбъект.Услуга И

(ТекущийОбъект.ОсновнаяСтавкаНДС <>Справочники.СтавкиНДС.НДС18) Тогда

Сообщить("У услуги ставка НДС может быть только 18%");

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

КонецЕсли;

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



Поделиться:


Последнее изменение этой страницы: 2021-03-09; просмотров: 747; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.17.154.171 (0.005 с.)