Поймать (в техжурнале?) факт обращения платформы к метаданным любой формы
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4) Много форм мимо, те же БезналичныеПлатежи.
В плане поресерчить с "объектными" формами в DaJet клубе посоветовали вскопать подписку "ОбработкаПолученияФормы".
И SQL в таблице _Сonfig по uuid поискать.
Пока остановился на отлове событий ТЖ
выходит нечто такое:
И это уже можно парсить.
В плане поресерчить с "объектными" формами в 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)
Показать
(2)
ПриЧтенииНаСервере() предполагает наличие данных для чтения, а у формы обработки этого события нет, не у всех форм даже чтение настроек происходит при открытии.
Также сомнительно наличие возможности подписки на открытие формы обработки (у форм объектных типов данных хотя бы ПриЗаписи() можно поймать в серверном ТЖ).
Речь про свежую ЕРП, где подсистема БСП охватывает не все формы для логирования их открытия в ОМ.СобытияФорм.
ПриЧтенииНаСервере() предполагает наличие данных для чтения, а у формы обработки этого события нет, не у всех форм даже чтение настроек происходит при открытии.
Также сомнительно наличие возможности подписки на открытие формы обработки (у форм объектных типов данных хотя бы ПриЗаписи() можно поймать в серверном ТЖ).
Речь про свежую ЕРП, где подсистема БСП охватывает не все формы для логирования их открытия в ОМ.СобытияФорм.
При открытии любого объекта событие при создании на сервере все равно отрабатывает, не в форме, а модуле объекта. При этом можно получить текущую форму которая откроется у пользователя ну и собственно это событие писать в РС. Так же события чтения должен фиксировать журнал регистрации в свежей платформе
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот