как получить список переменных из профиля?

linkod

Пользователь
Joined
Oct 11, 2018
Messages
118
Reaction score
1
Points
16
переменную сохарнил, переменную по имени могу вытащить, а узнать что хранится в профиле без знания имени переменной не могу. как быть?
 

Sergodjan

Administrator
Staff member
Joined
Sep 5, 2012
Messages
22,696
Reaction score
10,156
Points
113
переменную сохарнил, переменную по имени могу вытащить, а узнать что хранится в профиле без знания имени переменной не могу. как быть?
Профиль это zip-файл, внутри текстовые файлы с данными, можете извлечь из него файлик, где хранятся переменные, и распарсить их имена и значения.
 

Alex733

Client
Joined
Nov 27, 2017
Messages
348
Reaction score
248
Points
43
Приблизительно так:
C#:
return string.Join("; ",  project.Variables.Keys);
 
  • Thank you
Reactions: djaga and linkod

linkod

Пользователь
Joined
Oct 11, 2018
Messages
118
Reaction score
1
Points
16
Приблизительно так:
C#:
return string.Join("; ",  project.Variables.Keys);
только есть один момент. показывает объявленные переменные. А в профиле много чего может храниться )
 

Alex733

Client
Joined
Nov 27, 2017
Messages
348
Reaction score
248
Points
43
Например?
 

linkod

Пользователь
Joined
Oct 11, 2018
Messages
118
Reaction score
1
Points
16
например те, которые были сохранены ранее. Если в проекте переменная не объявлена, то данный метод ее не увидит.
 

Alex733

Client
Joined
Nov 27, 2017
Messages
348
Reaction score
248
Points
43
Не совсем понятно.
Если переменные проекта объявляются в процессе работы шаблона, то можно запустить этот код в конце проекта.
 

Nike59

Client
Joined
Aug 5, 2011
Messages
120
Reaction score
121
Points
43
Выкладывали уже вот это, если надо, то можно распарсить:

Code:
string profile = project.Profile.ToString();
return profile;
 

linkod

Пользователь
Joined
Oct 11, 2018
Messages
118
Reaction score
1
Points
16
Выкладывали уже вот это, если надо, то можно распарсить:

Code:
string profile = project.Profile.ToString();
return profile;
переменные не выдает.
 

linkod

Пользователь
Joined
Oct 11, 2018
Messages
118
Reaction score
1
Points
16
Не совсем понятно.
Если переменные проекта объявляются в процессе работы шаблона, то можно запустить этот код в конце проекта.
вопрос во том, чтобы узнать все возможные переменные внутри профиля.
 

linkod

Пользователь
Joined
Oct 11, 2018
Messages
118
Reaction score
1
Points
16
Профиль это zip-файл, внутри текстовые файлы с данными, можете извлечь из него файлик, где хранятся переменные, и распарсить их имена и значения.
а есть какой-нибудь супер сниппет? на эту тему
 

Alex733

Client
Joined
Nov 27, 2017
Messages
348
Reaction score
248
Points
43
вопрос во том, чтобы узнать все возможные переменные внутри профиля.
Может переменные, которые используются внутри шаблона в с# кубиках?
 

Sergodjan

Administrator
Staff member
Joined
Sep 5, 2012
Messages
22,696
Reaction score
10,156
Points
113
а есть какой-нибудь супер сниппет? на эту тему
Помню что то было на форуме, причем попадалось буквально сегодня.
В закладки еще хотел поместить, помня интерес в этом топике. :-)
Попробую поискать еще раз.

PS: (нашел)
https://zennolab.com/discussion/threads/zip-arxiv-v-zennoposter.46311/
https://zennolab.com/discussion/threads/kak-poluchit-proksi-iz-profilja-v-proekte-bez-brauzera.24517/#post-169435
 
  • Thank you
Reactions: linkod

linkod

Пользователь
Joined
Oct 11, 2018
Messages
118
Reaction score
1
Points
16
Может переменные, которые используются внутри шаблона в с# кубиках?
возможно. Скорее всего вы имеете в виду локальные или глобальные переменные проекта. Я почти кубиками не пользуюсь. Долго ))
Пока переменные не указаны в проекте, я не могу видеть их вообще, а значение я могу видеть, когда будет произведен их вызов шаблоном.
Вот такая логика работы у зенки. :D
 

Alex733

Client
Joined
Nov 27, 2017
Messages
348
Reaction score
248
Points
43
Если сослаться на стартпост, то я запускаю шаблон, нажимаю F2 и вижу все переменные в профиле. Вам было предложено несколько решений, которые помогли частично с задачей.

Само собой, что пока переменную не объявить, её нельзя использовать, и что значения этих переменных я могу увидеть только в процессе выполнения.

О каких переменных вообще речь идёт?
переменную по имени могу вытащить, а узнать что хранится в профиле без знания имени переменной не могу
Судя по выше сказанному - это те переменные, которые объявляются пользователем руками и видны по F2.

только есть один момент. показывает объявленные переменные. А в профиле много чего может храниться )
Что имеется в виду: пользовательские (которые так же называются "свои" при вызове по F2) , глобальные, переменные в общем коде или локальные переменные в C# экшене (кубике, прямоугольнике и т.п., как ни крути, но хоть один "кубик" в шаблоне, который создается в PM будет), авто переменные, окружение, Json или XML переменные?
Еще видел способ, где-то на форуме как создавать "свои" переменные на этапе выполнения проекта, может вы их хотите вытащить?
Что еще такого хранится в профиле, что никак не увидеть, не извлечь программно или не распарсить из зип архива шаблона или профиля?
Уже интересно вашу задачу решить, возможно пригодится, когда-нибудь.

Я почти кубиками не пользуюсь. Долго ))
- интересно, а где вы пишите код? (вопрос риторический)

Просто, если это еще актуально, конкретизируйте, что именно нужно с учетом выше сказанного.
 

linkod

Пользователь
Joined
Oct 11, 2018
Messages
118
Reaction score
1
Points
16
Если сослаться на стартпост, то я запускаю шаблон, нажимаю F2 и вижу все переменные в профиле. Вам было предложено несколько решений, которые помогли частично с задачей.
Да эти переменные. Вскрыть архив профиля помогает. Они там.


- интересно, а где вы пишите код? (вопрос риторический)
ну почти не пользуюсь. Кубик кода, еще общий код часто использую и иногда стандартные кубики быстрее использовать. К примеру, чтобы переменные в профиль сохранить.
 

Alex733

Client
Joined
Nov 27, 2017
Messages
348
Reaction score
248
Points
43
return string.Join("; ", project.Variables.Keys);
Что тогда не вытаскивает этот код?
 

linkod

Пользователь
Joined
Oct 11, 2018
Messages
118
Reaction score
1
Points
16
Что тогда не вытаскивает этот код?
Это не ко мне вопрос. ) Ваша команда показывает те переменные, которые видны по нажатию F2.

Вообще, логично бы было получать список таких переменных обращаясь к профилю, т.е. что-то типа
Code:
project.profile.variables
Налицо задел для разрабов.
 

Ivan_B_1

Client
Joined
Jul 12, 2019
Messages
76
Reaction score
12
Points
8
Очень хочется иметь возможность вызывать переменные профиля как-нибудь через c#
 

Skrine

Client
Joined
Feb 5, 2020
Messages
88
Reaction score
18
Points
8
Добавили функцию, если кому надо, вызываются так
return project.Profile.Login;
return project.Profile.Name + project.Profile.Surname;
Типо того
 
Last edited:

Users Who Are Viewing This Thread (Total: 1, Members: 0, Guests: 1)