powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Позиция свойства в листе
19 сообщений из 19, страница 1 из 1
Позиция свойства в листе
    #37415738
michaeldevp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Как мне получить позицию свойства в списке при стандартной стратегии хранения?
...
Рейтинг: 0 / 0
Позиция свойства в листе
    #37415774
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверное это запрятано в классе %Library.CompiledProperty ...
...
Рейтинг: 0 / 0
Позиция свойства в листе
    #37415784
michaeldevp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Судя по названию - может быть.
Но я там не нашел.
...
Рейтинг: 0 / 0
Позиция свойства в листе
    #37415827
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
michaeldevpНо я там не нашел.
Там есть хитрое свойство Parameters ... Возможно в нёт-то и спрятано.
...
Рейтинг: 0 / 0
Позиция свойства в листе
    #37415843
michaeldevp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Действительно, там есть некие числа.
Но они не являются номерами в листе.
Есть информация, что это за числа и как их сопоставить с реальным хранением данных?
...
Рейтинг: 0 / 0
Позиция свойства в листе
    #37415847
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
michaeldevpДействительно, там есть некие числа.
Но они не являются номерами в листе.
Есть информация, что это за числа и как их сопоставить с реальным хранением данных?
Надобности в этом у меня небыло... Да и при описании "прямого" доступа к данным обычно говорили "зная позицию свойства в строке ..."...
...
Рейтинг: 0 / 0
Позиция свойства в листе
    #37415860
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
michaeldevp , предположу что в классе %Library.ClassDefinition есть свойство Properties . Так вот позиция идентификатора свойства и есть позиция его значения в стороке значений...
...
Рейтинг: 0 / 0
Позиция свойства в листе
    #37415896
michaeldevp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa michaeldevp , предположу что в классе %Library.ClassDefinition есть свойство Properties . Так вот позиция идентификатора свойства и есть позиция его значения в стороке значений...

нет
...
Рейтинг: 0 / 0
Позиция свойства в листе
    #37415906
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В любом случае данные хранятся в позициях "по мере добавления свойств". Даже если некоторых уже нет в классе...

Есть правда хитрый шахер-махер, позволяющий опять все начать с 1,2,3...
...
Рейтинг: 0 / 0
Позиция свойства в листе
    #37415917
michaeldevp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa,

Это я знаю.
Когда открываешь документацию класса - то свойства видны и видны в том порядке, в каком нужно (оставим пока вопрос о пропущенных/удаленных полях).
Как-то же сама документация получает этот порядок.
...
Рейтинг: 0 / 0
Позиция свойства в листе
    #37415963
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
 s x=##class(%Dictionary.ClassDefinition).%OpenId(<class name>).Properties 
 if $isobject(x) {
   for xx= 1 : 1  {
      s y=x.GetAt(xx) q:y=""
      w y.Name,"",y.SequenceNumber,!
   }
 }
...
Рейтинг: 0 / 0
Позиция свойства в листе
    #37415967
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или аналогично - по Dictionary.CompiledClass, в зависимости от того, что требуется.
...
Рейтинг: 0 / 0
Позиция свойства в листе
    #37415980
michaeldevp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey Maslov,

У многих свойств SequenceNumber=0.
Да и по тем, где не 0, не соотв. документации класса.
...
Рейтинг: 0 / 0
Позиция свойства в листе
    #37416034
michaeldevp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Занимательная диаграмма

http://www.scribd.com/doc/25905963/Cache-Dictionary-Class-Model
...
Рейтинг: 0 / 0
Позиция свойства в листе
    #37416110
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
michaeldevp, Сначала добираемся до структуры хранения класса - %Dictionary.CompiledStorage (%Dictionary.StorageDefinition), от нее переходим к структуре хранению данных %Dictionary.CompiledStorageData и уже от нее к структуре хранения значений %Dictionary.CompiledStorageDataValue. Свойство Name - искомое значение
...
Рейтинг: 0 / 0
Позиция свойства в листе
    #37416145
michaeldevp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
doublefint,

Совершенно верно!
Именно это и следовало из диаграммы.
...
Рейтинг: 0 / 0
Позиция свойства в листе
    #37416147
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В портале управления - SQL - Выполнить SQL запрос:
Select * From %Dictionary.CompiledStorageDataValue Where parent %StartsWith 'Your.ClassName'
Или
Select * From %Dictionary.StorageDataValueDefinition Where parent %StartsWith 'Your.ClassName'
...
Рейтинг: 0 / 0
Позиция свойства в листе
    #37416168
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
michaeldevp, это следовало и из описания структуры хранения класса (В Студио открыть класс - Просмотр - Просмотр способа хранения)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<Storage name="Default">
 <Data name="ParagraphDefaultData">
  <Value name="1">
   <Value>%%CLASSNAME</Value>
  </Value>
  <Value name="2">
    <Value>name</Value>
  </Value>
</Data>
....
</Storage>
...
Рейтинг: 0 / 0
Позиция свойства в листе
    #37418448
Socratdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Метод возвращает номер свойства:
Код: plaintext
1.
2.
3.
ClassMethod getPropIndex(class, property As %String) As %Integer
{
	q $LG($Get($$$EXTPROPsqlinfo($$$pEXT,class,property)), 3 )
}
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Позиция свойства в листе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]