Изучение событий 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 Бесплатно (free)

В платформе 8.3.27 появилась возможность использовать WebSocket-клиент. Давайте посмотрим, как это все устроено и чем оно нам полезно.

14.01.2025    6926    dsdred    50    

96

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

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

23.06.2024    10766    bayselonarrend    21    

161

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

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

13.03.2024    7571    dsdred    18    

81

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

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

24.01.2024    25365    YA_418728146    32    

73

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

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

06.10.2023    25770    SeiOkami    48    

136
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. gubanoff 63 14.03.17 12:01 Сейчас в теме
Интересно, как это реализовано? Просто создали все события и добавили в них код по фиксации этих событий в каком-то регистре или по-другому? Я так понимаю, это работает только в приложенной конфигурации?
3. rusmil 262 14.03.17 14:18 Сейчас в теме
(1) Думаете правильно, работает это только в приложенной конфигурации.
2. trntv 26 14.03.17 14:02 Сейчас в теме
Отладчик в руки и в бой:)
rpgshnik; +1 Ответить
4. rusmil 262 14.03.17 14:31 Сейчас в теме
(2) Эта разработка не заменяет собой отладчик, и задачи такой не ставилось. Она представляет собой "испытательный стенд" если можно так выразиться. Основная фишка этой разработки в интерактивности, щелкнул кнопку увидел как платформа 1С реагирует, это можно использовать при демонстрации на учебных занятиях. Также мне было интересно взглянуть на всю цепочку вызываемых событий, а не фрагментарно.
5. Brawler 460 14.03.17 21:22 Сейчас в теме
Баловался когда-то так на Delphi и С#.
Там та событий у объектов просто завались бывает, что, когда, где, зачем, порой не разберешь))
6. Rasdag 162 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 339 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 2697 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. Поручик 4666 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 150 12.05.17 15:44 Сейчас в теме
А чем стандартный стэк вызовов в отладчике не устраивает ?
rpgshnik; +1 Ответить
17. rusmil 262 12.05.17 16:08 Сейчас в теме
(16) Стек вызовов в отладчике устраивает, и я им активно пользуюсь и другим советую, однако, чтобы увидеть всю вызываемую последовательность событий Вам нужно будет на каждое событие создать обработчики и потратить на это время, затем пройтись отладчиком по всем этим событиям и посмотреть каждое по отдельности и как-то это запомнить в своей голове, попробуйте сколько уйдет на это времени? Прилагаемая к данной статье разработка уже через 3 секунды покажет всю цепочку событий которые могут возникнуть при создании нового документа, при открытии существующего документа, при вводе документа на основании. Сразу будет видно в чем разница между этими вариантами открытия формы документа.
tormozit; user774630; +2 Ответить
19. rpgshnik 3831 14.03.21 13:46 Сейчас в теме
А смысл в обработке, лучше было бы сразу в статье и описать.
20. rusmil 262 14.03.21 14:58 Сейчас в теме
(19) Причина раз: Много пришлось бы описывать ;-) цепочки событий зависят от контекста и выполняемого действия, например форма документа может быть открыта по кнопке Создать, Скопировать, Ввести на основании, Переходом по гиперссылке, Открывается новый документ, открывается существующий документ и т.д. Каждый раз, цепочки событий будут разными. Или вот еще пример пометили элемент справочника на удаление в форме справочника, в списке справочника опять получим разные цепочки событий. Открывается форма списка, какие события будут вызваны один раз, какие несколько раз?
Причина два: программист в эту тестовую конфигурацию может добавить любой неспецифичный для конфигурации программный код и протестировать как он будет работать.
Причина три: платформа 1С тоже меняется идея была чтобы еще проверить на разных версиях платформы, однако для разных версий платформы обработку доделать руки пока не дошли. Это в перспективе.
21. AnryMc 849 02.10.21 18:04 Сейчас в теме
(9)
(20)
"Распутывая" доработку одного очень уважаемого (со стороны 1С) франча который практически повторил всю типовую конфигурацию с небольшими доработками и "повесил" это на типовую через "Подписки" создал для себя и немного "причесав" выложил:
Отчет по Глобальным командам и Подпискам на события в конфигурации с возможностью отбора по Документам и Справочникам
Светлый ум; +1 Ответить
Оставьте свое сообщение