Поймать (в техжурнале?) факт обращения платформы к метаданным любой формы

1. Altez50 1 13.02.25 12:35 Сейчас в теме
Составить реестр реально используемых форм для дымового тестирования нужно
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. user-z99999 78 13.02.25 14:22 Сейчас в теме
(1) ОбщийМодуль.РаботаСФайламиКлиент
ПриОткрытии
VyacheslavShilov; +1 Ответить
5. user2107191 13.02.25 15:47 Сейчас в теме
6. Altez50 1 14.02.25 00:25 Сейчас в теме
(4) Много форм мимо, те же БезналичныеПлатежи.

В плане поресерчить с "объектными" формами в DaJet клубе посоветовали вскопать подписку "ОбработкаПолученияФормы".

И SQL в таблице _Сonfig по uuid поискать.

Пока остановился на отлове событий ТЖ
   <event>
     <eq property="Name" value="CALL"/>
   <eq property="process" value="rphost"/>
   <eq property="p:processName" value="ERP"/>
   <like property="Context" value="Система.ПолучитьФорму%"/>
   </event>


выходит нечто такое:

00:00.023005-1,SCALL,3,process=rphost,p:processName=UT,OSThread=3548,t:clientID=14148,t:applicationName=WebServerExtension,t:computerName=X56,t:connectID=12342,SessionID=42550,Usr=ПилипцоваТВ(2024),AppID=1CV8C,ClientID=27628,Interface=2ebdaa8c-4a75-48f7-94bf-8206623aa9bb,IName=IClusterLogMngr,Method=8,CallID=4838370,MName=transactionsLogging,DstClientID=8083,Context='Система.ПолучитьФорму : ОбщаяФорма.ПечатьДокументов
ОбщаяФорма.ПечатьДокументов.Форма : 61 : КоллекцияПечатныхФорм = СформироватьПечатныеФормы(Параметры.ИменаМакетов, Отказ);
	ОбщаяФорма.ПечатьДокументов.Форма : 792 : ПечатныеФормы = УправлениеПечатью.СформироватьПечатныеФормы(Параметры.ИмяМенеджераПечати, ИменаМакетов,
		ОбщийМодуль.УправлениеПечатью.Модуль : 3386 : МенеджерПечати.Печать(ОбъектыСоответствующиеПечатнойФорме, ПараметрыПечати, ВременнаяКоллекцияДляОднойПечатнойФормы,
			Документ.СверкаВзаиморасчетов2_5_11.МодульМенеджера : 261 : МакетНаПечать = СформироватьПечатнуюФормуАктСверкиВзаиморасчетов(ДокументыНаПечать, ОбъектыПечати);
				Документ.СверкаВзаиморасчетов2_5_11.МодульМенеджера : 311 : Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.СверкаВзаиморасчетов2_5_11.ПФ_MXL_АктСверкиВзаимныхРасчетов"); // ТабличныйДокумент -
					ОбщийМодуль.УправлениеПечатью.Модуль : 760 : ЗапомнитьПоследнийИспользованныйМакет(ПутьКМакету);
						ОбщийМодуль.УправлениеПечатью.Модуль : 7355 : ОбщегоНазначения.ХранилищеОбщихНастроекСохранить("Печать", "ПоследнийИспользованныйМакет", ПутьКМакету);
							ОбщийМодуль.ОбщегоНазначения.Модуль : 4849 : ХранилищеСохранить(ХранилищеОбщихНастроек,
								ОбщийМодуль.ОбщегоНазначения.Модуль : 9596 : МенеджерХранилища.Сохранить(КлючОбъекта, КлючНастроек(КлючНастроек), Настройки,'
Показать

И это уже можно парсить.
#python
import re
log_data = """ 00:03.555001-1,SCALL,2,process=rphost,... """

# Регулярное выражение для поиска имён форм
pattern = r"Система\.ПолучитьФорму\s*:\s*([^ ]+)"
# Множество для хранения уникальных имён форм
unique_forms = set()

# Обработка каждой строки лога
for line in log_data.splitlines():
    match = re.search(pattern, line)
    if match:
        form_name = match.group(1)
        unique_forms.add(form_name)

# Вывод уникальных имён форм
print("Уникальные имена форм:")
for form in unique_forms:
    print(form)
Показать
VyacheslavShilov; +1 Ответить
2. Asgard90 13.02.25 12:52 Сейчас в теме
Ну так создавайте регистр сведений, и в событиях при чтении на сервере, при создании на сервере, пишите туда, такой-то тогда-то, открыл вот это.
Во все нужные формы проставляем и все) можно подпиской на событие
3. Altez50 1 13.02.25 13:00 Сейчас в теме
(2)
ПриЧтенииНаСервере() предполагает наличие данных для чтения, а у формы обработки этого события нет, не у всех форм даже чтение настроек происходит при открытии.

Также сомнительно наличие возможности подписки на открытие формы обработки (у форм объектных типов данных хотя бы ПриЗаписи() можно поймать в серверном ТЖ).

Речь про свежую ЕРП, где подсистема БСП охватывает не все формы для логирования их открытия в ОМ.СобытияФорм.
7. Asgard90 11.03.25 10:15 Сейчас в теме
При открытии любого объекта событие при создании на сервере все равно отрабатывает, не в форме, а модуле объекта. При этом можно получить текущую форму которая откроется у пользователя ну и собственно это событие писать в РС. Так же события чтения должен фиксировать журнал регистрации в свежей платформе
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот