Имя: Пароль:
1C
 
Определить наименование функции/процедуры
0 mtr
 
08.04.26
11:17
Добрый день!
Пишу универсальный модуль для логирования под свои задачи.
Как программно определить, находясь внутри какой-либо функции/процедуре как называется эта функция?
1 Злопчинский
 
08.04.26
11:19
Стек вызовов?
2 arsik
 
гуру
08.04.26
11:20
Функция Какаято()
   ИмяФункции = "Какаято";
КонецФункции
3 1cVandal
 
08.04.26
11:20
(1) программно
Я вот даже не могу представить ситуацию когда это нужно
4 Федя Тяпкин
 
08.04.26
11:24
(0) вы там отладчик заново изобретаете?
5 maxab72
 
08.04.26
11:30
(0)
Процедура Процедура1()

  Попытка
    // сделать что-то
  Исключение
    МойМодульЛогирования.МояПроцедураЛогирования("Модуль12.Процедура1", "Упс!!!");
  КонецПопытки;

КонецПроцедуры
6 Мультук
 
гуру
08.04.26
11:31
(0)

1) Никак
2) Через попытка/исключение можно получить стек в текстовом виде, но это только "когда по другому совсем никак"
и для нормальной работы так не надо делать (имхо)

3) Непоянтно зачем, вы же будете копипастить вызов процедуры "Логгирование", сделайте еще один копи-паст

Функция ЧумбаЮмба() Эксорот

    Логгирование("ЧумбаЮмба");

КонецФункции
7 mtr
 
08.04.26
11:38
Спасибо за ответы :-)
8 Timon1405
 
08.04.26
11:56
(0) такое пилите?
https://infostart.ru/1c/tools/203843/
9 mtr
 
08.04.26
12:11
(8) Нет, делаю простейший модуль который логирует нужную мне информацию в нужных местах и с нужной детальность. Ничего сложного. Просто хотелось бы обойтись без ручного указания места вызова. А так и без это все работает.
10 Garykom
 
гуру
08.04.26
12:36
Было бы хорошо добавь 1С в платформу "ЭтотМодуль" и "ЭтотМетод"
Дополнительно к "ЭтотОбъект"
11 mtr
 
08.04.26
12:46
(10) Не имеет смысла что-то добавлять. Я просто думал что есть какая-то стандартная функция о которой я не знаю. Проще оставить как есть.