Как узнать путь к работающему шаблону? Решено

Rimen

Client
Регистрация
28.10.2019
Сообщения
405
Благодарностей
235
Баллы
43
Бонжур, коллеги :bt:

Архитуктурная фича: в каждый первый шаблон зашиваю логический Bad END с отправкой себе в мессенджер уведомления о том что шаблон сломался и требует внимания.

Код для примера:
C#:
// готовлю переменную "messageBody" с указанием адреса шаблона
project.Variables["messageBody"].Value = @"Сломался шаблон по адресу: {-Project.Directory-}" + "Модуль 8: сбор упущенной семантики.zp";

var mapVars = new List<Tuple<string, string>>();
mapVars.Add(new Tuple<string, string>("messageBody", "messageBody"));
project.ExecuteProject(@"C:\Боты\технические общие\telegram-отправка.zp", mapVars, false, true, false);
Соответственно по адресу C:\Боты\технические общие\telegram-отправка.zp лежит шаблон отправки месседжа в телегу с переменной 'messageBody' (содержимое которой отправляется в телегу")

Выглядит так:
83604


И для удобства сделал заготовку-шаблон (как посоветовал здесь уважаемый radv) — каждый новый шаб создаю сразу на "заготовке" с этим куском логики внутри.

Проблема только в том что необходимо каждый раз менять имя файла в коде.

Вопрос: как туда запихнуть имя открытого шаба?
 

Rimen

Client
Регистрация
28.10.2019
Сообщения
405
Благодарностей
235
Баллы
43
в окружении смотрел, переменной названия шаба там нет.
возможно есть где-то в c# возможностях?
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 804
Баллы
113
Вот так можно получить полный путь к текущему шаблону Path.Combine(project.Directory, project.Name)

А вот так будет выглядеть Ваш код:
C#:
// готовлю переменную "messageBody" с указанием адреса шаблона
project.Variables["messageBody"].Value = @"Сломался шаблон по адресу: " + Path.Combine(project.Directory, project.Name);

var mapVars = new List<Tuple<string, string>>();
mapVars.Add(new Tuple<string, string>("messageBody", "messageBody"));
project.ExecuteProject(@"C:\Боты\технические общие\telegram-отправка.zp", mapVars, false, true, false);
 
  • Спасибо
Реакции: Rimen

Rimen

Client
Регистрация
28.10.2019
Сообщения
405
Благодарностей
235
Баллы
43
Вот так можно получить полный путь к текущему шаблону Path.Combine(project.Directory, project.Name)

А вот так будет выглядеть Ваш код:
C#:
// готовлю переменную "messageBody" с указанием адреса шаблона
project.Variables["messageBody"].Value = @"Сломался шаблон по адресу: " + Path.Combine(project.Directory, project.Name);

var mapVars = new List<Tuple<string, string>>();
mapVars.Add(new Tuple<string, string>("messageBody", "messageBody"));
project.ExecuteProject(@"C:\Боты\технические общие\telegram-отправка.zp", mapVars, false, true, false);
Работает:bf:
Низкий поклон Вам, добрый человек :dh:
 
  • Спасибо
Реакции: nicanil

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)