InputSettings настройки с кода

aluminoter

Client
Регистрация
11.02.2015
Сообщения
254
Благодарностей
39
Баллы
28
Подскажите как с кода обнулять или добавлять некоторые входные настройки. Если можно пример, а не понято как мне взять Guid Id..

Просто иногда надо при определенных условиях некоторые входные настройки обнулялись.
Нашел в WIKI но не получается что то.
https://help.zennolab.com/en/v5/zennoposter/5.9/webframe.html#ZennoLab.CommandCenter~ZennoLab.CommandCenter.ZennoPoster~ImportInputSettings.html
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
так это импорт настроек как я понял а не обнуление

P.S. Мой вопрос тоже о входных настройках и спрошу тут не создавая топика, а можно как то само окно расширять, переключение табов вправо, влево как то не то
 

aluminoter

Client
Регистрация
11.02.2015
Сообщения
254
Благодарностей
39
Баллы
28

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Мне надо чтобы некоторые входные настройки обнулились. Не подскажешь как выполнить сие чудо????
наверно так будет выглядеть, делаешь экспорт, заменяешь в xml что тебе надо и импорт, честно иногда путаю что делает импорт а что экспорт )))
 
  • Спасибо
Реакции: Hartwell

aluminoter

Client
Регистрация
11.02.2015
Сообщения
254
Благодарностей
39
Баллы
28
наверно так будет выглядеть, делаешь экспорт, заменяешь в xml что тебе надо и импорт, честно иногда путаю что делает импорт а что экспорт )))
Делал, не получается. Там есть параметр Guid, а в примерах он получается как Guid.Empty тоесть пустой нулевой, может из-за этого.
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Делал, не получается. Там есть параметр Guid, а в примерах он получается как Guid.Empty тоесть пустой нулевой, может из-за этого.
получи Guid проекта и проверь, пропиши его вручную
 

aluminoter

Client
Регистрация
11.02.2015
Сообщения
254
Благодарностей
39
Баллы
28

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Ничего не обнуляет, как было так и есть. Что через Постер, что через Мейкер
а как ты обнуляешь ??? ты полученный XML редактируешь и импортируешь или готовый импортируешь
 

aluminoter

Client
Регистрация
11.02.2015
Сообщения
254
Благодарностей
39
Баллы
28
Пробовал вот так:
C#:
var id = "b4b3b3cd-1aaf-4a98-b7d1-d3b40c61c575";
    ZennoPoster.ImportInputSettings(
    Guid.ParseExact(id,"D"),
    @"<Name>Ссылки на Кинопоиск</Name><Value>C:\Users\aluminoter-pc\Desktop\groovi\gooVi.xmlz</Value>"
);
Но наверное не правильно, так как не XML получается.
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
заходишь в проект, экспортируешь настройки, у тебя сохраняется xml, в нём что то меняешь и импорт делаешь и у тебя во входных должно измениться, а теперь эту манипуляцию делаешь в коде.
И что такое D в твоём случае ??? Это вообще то параметр настроек который ты должен передать
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
в первой строке ты получаешь настройки, во второй загружаешь
var settings = ZennoPoster.ExportInputSettings(id);
// Import setting in xml format
ZennoPoster.ImportInputSettings(id, settings);
как я понимаю до первой строки ты должен получить Guid
до импорта ты должен изменить эти настройки и уже только тогда они изменяться
 

aluminoter

Client
Регистрация
11.02.2015
Сообщения
254
Благодарностей
39
Баллы
28
Все получилось, вот теперь чтобы получить Guid надо распарсить TaskList

C#:
var id = "b4b3b3cd-1aaf-4a98-b7d1-d3b40c61c575";

var export = ZennoPoster.ExportInputSettings(Guid.Parse(id));

export =  Regex.Replace(export, @"C:\\Users\\aluminoter\-pc", @"");
ZennoPoster.ImportInputSettings(Guid.Parse(id), export);
 
  • Спасибо
Реакции: LightWood

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Все получилось, вот теперь чтобы получить Guid надо распарсить TaskList

C#:
var id = "b4b3b3cd-1aaf-4a98-b7d1-d3b40c61c575";

var export = ZennoPoster.ExportInputSettings(Guid.Parse(id));

export =  Regex.Replace(export, @"C:\\Users\\aluminoter\-pc", @"");
ZennoPoster.ImportInputSettings(Guid.Parse(id), export);
Да Guid получить не проблема, вот только если у тебя будет в настройках примерно 100 компонентов и ты половино захочешь изменять то придётся голову поломать немного наверно))
 

aluminoter

Client
Регистрация
11.02.2015
Сообщения
254
Благодарностей
39
Баллы
28
Да Guid получить не проблема, вот только если у тебя будет в настройках примерно 100 компонентов и ты половино захочешь изменять то придётся голову поломать немного наверно))
Мне надо изменить два элемента, после того как пройдет чтение файла, он должен удалитьсяю и поле для текста отчистилось, вот и все.
 

aluminoter

Client
Регистрация
11.02.2015
Сообщения
254
Благодарностей
39
Баллы
28
Если кому понадобится изменять входные данные, пример ниже:

C#:
#region 1.1 Входящие найстройки

//    Экспорт настроек и замена
var id = Guid.Parse(project.TaskId);
var exportSettings = ZennoPoster.ExportInputSettings(id);
exportSettings = Regex.Replace(exportSettings, @"C:", @"D:");

//    Импорт новых настроек
ZennoPoster.ImportInputSettings(id, exportSettings);

#endregion
 
  • Спасибо
Реакции: Castaneda и orka13

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
а если у меня в зенопостере 100 проектов, то мне что первому попавшему Guid обнулять, это ты пример сделал для одиночного проекта я так понял
 

aluminoter

Client
Регистрация
11.02.2015
Сообщения
254
Благодарностей
39
Баллы
28
а если у меня в зенопостере 100 проектов, то мне что первому попавшему Guid обнулять, это ты пример сделал для одиночного проекта я так понял
Что значить для одиночного, у тебя что вложенные проекты???
 

aluminoter

Client
Регистрация
11.02.2015
Сообщения
254
Благодарностей
39
Баллы
28
C#:
// GUID текущего проекта
Guid.Parse(project.TaskId)
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113

Bullet

Client
Регистрация
16.12.2015
Сообщения
186
Благодарностей
19
Баллы
18
Использовал описываемый тут код в своем модуле. Суть - создаем новую задачу в ZP, затем корректируем у нее входные параметры.


Код:
var guid = Guid.NewGuid();

var task =
"<Id>"+guid+"</Id>"+
"<Name>"+project.Variables["name"].Value+"</Name>"+
"<CreateTime>01/01/0001 00:00:00</CreateTime>"+
"<ExecutionSettings>    "+
"    <LimitOfThreads>1</LimitOfThreads>"+
"    <MaxAllowOfThreads>0</MaxAllowOfThreads>"+
"    <DoneSuccesfully>0</DoneSuccesfully>"+
"    <DoneAll>0</DoneAll>"+
"    <NumberOfTries>1</NumberOfTries>"+
"    <LastNumberOfTries>0</LastNumberOfTries>"+
"    <Priority>50</Priority>"+
"    <Proxy>DoNotUseProxy</Proxy>"+
"    <Status>Newbie</Status>"+
"    <ProxyLabels></ProxyLabels>"+
"    <ShouldBeExecutedRandomly>False</ShouldBeExecutedRandomly>"+
"    <GroupLabels>"+project.Variables["label"].Value+"</GroupLabels>"+
"    <GroupStates>Выполнены</GroupStates>"+
"    <MaxNumOfSuccesStop>-1</MaxNumOfSuccesStop>"+
"    <MaxNumOfFailStop>-1</MaxNumOfFailStop>"+
"    <NumOfFailStop>0</NumOfFailStop>"+
"</ExecutionSettings>"+
"<SchedulerSettings>"+
"    <StartDate>01/01/0001 00:00:00</StartDate>"+
"    <EndDate>01/01/0001 00:00:00</EndDate>"+
"    <RepetitionCount>1</RepetitionCount>"+
"    <ScheduleType>EveryMinutes</ScheduleType>"+
"    <RepeatType>FinishAfter</RepeatType>"+
"    <ActivateTime>01/01/0001 00:00:00</ActivateTime>"+
"    <ActivateWorkTime>01/01/0001 00:00:00</ActivateWorkTime>"+
"    <IsActive>False</IsActive>"+
"    <NumberOfTries>0</NumberOfTries>"+
"    <Minutes>1</Minutes>"+
"    <Days>1</Days>"+
"    <LastScheduleDate>01/01/0001 00:00:00</LastScheduleDate>"+
"    <IsClearSucces>False</IsClearSucces>"+
"</SchedulerSettings>"+
"<Project>"+
"    <ProjectFileLocation>"+project.Variables["patch"].Value+"</ProjectFileLocation>"+
"    <ProjectType>Assembly</ProjectType>"+
"</Project>";

ZennoPoster.AddTask(task);

var exportSettings = ZennoPoster.ExportInputSettings(guid);
exportSettings = Regex.Replace(exportSettings, @"projectname", project.Variables["name"].Value);
ZennoPoster.ImportInputSettings(guid, exportSettings);a
Почти все работает, за исключением - когда запускаешь в цикле, меняя значение переменной NAME, значение входного параметра остается равным первому значению переменной NAME.
Предполагаю, что при первом экспорте и замене значения, повторный экспорт не затирает предыдущий...
 

Bullet

Client
Регистрация
16.12.2015
Сообщения
186
Благодарностей
19
Баллы
18
Обнаружил, что в моем случае виноват метод AddTask - при создании заданий они почему то имеют единые входные настройки... При изменении значения в одном задании - во всех других тоже происходит изменение. В этой теме больше не отписываюсь, вынес в отдельную.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 707
Баллы
113
"<CreateTime>01/01/0001 00:00:00</CreateTime>" нужно сделать уникальным временем.
должно помочь
 
  • Спасибо
Реакции: Yuriy Zymlex

Bullet

Client
Регистрация
16.12.2015
Сообщения
186
Благодарностей
19
Баллы
18

Severip

Client
Регистрация
17.10.2013
Сообщения
346
Благодарностей
98
Баллы
28
Апну тему, не могу найти решения.
Как экспортировать настройки в xml файл?

Код:
var id = Guid.Parse(project.TaskId);
var exportSettings = ZennoPoster.ExportInputSettings(id);
Как дальше?
Понимаю, что тут все просто, но в C# не силен, подскажите плиз.
 
  • Спасибо
Реакции: bizzon

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 369
Благодарностей
3 294
Баллы
113
  • Спасибо
Реакции: evgen_po

fridayman

Client
Регистрация
25.03.2018
Сообщения
167
Благодарностей
259
Баллы
63
Код:
Guid id = Guid.Parse(project.TaskId);
string exportSettings = ZennoPoster.ExportInputSettings(id);
File.WriteAllText(@"C:\test.xml", exportSettings);
Работает только в ЗП.
Подскажите, а можно ли сделать так же, но только с Bot UI ?
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 369
Благодарностей
3 294
Баллы
113

Azakim

Client
Регистрация
25.07.2021
Сообщения
165
Благодарностей
30
Баллы
28
Подскажите, а можно ли сделать так же, но только с Bot UI ?
Код:
Guid id = Guid.Parse(project.TaskId);
string exportSettings = ZennoPoster.ExportInputSettings(id);
File.WriteAllText(@"C:\test.xml", exportSettings);
Работает только в ЗП.
не подскажите почему пустой файл получается ?
 

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