Как получить список выполняемых проектов в ZP?

Marlboro

Client
Регистрация
01.10.2020
Сообщения
38
Благодарностей
3
Баллы
8
Вот этот код вернет все проекты, которые добавлены в ZP, даже стопнутые:

C#:
// Не забудь подключить System.Xml (4.0.0) в GAC
foreach (var task in ZennoPoster.TasksList)
{
   System.Xml.XmlDocument xml_doc = new System.Xml.XmlDocument();
   xml_doc.LoadXml("<Task>" + task + "</Task>");
   System.Xml.XmlNode name = xml_doc.SelectSingleNode("Task/Name");
   project.Lists["projects"].Add(name.InnerText);
}

а как получить список только тех проектов, которые именно выполняются?
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 820
Баллы
113
C#:
// Не забудьте подключить System.Xml (4.0.0) в GAC
// ZennoPoster должен быть запущен для корректной работы этого кода
foreach (var task in ZennoPoster.TasksList)
{
    System.Xml.XmlDocument xml_doc = new System.Xml.XmlDocument();
    xml_doc.LoadXml("<Task>" + task + "</Task>");
    System.Xml.XmlNode name = xml_doc.SelectSingleNode("Task/Name");
    System.Xml.XmlNode status = xml_doc.SelectSingleNode("Task/ExecutionSettings/Status");
    
    // Возможные статусы:
    //Perform - работает
    //Complite - завершен
    //Stop - остановлен
    //Schedule - запланирован
    //WaitPerform - компилится
    if (status.InnerText == "Perform")
    {
        project.Lists["projects"].Add(name.InnerText);
    }
    
    //project.SendInfoToLog(name.InnerText, status.InnerText);
}
 

che100

Client
Регистрация
18.04.2017
Сообщения
808
Благодарностей
503
Баллы
63
C#:
// Не забудьте подключить System.Xml (4.0.0) в GAC
// ZennoPoster должен быть запущен для корректной работы этого кода
foreach (var task in ZennoPoster.TasksList)
{
    System.Xml.XmlDocument xml_doc = new System.Xml.XmlDocument();
    xml_doc.LoadXml("<Task>" + task + "</Task>");
    System.Xml.XmlNode name = xml_doc.SelectSingleNode("Task/Name");
    System.Xml.XmlNode status = xml_doc.SelectSingleNode("Task/ExecutionSettings/Status");
   
    // Возможные статусы:
    //Perform - работает
    //Complite - завершен
    //Stop - остановлен
    //Schedule - запланирован
    //WaitPerform - компилится
    if (status.InnerText == "Perform")
    {
        project.Lists["projects"].Add(name.InnerText);
    }
   
    //project.SendInfoToLog(name.InnerText, status.InnerText);
}
На своём пк работает как надо, вчера закинул клиенту на сервер, тоже работал , а сегодня нет. gac -system.xml добавлен, но в упор не видит шаб в ZP .
 
  • Спасибо
Реакции: fasnilacdi

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 820
Баллы
113
На своём пк работает как надо, вчера закинул клиенту на сервер, тоже работал , а сегодня нет. gac -system.xml добавлен, но в упор не видит шаб в ZP .
Тяжело сказать, что не так.
Попробуйте вывести вообще все шаблоны, которые есть в ЗП. Если в этом списке будет необходимый шаблон, то, возможно, ошибка где-то в логике.
 

che100

Client
Регистрация
18.04.2017
Сообщения
808
Благодарностей
503
Баллы
63
Тяжело сказать, что не так.
Попробуйте вывести вообще все шаблоны, которые есть в ЗП. Если в этом списке будет необходимый шаблон, то, возможно, ошибка где-то в логике.
Вряд ли в логике дело, у меня же тот же самый шаб и всё работает . Хз куда думать.
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 820
Баллы
113
Вряд ли в логике дело, у меня же тот же самый шаб и всё работает . Хз куда думать.
Для начала попробуйте вывести вообще все шаблоны, которые есть в ЗП. Это позволит понять "видит" ли проект необходимый шаблон в списке проектов.

Возможно логика завязана на поиске по имени, а заказчик (для своего удобства) переименовал проект.
 

che100

Client
Регистрация
18.04.2017
Сообщения
808
Благодарностей
503
Баллы
63
Возможно логика завязана на поиске по имени, а заказчик (для своего удобства) переименовал проект.
Логика завязана на имени проекта в ZP, т.е. на диске frukt.zp - в zp-е переименовываем в apple.
Имя тащим в переменную, п-ю пробрасываем в c# кубик, от куда дергаем статус проекта по имени apple.
 

Dr.Pipetka

Client
Регистрация
12.12.2017
Сообщения
1 308
Благодарностей
865
Баллы
113
Я помню прикол был, в разных версиях было
Task/ExecutionSettings/DoneSuccesfully
и
Task/ExecutionSettings/DoneSuccessfully
Так что однозначно стоит вывести в лог все и прошуршать:-)
 

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