Изучение событий 1С для программирования

12.03.17

Разработка - Механизмы платформы 1С

Какие события и в какой последовательности вызываются платформой 1С? Куда лучше поместить свой программный код, чтобы добиться нужного поведения программы? Предлагаю разработку «Изучение событий» которая облегчит поиск ответов на такие вопросы.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Изучение событий 1.0
.dt 158,05Kb ver:1.0
53
53 Скачать (2 SM) Купить за 2 150 руб.

Почему появилась эта статья?

При совершении любых действий пользователем платформа 1С генерирует программные события. Как правило генерируется не одно событие, а целая цепочка событий. Задача программиста правильно разместить программный код в событиях, чтобы добиться ожидаемого поведения от программы. Однако начинающему программисту по 1С это не просто будет сделать, по причинам перечисленным ниже.

В управляемой форме могут быть сгенерированы события: ПриЧтенииНаСервере, ПриСозданииНаСервере, ПриОткрытии и т.д.

События в управляемой форме генерируются на клиенте и на сервере: ПередЗаписью, ПередЗаписьюНаСервере.

События вызываются в разных модулях: ФормаЭлемента, МодульОбъекта, МодульМенеджера.

Некоторые события могут вызываться несколько раз, если в списке несколько элементов справочника, например: ОбработкаПолученияПредставления.

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

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

Чтобы лучше понять логику и последовательность вызываемых событий, можно воспользоваться разработкой «Изучение событий» прикрепленной к данной статье. Зная контекст вызова события, последовательность событий и действия которые будет выполнять пользователь будет легче понять в какой обработчик событий лучше всего поместить свой программный код.

Инструкция к применению программы «Изучение событий»

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

Все события отображаются в специальном окне «Последние события». В нем можно включить или выключить запись событий. По умолчанию при первом открытии запись событий включена. Окно «Последние события» советую закрепить снизу экрана сразу при запуске программы, для удобного просмотра событий.

Программа не может сама определить каким действием вызвана цепочка событий, советую в поле «Действие причина» набирать с клавиатуры названия ваших последних действий, например «Открыта форма списка справочника», «Помечен на удаление элемент в списке справочника» и т.д. Это облегчит затем анализ действий и событий.

События записываются и отображаются для объектов, размещенных в разделе «Трассировка событий» при условии включенной записи событий в форме «Последние события».

Все записанные события можно посмотреть через «Отчет по событиям», который находится в разделе «Сервис».

Чтобы быстро очистить все записанные действия и события в разделе «Сервис» выбираем «Очистить события и действия».

Работа программы тестировалась на 1С платформе версии «8.3.9».

Программа «Изучение событий» может полезна как новичкам, так и программистам с опытом.

Демонстрация работы программы

Программирование 8

См. также

Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

23.06.2024    7881    bayselonarrend    20    

156

Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Пример использования «Сервисов интеграции» без подключения к Шине и без обменов.

13.03.2024    6183    dsdred    16    

80

Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 Бесплатно (free)

Все мы используем массивы в своем коде. Это один из первых объектов, который дают ученикам при прохождении обучения программированию. Но умеем ли мы ими пользоваться? В этой статье я хочу показать все методы массива, а также некоторые фишки в работе с массивами.

24.01.2024    18705    YA_418728146    26    

72

Механизмы платформы 1С Программист Бесплатно (free)

Язык программирования 1С содержит много нюансов и особенностей, которые могут приводить к неожиданным для разработчика результатам. Сталкиваясь с ними, программист начинает лучше понимать логику платформы, а значит, быстрее выявлять ошибки и видеть потенциальные узкие места своего кода там, где позже можно было бы ещё долго медитировать с отладчиком в поисках источника проблемы. Мы рассмотрим разные примеры поведения кода 1С. Разберём результаты выполнения и ответим на вопросы «Почему?», «Как же так?» и «Зачем нам это знать?». 

06.10.2023    24023    SeiOkami    48    

135

WEB-интеграция Универсальные функции Механизмы платформы 1С Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

28.08.2023    15071    YA_418728146    7    

169
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. gubanoff 63 14.03.17 12:01 Сейчас в теме
Интересно, как это реализовано? Просто создали все события и добавили в них код по фиксации этих событий в каком-то регистре или по-другому? Я так понимаю, это работает только в приложенной конфигурации?
3. rusmil 262 14.03.17 14:18 Сейчас в теме
(1) Думаете правильно, работает это только в приложенной конфигурации.
2. trntv 25 14.03.17 14:02 Сейчас в теме
Отладчик в руки и в бой:)
rpgshnik; +1 Ответить
4. rusmil 262 14.03.17 14:31 Сейчас в теме
(2) Эта разработка не заменяет собой отладчик, и задачи такой не ставилось. Она представляет собой "испытательный стенд" если можно так выразиться. Основная фишка этой разработки в интерактивности, щелкнул кнопку увидел как платформа 1С реагирует, это можно использовать при демонстрации на учебных занятиях. Также мне было интересно взглянуть на всю цепочку вызываемых событий, а не фрагментарно.
5. Brawler 458 14.03.17 21:22 Сейчас в теме
Баловался когда-то так на Delphi и С#.
Там та событий у объектов просто завались бывает, что, когда, где, зачем, порой не разберешь))
6. Rasdag 161 15.03.17 00:14 Сейчас в теме
Блин, думал обработка
7. AlexGroovy 15.03.17 08:12 Сейчас в теме
Программа учитывает вызовы к общим модулям?
8. rusmil 262 15.03.17 08:35 Сейчас в теме
1. Программа показывает именно события, которые генерирует платформа 1С, насколько я знаю общие модули событий не генерируют или я ошибаюсь?

2. Зачем вы хотите отследить вызовы к общим модулям, с какой целью?
9. Octopus 338 15.03.17 09:50 Сейчас в теме
Подписки в сферу действия функционала не попали, как я понимаю. С одной стороны, ежу понятно, что вызываются они последними, с другой, если использовать материал для обучения, было бы очень хорошо показать и подписки.
rpgshnik; mike_grig; корум; rusmil; Alias; kraynev-navi; +6 Ответить
10. rusmil 262 15.03.17 10:00 Сейчас в теме
(9) Да есть такая идея, "запилить" туда демонстрацию подписок и еще механизма расширений, чтобы посмотреть как этот "бульон" будет вариться ;-). Сделаю позже при наличии свободного времени. Спасибо что даете обратную связь для улучшения продукта.
Светлый ум; Andry.Boris; mike_grig; +3 Ответить
11. CheBurator 2712 16.03.17 01:44 Сейчас в теме
1С обновили платформу, добавились новые события. разработка в этом случае, как я понмаю. не покажет новые события? т.е. введет обучающегося в заблуждение, так?
(если да, то при запуске надо анализировать версию платформы, и если она превышает некую "предопределенную" - на которой писалась данная конфига - явно и недвусмысленно выдавать ИНФО, типа: платоформа отлична от "базовой" такойто, выдаваемые данные могут быть недостоверными.
rpgshnik; rusmil; +2 Ответить
12. rusmil 262 16.03.17 04:26 Сейчас в теме
Зная фирму 1С, уверен они обязательно что-нибудь новое придумают ;-). Замечание учту.
13. artemns 24.03.17 10:44 Сейчас в теме
Очень неплохая разработка. Т.к. с управляемыми формами я только начинаю работать, то я думаю мне это решение будет в помощь. Спасибо.
15. Поручик 4692 12.05.17 06:55 Сейчас в теме
(13) Разработка управляемого интерфейса от Радченко и Ко вам в помощь.
Bukaska; sergpogo; brr; +3 Ответить
18. rusmil 262 12.05.17 16:23 Сейчас в теме
(15) Очень хорошая книга, читал и другим советую. В ней приводятся схемы с последовательностью вызова событий. Однако книжку я с собой не ношу, как назло когда она нужна ее нет под рукой. Мне проще запустить разработку с флэшки и через 15 секунд получить необходимую мне информацию по вызову событий. Каждый выбирает сам, что ему удобнее.
14. Matveev_VS 166 10.05.17 10:32 Сейчас в теме
16. IvanovAV 143 12.05.17 15:44 Сейчас в теме
А чем стандартный стэк вызовов в отладчике не устраивает ?
rpgshnik; +1 Ответить
17. rusmil 262 12.05.17 16:08 Сейчас в теме
(16) Стек вызовов в отладчике устраивает, и я им активно пользуюсь и другим советую, однако, чтобы увидеть всю вызываемую последовательность событий Вам нужно будет на каждое событие создать обработчики и потратить на это время, затем пройтись отладчиком по всем этим событиям и посмотреть каждое по отдельности и как-то это запомнить в своей голове, попробуйте сколько уйдет на это времени? Прилагаемая к данной статье разработка уже через 3 секунды покажет всю цепочку событий которые могут возникнуть при создании нового документа, при открытии существующего документа, при вводе документа на основании. Сразу будет видно в чем разница между этими вариантами открытия формы документа.
tormozit; user774630; +2 Ответить
19. rpgshnik 3797 14.03.21 13:46 Сейчас в теме
А смысл в обработке, лучше было бы сразу в статье и описать.
20. rusmil 262 14.03.21 14:58 Сейчас в теме
(19) Причина раз: Много пришлось бы описывать ;-) цепочки событий зависят от контекста и выполняемого действия, например форма документа может быть открыта по кнопке Создать, Скопировать, Ввести на основании, Переходом по гиперссылке, Открывается новый документ, открывается существующий документ и т.д. Каждый раз, цепочки событий будут разными. Или вот еще пример пометили элемент справочника на удаление в форме справочника, в списке справочника опять получим разные цепочки событий. Открывается форма списка, какие события будут вызваны один раз, какие несколько раз?
Причина два: программист в эту тестовую конфигурацию может добавить любой неспецифичный для конфигурации программный код и протестировать как он будет работать.
Причина три: платформа 1С тоже меняется идея была чтобы еще проверить на разных версиях платформы, однако для разных версий платформы обработку доделать руки пока не дошли. Это в перспективе.
21. AnryMc 848 02.10.21 18:04 Сейчас в теме
(9)
(20)
"Распутывая" доработку одного очень уважаемого (со стороны 1С) франча который практически повторил всю типовую конфигурацию с небольшими доработками и "повесил" это на типовую через "Подписки" создал для себя и немного "причесав" выложил:
Отчет по Глобальным командам и Подпискам на события в конфигурации с возможностью отбора по Документам и Справочникам
Светлый ум; +1 Ответить
Оставьте свое сообщение