//IZennoPosterProjectModel это модель текущего проекта. Предоставляет доступ к глобальным переменным, локальным переменным, таблицам, спискам, профилю. Содержит методы для отправки сообщений в программный лог.
//Ссылка на онлайн-документацию по объектной модели для всех версий ZennoPoster: //zennolab.com/wiki/en:zennoposter:macros-documentation
//Ссылка на онлайн-документацию по объектной модели версии 5.11.0.0: //help.zennolab.com/en/v5/zennoposter/5.11.0.0
//bool ExecuteProject
//Предназначение метода: Выполнение проекта ZennoPoster
//Параметры:
// string pathToProject - Путь к файлу проекта.
// IEnumerable<Tuple<string,string>> varibleMapping - Набор (collection) пар имён переменных в текущем проекте и вызываемом проекте.
// bool mapOnBadExist - true, если необходимо привязать переменные к текущему проекту даже если выполнение вызываемого проекта завершилось неудачей.
// bool passProjectContext - true, если необходимо привязать контекст текущего проекта к вызываемому проекту и наоборот.
// bool useBrowser - true, если необходимо использовать браузер в вызываемом проекте, иначе false.
//Демонстрация:
project.Context.Add("TestContextMapping", DateTime.Now);
//создаём кортеж для передачи переменных в вызываемый проект
var mapVars = new List<Tuple<string, string>>();
mapVars.Add(new Tuple<string, string>("test_var", "test_var"));
string strSubprojectPath = project.Directory + @"\вспомогательные файлы\ExecuteProject Вложенный проект.xmlz"; //путь к подпроекту
if (!File.Exists(strSubprojectPath)) return "Файл проекта для вызова не найден!";
bool blnProjectResult = project.ExecuteProject(strSubprojectPath, mapVars, true, true, false);
if (blnProjectResult) {
project.SendInfoToLog("Вызов внешнего проекта успешно завершён. Результат: " + project.Variables["test_var"].Value);
}else{
project.SendInfoToLog("Вызов внешнего проекта закончился неудачей");
}
//Примечания:
//