Коли спрацьовує обробник події Призаписи




Коли спрацьовує обробник події Призаписи



Обробник події ПріЗаписи

Область застосування: керований додаток, мобільний додаток, звичайний додаток.

1. У цьому обробнику модуля об'єкта (набору записів, значення константи; далі - "об'єкт"), як правило, виконуються дії із запису пов'язаної з об'єктом даних в інших об'єктах конфігурації, а також виконуються інші дії, пов'язані зі зміною об'єкта.

Забороняється в цьому обробнику змінювати вміст об'єкта, що записується, оскільки на момент виконання оброблювача, об'єкт вже записаний в БД.

2. Усі дії в процедурі-обробнику події ПріЗаписи повинні виконуватися після перевірки на ОбмінДаними. Завантаження .

також

Обробник події ПередЗаписом

Область застосування: керований додаток, мобільний додаток, звичайний додаток.

1. У цьому обробнику модуля об'єкта, зазвичай, повинні виконуватися дії, пов'язані із заповненням значень реквізитів об'єкта (набору записів, значення константи; далі спрощено - "об'єкт"), перевірки правильності їх заповнення, пов'язаності стану об'єкта з деякими зовнішніми даними. Також у даному обробнику слід виконувати дії, пов'язані зі зверненням до "старих" значень реквізитів об'єкта, збереженим у базу даних (має сенс при редагуванні вже записаних раніше об'єктів, наборів записів тощо).

2. Усі дії в процедурі-обробнику події ПередЗаписом повинні виконуватися після перевірки на ОбмінДаними. Завантаження .

Процедура ПередЗаписом (Відмова, РежимЗапису, РежимПроведення)

Якщо ОбмінДаними.
Повернення;
КінецьЯкщо;

// Передперевірки та дозаповнення реквізитів об'єкта
.

Що таке обробник події та як його створити в 1с

Приклад вибору кількох обробників подій запису об'єкта для вирішення одного завдання.

Бувають завдання, коли потрібно використовувати кілька обробників для вирішення одного завдання. Наприклад, треба запитати інформацію у користувача під час запису: «Створюватимемо новий документ на підставі цього запису?» і, якщо користувач відповість ствердно, то треба створити новий документ з посиланням на об'єкт, що записується. Причому запис нового документа слід виконувати у транзакції, т.к. якщо поточний запис з якихось причин буде скасовано, то вже створений і записаний документ не повинен залишитися в базі даних.

Для вирішення цього завдання потрібно використовувати обробники події модуля форми з двох причин:

1) Діалог з користувачем можливий лише на клієнті, а клієнтські обробники є лише у модулі форми. Тому для діалогу використовуватимемо клієнтську процедуру модуля форми ПередЗаписом(), і збережемо відповідь користувача в параметрі цієї процедури «ПараметриЗапису».

2) А в процедурі ПриЗаписіНа Сервері() модуля форми приймемо цей параметр і залежно від нього створюватимемо документ чи ні. Чому саме ця процедура? Тому що:

  • Ця подія виконується у транзакції (у разі збоїв, щоб новий документ не залишився у базі)
  • Містить параметр «ПараметриЗапису», в якому вже міститься відповідь користувача створювати чи ні, який передався із процедури ПередЗаписом()
  • Посилання вже створено і можна створювати новий документ, використовуючи це посилання (через параметр обробника Поточний Об'єкт. Посилання).

Тобто. нам потрібне посилання документа, на яку посилатиметься новий документ.Посилання буде отримано тільки після запису, але оскільки нам потрібно записувати в транзакції, то потрібно використовувати процедури до завершення транзакції, але вже мають посилання на об'єкт, що записується. Дивимося на схему (яку додано до публікації) і розглядаємо процедури в рамках транзакції. Бачимо, що ПередЗаписом() не підходить, оскільки ще немає посилання, а ПісляЗапису() не підходить, оскільки транзакція вже завершена. Залишається вибір із двох подій: ПріЗапису() модуля об'єкта або ПріЗаписуНа Сервері() модуля форми. Оскільки обробник події ПріЗапису() модуля об'єкта не містить параметр, що містить відповідь користувача, а подія ПріЗаписуНаСервері() модуля форми містить, то відповідь очевидна-використовуємо цю подію ПріЗаписуНаСервері() модуля форми.

Об'єкт "Підписки на події" - призначений для розміщення в загальних модулях зовнішніх обробників, які будуть виконуватися після виконання певного обробника події в модулі об'єкта або модулі менеджера (при цьому зміни до об'єкта або модуль менеджера не вносяться).

Це процедура, яка буде виконана після виконання вихідного обробника події. Таким чином, виникає можливість програмного розширення модулів без їхньої модифікації (корисно при зміні типових рішень).

Підписки на події описуються у гілці "Загальні" вікна конфігураційних об'єктів.

  • Джерело - типи даних, для яких встановлюється обробник;
  • Подія - подія, для якої встановлено обробник;
  • Обробник — вказується процедура із загального модуля, в якій буде розташовано обробник події.

Джерелами подій можуть бути прикладні об'єкти, набори записів регістрів, менеджери конфігураційних об'єктів.Дозволяється як множинний вибір об'єктів, що є постачальниками подій, так і вибір усіх об'єктів одного типу (наприклад, усі документи).

При визначенні підписки на подію кількість параметрів у процедурі-обробнику на один параметр більше, ніж у відповідного обробника події, що знаходиться в модулі об'єкта (перший параметр містить сам об'єкт).

Приклад коду процедури-обробника:

Оброблювач події повинен задовольняти такі вимоги:

  1. процедура має бути розташована в загальному модулі;
  2. у загального модуля, в якому розташована процедура, повинні бути задані такі властивості:
    • прапор "Глобальний" знятий;
    • прапор "Клієнт (звичайний додаток)" встановлений;
    • прапор "Клієнт (керований додаток)" встановлено;
    • прапор "Сервер" встановлений;
    • прапор "Зовнішнє з'єднання" встановлено.
  3. Кількість параметрів процедури має бути на одиницю більшою, ніж кількість параметрів, яку має обробник вибраної події.
  • Існує думка, що обов'язковий тільки прапор "Сервер", інші байдуже, хоч зняті, хоч встановлені.

Призначення обробників подій доступне також засобами вбудованої мови за допомогою операторів:

Об'єкти, які можуть бути джерелами подій, мають властивість Додаткові властивості типу Структура, що дозволяє зберігати інформацію між викликами подій (наприклад, це новий або старий об'єкт).

Події, на які можна призначити обробник підписки на подію:

  • При УстановціНовогоНомера;
  • При копіюванні;
  • Обробка Заповнення;
  • ПередЗаписом;
  • ПріЗаписи;
  • ПередВидаленням;
  • ОбробкаПроведення;
  • Обробка Видалення Проведення;
  • ОбробкаПеревіркиЗаповнення;

ВАЖЛИВО! Підписку на подію можна встановити лише на об'єкт, а не на форму.

  1. виконується обробник події ПередЗаписом() у модулі об'єкта довідника:
    • якщо в ході виконання обробника параметр Відмова приймає значення Істина або викликається виняток, обробка події переривається;
    • якщо на другому кроці обробка події не припинялася, то виконуються зовнішні обробники (підписки на події), визначені для події ПередЗаписом();
  2. якщо під час виконання зовнішнього оброблювача параметр Відмова приймає значення Істина або викликається виняток, то виконання зовнішнього оброблювача переривається.

За допомогою підписок на події можна організувати виконання різних перевірок, які виконуються під час запису об'єктів у базу даних.

Особливості обробки підписки на подію 1С:

    При визначенні одну подію об'єкта 1С:Підприємство кількох підписок на подію процедури викликаються у довільному порядку.
  • має збігатися кількість параметрів події;
  • має збігатися ім'я події.

Додати коментар Скасувати відповідь

Для надсилання коментаря вам необхідно авторизуватись.

Цей сайт використовує Akismet для боротьби зі спамом. Дізнайтеся, як ваші дані коментарів обробляються.

Аналог PIVOT у запиті 1С (як виконати транспонування таблиці у запиті 1С) Промо

У статті наведено простий метод реалізації аналога оператора PIVOT у запиті 1С без використання з'єднань.

12.12.2020 4563 Eugen-S 23

СКД: 5 порад, як зробити краще

Декілька прикладів вирішення завдань з використанням різних підходів

27.10.2021 4490 Neti 19

Що за? у коді, або Секретний оператор у 1С

Інкремент, модуль та інша магія, яка прихована під символом "?"

21.10.2021 8395 SeiOkami 41

Корисні приклади СКД, ч.2

Ще кілька прикладів вирішення завдань у СКД.

06.04.2021 10878 Neti 8

27.01.2016 85847 Serginio 116

Огляд корисних методів БСП 3.1.4

Бібліотека стандартних підсистем (далі - БСП) є частиною будь-якої типової конфігурації, тому вміння застосовувати готові процедури та функції підвищує якість розробки та позбавляє написання зайвого коду. На жаль, не всі мають час і завзятість опанувати всю документацію, тому я зібрав воєдино найбільш популярний функціонал.

25.03.2021 41464 rayastar 51

Звукове керування в 1С 8.3

У статті описано створення бібліотеки для звукового управління (виконання команд голосом) для платформи 1С 8.3. Завдання було поставлено так, щоб модуль функціонував безпосередньо на клієнті 1С, здійснюючи управління формами, та взаємодіяв з інтерфейсом.

16.03.2021 7232 velemir 33

Serverless (Faas) в 1С. Створення та виклик Yandex Cloud Functions

"Я не можу просто взяти та скопіювати код з гітхабу", "у нас 1С мікросервісами оточена", "можливостей мало" - часті фрази 1С розробників. яким бракує можливостей платформи у світі. Faas, звичайно, історія не нова, але нас стримувало 152ФЗ та затримки з пінгів. Для того, щоб дійсно використовувати код 1С, наприклад, на Python, треба було докласти зусиль. Тепер все набагато простіше – беремо та використовуємо.

28.12.2020 8965 comol 31

Використання програмних перерахувань, ч.1: строкові константи Промо

Чи часто у вас виникає необхідність у коді виконувати порівняння на рядок?

10.12.2016 41158 unichkin 74

Базові речі БСП, які полегшать життя програмісту 1С

У цій публікації я опишу корисні процедури та функції модуля загального призначення бібліотеки стандартних підсистем, обов'язкові для використання будь-яким програмістом 1С.

30.08.2020 20397 quazare 34

[Загальний модуль] Динамічне формування інтерфейсу

Версія 2.0.0.1+ додав GitHub

28.08.2020 13084 rpgshnik 74

Форма вибору (підбір) у керованих формах

Розбір невеликих прикладів того, як правильно відкривати форму вибору (підбору) у керованих формах, не вдаючись до модальних вікон.

08.05.2020 79560 user5300 19

Допоміжні інструкції у коді 1С Промо

Допомагаємо редактору коду 1С допомагати нам писати та аналізувати код.

15.10.2018 36207 tormozit 106

Програмна робота з налаштуваннями СКД

Нюанси програмної роботи з налаштуваннями системи компонування даних у звітах та динамічних списках. Огляд усіх видів налаштувань компонування. Що у яких випадках правильно застосовувати. Як приклад розглянута робота з відборами та угрупованнями.

27.01.2020 66258 ids79 26

[СКД] Програмне створення схеми компонування даних

Зробимо звіт на СКД повністю програмно, без використання макету "схема компонування даних".

15.01.2020 43940 John_d 22

Послідовності подій під час проведення документа 1С. Шпаргалка + про форми + для розширення

30.12.2019 35652 kuzyara 38

Оформлення та рефакторинг складних логічних виразів Промо

У складних логічних висловлюваннях нерідко самому авторові через якийсь час важко розібратися, а про інших програмістів. Запропонована методика дозволяє підвищити наочність таких виразів шляхом оформлення у вигляді І-АБО дерева і одночасно виконувати їх рефакторинг.

20.09.2012 82912 tormozit 131

Подібність Джаро – Вінклера. Нечітке порівняння рядків

В галузі інформатики та статистики подібність Джаро - Вінклера є мірою схожості рядків для вимірювання відстані між двома послідовностями символів. У публікації розглянуто деякі особливості алгоритму, та представлений варіант його реалізації мовою 1С.

25.12.2019 8468 brooho 19

Корисні процедури та функції для програміста

Всі ми пишемо програмний код і часто використовуємо процедури, що полегшують його написання.

07.10.2019 39868 HostHost 41

Таблиця значень.

Огляд деяких аспектів використання загальновідомих інструментів 1С.

01.10.2019 53358 Yashazz 56

Запис значення у полі введення/форми зі спрацюванням події При Зміні Промо

Іноді виникає необхідність після запису значення в якесь поле вводу/форми викликати для нього обробник події При Зміні, а про виклик самої події доводиться лише мріяти.

11.07.2007 54517 tormozit 51

[Шпаргалка] Програмне створення елементів форми

Програмне створення майже всіх популярних елементів форми.

06.09.2019 103405 rpgshnik 75

Агрегатні функції СКД, про які мало хто знає

Чи Ви користуєтеся всіма можливими агрегатними функціями, які надає система компонування даних?

05.09.2019 78195 ids79 56

Регістри бухгалтерії.

Загальна інформація про внутрішній устрій регістрів бухгалтерії.

05.09.2019 46894 YPermitin 25

Як зробити з &НаКлієнтіНаСерверіБезКонтексту майже &НаКлієнтіНаСервері Промо

Як зробити метод форми, доступний на клієнті та на сервері одночасно, і зберегти при цьому зручність розробки

10.09.2017 51288 tormozit 74

Три милиці.

Три цікаві (або дивні) милиці в коді, які можуть допомогти у повсякденних і не дуже завданнях.

03.09.2019 30255 YPermitin 81

Ієрархія без "В ІЄРАРХІЇ"

22.08.2019 15106 ildarovich 24

Відстеження виконання фонового завдання

Запуск фонового завдання з модуля зовнішньої обробки.

17.08.2019 45379 ids79 22

Вивантаження документа за умовою Промо

Що робити, якщо документи потрібно вивантажувати не все підряд, а за якимось фільтром: статусом, датою, набором умов. А що якщо він відповідав цим умовам, а потім перестав? .

25.04.2019 18048 m-rv 3

Функції СКД: ОбчислитиВираз, ОбчислитиВиразЗУгрупуваннямМасив

Детальний опис і використання внутрішніх функцій системи компонування даних: Обчислити, Обчислити Вираз, Обчислити Вираз Сгрупуванням Масив, Обчислити Вираз Сгрупуванням ТаблицяЗначень.

08.08.2019 153465 ids79 75

Фонове виконання коду в 1С – це просто

Як легко запускати виконання у фоні, не вдаючись до довгого опису фонових процедур.

02.08.2019 61158 avalakh 27

Розбираємось із параметрами редагування СКД

Зв'язок типу, Параметри вибору, Зв'язки параметрів вибору

31.07.2019 42134 json 17

Як налаштувати правильну техпідтримку (helpdesk, service desk на коліні)

Ця стаття буде корисною для компаній, які надають технічну підтримку своїм користувачам - зовнішнім або внутрішнім клієнтам. досвід при побудові власної системи підтримки або звернутися до нас за допомогою за побудовою такої системи будемо раді допомогти.У статті формується основний набір правил, які ми сформували при налаштуванні системи для себе, а також невеликі приклади того, як ми ці правила застосовуємо.

24.04.2019 29696 siddy 0

СКД - набори даних та зв'язку між ними, створення власної ієрархії, вкладені звіти

Набір даних об'єкта. Використання у схемі компонування кількох наборів даних. Різні варіанти зв'язку наборів: об'єднання, з'єднання. Використання ієрархії у звітах на СКД. Створення своєї ієрархії, ієрархія детальних записів. Використання вкладених схем у звітах на СКД.

Здавалося б, усе це є у літературі. Навіщо словами переписувати? У цій статті зібрано та структуровано інформацію з різних джерел. Однак не завжди і не всі мають цю літературу під рукою. А тут інформація у відкритому джерелі та досить структурована, викладена простою мовою. Тим самим робимо ці знання більш зрозумілими та доступними.

Розглянемо запис документа, щоб не захаращувати статтю і не описувати всі типи об'єктів (у них все також, за невеликим винятком).

Отже, навіщо нам взагалі потрібні ці обробники?

Дуже часто програмісту потрібно перевизначити стандартну поведінку системи під час запису документа, а саме: скасувати запис у разі якихось умов; запитати додаткову інформацію користувача; дозаповнити реквізити; щось ще записати до бази даних на підставі цього запису; щось змінити на формі після запису тощо. і т.п. Кожен програміст рано чи пізно стикається з подібними завданнями, тому знати призначення та послідовність запуску цих подій необхідно.

Послідовність запуску подій (у тому порядку, в якому вони перераховані) та невеликі подробиці:

Багато обробників мають параметр «Відмова». Там, де цей параметр присутній означає, що в цьому обробнику ще можна відмовитися від запису, надавши параметру "Відмова" значення Істина, і тоді запис зроблено не буде. І ще окремо зазначу, що при програмному записі події модуля форми не запускаються!

1) Модуль форми ПередЗаписом(Відмова,ПараметриЗапису)

Виконується на клієнті!

Цей обробник слід використовувати, якщо необхідно організувати діалог із користувачем перед тим, як записати об'єкт. Запросити додаткову інформацію, попередити про що-небудь, дати можливість відмовитися тощо.

Другий параметр цього обробника «Параметри запису» має тип «Структура». У документів ці параметри заповнюються системою визначеними параметрами РежимЗаписи, РежимПроведення. Можна додати свої!

Ці параметри передаються між подіями форми ПередЗаписомНа Сервері, ПриЗаписуНаСервері, ПісляЗаписуНаСервері, де їх можна благополучно використовувати. Наприклад, можна запитати щось у користувача та відповідь записати у цей параметр. І вже, наприклад, у ПріЗаписіНа Сервері використовувати цей параметр для аналізу та подальших дій.

2) Модуль форми ОбробкаПеревіркиЗаповненняНаСервері(Відмова,ПеревіреніРеквізити)

3) Модуль об'єкта ОбробкаПеревіркиЗаповнення (Відмова,Реквізити, що перевіряються)

Спочатку викликається подія форми. На даному етапі є доступ до даних форми.

Після цього в пам'яті сервера створюється прикладний об'єкт, що відповідає типу основного реквізиту форми, та його дані заповнюються з даних форми.

Потім викликається подія прикладного об'єкта Обробка Перевірки Заповнення.

Ці два обробники перевірки заповнення реалізуються через параметр «Реквізити, що перевіряються» типу Масив, що містить реквізити, які треба перевіряти (тобто яким встановлено властивість перевірки заповнення «Видавати помилку»). І якщо з цього масиву прибрати реквізит, то перевірятись він не буде, якщо додати, то виконуватиметься перевірка заповнення.

Ці два обробники подій призначені:

  1. Для включення у перевірку заповнення тих реквізитів, які мають властивості «ПеревіркаЗаповнення» вказано «Не перевіряти». Для цього треба додати цей реквізит у масив параметр «Реквізити, що перевіряються»
  2. Щоб виключити з автоматичної перевірки реквізити, які мають властивість перевірки заповнення «Видавати помилку» залежно від умов. Для цього треба видалити цей реквізит із масиву параметра «Реквізити, що перевіряються»

Є кілька особливостей, які необхідно враховувати:

  1. Якщо у форми з якої записується об'єкт у властивостях не встановлено «Перевіряти Заповнення Автоматично», тоді ці обробники перевірки заповнення не викликаються і перевірки не відбуваються!
  2. Викликаються лише під час інтерактивного запису! Під час програмного запису не викликаються. Для перевірки потрібно використовувати метод об'єкта Перевірити Заповнення (), який ініціює запуск цих подій.
  3. Для документів, які мають можливість проведення, ці події перевірки заповнення викликаються лише під час проведення!

Якщо ці форми не потрібні, використовуйте обробник модуля об'єкта ОбробкаПеревіркиЗаповнення

4) Модуль форми ПередЗаписомНа Сервері(Відмова, ПоточнийОб'єкт, ПараметриЗапису)

У цьому обробнику можна доповнити реквізити об'єкта (через параметр Поточний Об'єкт) або провести додаткові перевірки. Є доступ до даних форми.

Важливо розуміти, що у попередньому обробнику (під час перевірки заповнення) стався «поділ» форми на форму і прикладної об'єкт (поки що у пам'яті сервера), дані якого будуть записані до бази даних.

У обробнику модуля форми ПередЗаписомНа Сервері з'являється можливість доступу як до даних основного реквізиту форми Об'єкт, так і до самого об'єкта, який буде записаний через параметр обробника ПоточнийОб'єкт.

Параметр ПоточнийОб'єкт має тип класу «об'єкт» залежно від типу об'єкта, що записується (у разі запису документа ДокументОб'єкт). Тобто. екземпляр класу об'єкт створено, і можна звернутися до його властивостей та методів, але до бази даних ще не записано.

І тут увага. Поточний Об'єкт – об'єкт, який реально буде записаний в інформаційну базу і дозаповнювати реквізити потрібно саме через параметр Поточний Об'єкт.

Внесення змін через реквізит форми об'єкта Об'єкт не дасть жодного результату, його можна лише аналізувати. В інформаційну базу ці дані не записані. Після завершення транзакції запису дані з Поточного Об'єкта запишуться в Об'єкт. Таким чином, усі зміни, внесені до Об'єкту, пропадуть.

Також потрібно розуміти, що при програмному записі об'єкта ця подія не викликатиметься.

Тому якщо будь-які алгоритми повинні виконуватися за будь-якого способу запису даних об'єкта, а не лише при записі з форми, їх слід розміщувати в обробнику події об'єкта (ПередЗаписом), а не в обробнику події форми.

5) Модуль об'єкта ПередЗаписом(Відмова)

У цьому обробнику можна провести додаткові перевірки та відмовитися від запису.

Для документів до параметрів даного обробника додаються ще два параметри: РежимЗаписи, РежимПроведення.

6) Модуль об'єкта При установці нового номера (стандартна обробка, префікс)

Виникає в момент, коли встановлюється номер нового документа, завдання або бізнес-процесу.

Виникає у момент, коли виконується встановлення нового коду елемента довідника, вузла плану обміну чи коду плану видів характеристик.

Ці події викликаються для об'єктів у яких зазначено властивість «Автонумерація» і лише тих об'єктів, які мають порожній код на даний момент записи.

Якщо встановити параметр Стандартна Обробка значення Брехня, то новий номер генеруватися не буде і можна програмно задати код об'єкта в цьому обробнику.

7) Модуль об'єкта Обробка ВидаленняПроведення (Відмова)

Цей оброблювач запускається лише за умови скасування проведення документів з метою видалення рухів з регістрів. При цьому байдуже як скасовується проведення документа - програмно чи інтерактивно.

8) Модуль об'єкта ПриЗапису(Відмова)

Викликається після запису об'єкта до бази даних, але до закінчення транзакції запису.

Призначення цього оброблювача - записати до бази даних додаткову інформацію, пов'язану з даними об'єкта, що записується.

Посилання вже є і можна записати до бази даних додаткові дані на основі поточного об'єкта, використовуючи це посилання.

Наприклад, при записі створювати інший документ, що містить реквізит посилання на записуваний.

Оскільки ця подія обробляється у транзакції запису основних даних, гарантується синхронність зміни основних та додаткових даних.Або й ті та інші будуть записані, або й ті та інші зміни будуть скасовані при скасуванні транзакції.

Можна ще відмовитись від запису.

9) Модуль об'єкта ОбробкаПроведення (Відмова, РежимПроведення)

Цей оброблювач запускається лише під час проведення документів. При цьому неважливо як проводиться документ – програмно чи інтерактивно.

Основне призначення процедури-оброблювача цієї події - генерація рухів за документом. Саме у цьому обробнику прописуються алгоритми записів у регістри, тобто. програмно формуються рухи документа.

Параметр РежимПроведення визначає як проводитиметься документ: оперативно чи неоперативно.

Якщо для цього виду документа в конфігурації встановлено автоматичне видалення рухів, перед виникненням події всі рухи по документу будуть видалені.

10) Модуль форми При Запису На Сервері (Відмова, Поточний Об'єкт, Параметри Запису)

Викликається після запису об'єкта до бази даних, але до закінчення транзакції запису. Є останній шанс відмовитися від запису.

Призначення цього оброблювача – записати до бази даних додаткову інформацію, пов'язану з даними об'єкта, що записується.

Якщо дані для запису додаткової інформації знаходяться в самому об'єкті, ми використовували обробник модуля об'єкта ПріЗаписи(). А от якщо дані знаходяться у формі, то саме для таких випадків і призначено цю подію, тому що є доступ до даних форми.

Цей оброблювач ще використовується, якщо потрібні дані параметра оброблювача ПараметриЗаписи, які приїхали в цьому параметрі з інших обробників.

Через параметр ПоточнийОб'єкт доступні дані, які вже були записані в інформаційну базу і мають тип класу Об'єкт (ДокументОб'єкт).Можна звернутися до його властивостей та методів, а також використовувати для експортних методів об'єкта.

Працювати слід саме через цей параметр, тобто не плутати з основним реквізитом форми., тому що там дані, які були до запису та його зміни марні тому, що після цього обробника дані з Поточного Об'єкта запишуться в Об'єкт.

Якщо це запис нового об'єкта, то ПоточнийОб'єкт.Посилання міститиме вже конкретне значення посилання на цей елемент в інформаційній базі. А ось Об'єкт.Посилання має порожнє значення цьому етапі.

Отже, щодо цього оброблювача можна зробити такі висновки:

  • Якщо потрібно виконувати якісь дії, пов'язані із записаним об'єктом, і при цьому, наприклад, потрібне посилання на цей об'єкт, необхідно використовувати ПоточнийОб'єкт.Посилання.
  • Основний реквізит форми Об'єкт можна використовувати лише порівняння те, що «було», про те, що «записалось».
  • Якщо потрібно змінити записані додаткові дані на підставі даних форми та даних об'єкта, необхідно використовувати в цьому обробнику при зверненні до даних об'єкта ПоточнийОб'єкт

Завершення транзакції

11) Модуль форми ПісляЗаписуНа Сервері(ПоточнийОб'єкт, ПараметриЗапису)

Після завершення транзакції запису виконується перетворення даних записаного об'єкта на дані форми. Після цього викликається цей оброблювач. Це останній обробник, в якому окремо доступні дані форми та об'єкт, який було записано.

Цей оброблювач використовують, коли передбачаються дії над формою. Це ті дії, які мають бути виконані лише в тому випадку, коли об'єкт 100% записаний (тобто після транзакції).Наприклад, висновок у формі деякої додаткової інформації, пов'язаної з даними об'єкта. Або виконання будь-яких дій, які мають бути виконані лише у тому випадку, коли об'єкт гарантовано записаний.

Однак тут призначення ПоточнийОб'єкт - Прямо протилежне тому, що було до цього. У цьому обробнику дані записаного об'єкта поміщені у форму, тобто. вже завантажені в основний реквізит форми Об'єкт і тому ПоточнийОб'єкт змінювати безглуздо: він буде знищений під час виходу з оброблювача.

Але ПоточнийОб'єкт можна використовувати, щоб виконати якісь допоміжні дії, звернувшись до його властивостей та методів, а також виклик експортних методів об'єкта. Наприклад, якщо на даному етапі потрібні якісь дані або методи об'єкта, потрібно використовувати ПоточнийОб'єкта не намагатися отримувати їх через основний реквізит форми Об'єкт.

Доступні ПараметриЗаписи, дані яких приїхали в цьому параметрі з інших обробників.

12) Модуль форми ПісляЗапису(ПараметриЗапису)

Виконується на клієнті!

Можна використовувати, щоб візуально щось відобразити на формі або організувати діалог з користувачем, наприклад видати попередження.

Доступні ПараметриЗаписи, дані яких приїхали в цьому параметрі з інших обробників.

Часто буває так, що використовувати підписку на подію ефективніше, тому що не торкається модулів, що знаходяться на підтримці і чергове оновлення конфігурації проходить з меншими витратами праці та часу.

Обробники подій об'єкта, на які можна зробити підписку на події:
- При Установці НовогоНомера / При УстановціНового Коду
- При копіюванні
- Обробка Заповнення
- ПередЗаписом
- ПріЗаписи
- Перед Видаленням
- ОбробкаПроведення
- Обробка ВидаленняПроведення
- ОбробкаПеревіркиЗаповнення

Додаток 2: підписки на події для однакових джерел та дій виконуються у порядку розміщення підписок у конфігураторі зверху вниз (тобто у такому порядку, як і в дереві метаданих).

Тобто, якщо для якогось документа у конфігурації є дві підписки на подію ПріЗапису, то на початку виконається та, яка розташована вище.

Додаток 3: підписки з джерелом загального типу (ДокументОб'єкт, ДовідникОб'єкт) виконуються пізніше, ніж із джерелом конкретного типу, навіть якщо він є складовим.

Як варіант вказувати у своїй підписці джерело ДокументОб'єкт та ставити її нижче за списком, а в самому обробнику перевіряти тип документа:
Якщо ТипЗнч(Джерело) <> Тип("ДокументОбъект.МойДокумент") Тоді
Повернення;
КінецьЯкщо;

Якщо стаття виявилася вам цікавою та корисною, то зберігайте, щоб не втратити і мати під рукою-просто натискайте + та отримайте від мене + у свою карму :))

Схожі статті

  • Коли спрацьовує сигналізація у машині
  • Коли спрацьовує парктронік
  • Коли потрібно обслуговувати кондиціонер в авто
  • Коли сіють м'яту у відкритий ґрунт
  • Коли найкраще садити топінамбур
  • Коли курка сідає висиджувати яйця
  • Коли краще пити омега
  • Коли знімати грушу Бере Боск
  • Недавні статті

  • Як бродить зернова брага
  • Що робити якщо не засмагаєш на сонці чому засмага погано лягає на шкіру або перестає прилипати
  • Як швидко зняти гель лак без апарату
  • Як робиться Каті голови
  • Яка гребінець краще для об'єму
  • Чим роблять м'яку покрівлю
  • Чи можна залишати крем для обличчя на ніч
  • Де знаходиться датчик селектора
  • географія нашої діяльності
    вулиця Драгоманова, 27
    вул. Курчатова 1Б
    вул. Міцкевича 130
    вул. Лабунського, 1
    вул. Макарова-Пржевальського
    вул. Толстого 10
    вул. Грушевського 28
    вул. Перший промінь (Черняхівського)
    напишіть нам

    сообщение успешно отправлено
    x