Модуль прикладного об'єкту у системі BAS «Business Automation Software»
Більшість прикладних об'єктів мають власні модулі. До таких об'єктів належать:
- менеджери значення константи;
- довідники;
- документи;
- звіти (зовнішні звіти);
- обробки (зовнішні обробки);
- плани видів показників;
- плани рахунків;
- плани видів розрахунків;
- бізнес процеси;
- задачі;
- регістри (модуль набору записів).
Кожен такий об'єкт має власний індивідуальний модуль. Модулі розташовуються у гілках конфігурації, у яких містяться об'єкти і є властивостями об'єктів.
Доступ до модулю прикладного об'єкту
Для доступу до модуля об'єкта можна:
- у контекстному меню об'єкта конфігурації вибрати пункт «Відкрити модуль об'єкта (набору записів, менеджера значення)»;
- у вікні редагування на закладці «Інше» натиснути відповідну кнопку;
- відкрити модуль об'єкта через відповідну властивість палітри властивостей.
Рис. 1. Варіанти доступу до модулю прикладного об'єкту
Особливості модуля об'єкта
Модуль об'єкта компілюється виключно на сервері.
У цих модулях можливе оголошення змінних, процедур та функцій. Оголошені змінні, процедури та функції (за наявності ключового слова «Экспорт») будуть доступні при роботі з об'єктом ззовні у вбудованій мові, доповнюючи контекст об'єкту.
У контексті модуля прикладного об'єкта є доступ до реквізитів та табличних частин об'єкта, а також його методів та подій.
Процедури та функції модуля об'єкта
У цих модулях розміщують процедури обробки різних подій об'єктів: введення на підставі, запису або видалення об'єктів, проведення документів тощо (список стандартних подій залежить від виду об'єкта).
Також у них розташовані процедури, за допомогою яких виконуються дії над об'єктом, які ініційовані поза об'єктом (наприклад, виконання друку).
До списку процедур/функцій об'єкта можна звернутись:
- через поєднання клавіш Ctrl+Alt+P;
- через пункт «Процедури та функції» розділу «Текст» головного меню або відповідну кнопку командної панелі (переліку, що викликається, відображатимуться як стандартні процедури/функції, так і написані розробниками).
Рис. 2. Стандартні процедури-обробники подій модуля документа
Події модуля об'єкта
Деякі події модуля об'єкта дублюють події модуля форми (наприклад, події, що пов'язані із записом).
Що потрібно враховувати:
- події модуля форми виконуватимуться виключно у конкретній формі об'єкта (причому форм навіть одного типу у об'єкта може бути декілька);
- події модуля об'єкта будуть викликатись у будь-якому варіанті ініціації цієї події (як інтерактивної, так і програмної). Наприклад, подія запису в модулі об'єкта буде виконуватися під час інтерактивного запису з будь-якої форми об'єкта, а також у момент програмної роботи з об'єктом.
РЕКОМЕНДАЦІЯ: якщо необхідно виконання коду у всіх випадках (без прив'язки до конкретної форми і незалежно від інтерактивного або програмного характеру ініціалізації події), використовувати для програмного опису цієї події процедури/функції, що містяться в модулі об'єкта.
Особливості стандартних процедур модуля об'єкта, що пов'язані із подією запису
ОбработкаПроверкиЗаполнения() - перевіряємо заповнення, доступу до даних форми немає.
ПередЗаписью() — в цей момент екземпляр класу об'єкту вже записаний у базу даних, але транзакція ще не завершена (отже, може бути скасована). Можна дозаповнити реквізити об'єкту або провести додаткові перевірки.
ПриЗаписи() — в цей момент екземпляр класу об'єкта вже записаний у базу даних, на нього є посилання, але транзакція ще не завершена (отже, може бути скасована). Використовуючи посилання, можна записати у базу дані на основі даних об'єкту.
Відмовитися від запису об'єкта, наприклад, елемента довідника, можна в наступних обробниках події модуля об'єкта:
- ПередЗаписом;
- ПриЗапису.