| 
 
  
	| Администратор словаря данных - вижу фигу.... 
 
 |  
	
		| Предыдущая тема :: Следующая тема |  
		| Автор | Сообщение |  
		| Damir Участник - экстремал
 
 
 Вступление в Клуб: 29.03.2013
 
 | 
			
				|  Пн Июл 01, 2013 14:11   Администратор словаря данных - вижу фигу.... |   |  
				| Полезность: Нет оценки 
 |  
				| Добрый вечер. Подскажите новичку - может где-чё включить надо, чтобы на вкладке
 "Реквизиты" в Администраторе словаре данных появилась нужная мне информация.
 В настройках что-то повключал - к наименованию и короткому имени реквизита появился "Тип"
 А видеть хочется, для начала, такие поля:
 
 
  	  | Код: |  	  | select c.has_instances, c.agregate, c.base_class_id, c.target_class_id from classes c where c.id = .... | 
 Ну и дальше, если реквизит объекта является массивом (коллекцией), то хотелось видеть чем является элемент этого массива (ссылкой или самостоятельной структурой).
 Дело в том, название типам даются не всегда в соответствии с их типами - сильно зависит от проектанта.
 |  |  
		|  |  
		| Random Эксперт
 
 
 Вступление в Клуб: 27.06.2011
 
 | 
			
				|  Вт Июл 02, 2013 08:20   Re: Администратор словаря данных - вижу фигу.... |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | Damir пишет: |  	  | Добрый вечер. Подскажите новичку - может где-чё включить надо, чтобы на вкладке
 "Реквизиты" в Администраторе словаре данных появилась нужная мне информация.
 В настройках что-то повключал - к наименованию и короткому имени реквизита появился "Тип"
 А видеть хочется, для начала, такие поля:
 
 
  	  | Код: |  	  | select c.has_instances, c.agregate, c.base_class_id, c.target_class_id from classes c where c.id = .... | 
 Ну и дальше, если реквизит объекта является массивом (коллекцией), то хотелось видеть чем является элемент этого массива (ссылкой или самостоятельной структурой).
 Дело в том, название типам даются не всегда в соответствии с их типами - сильно зависит от проектанта.
 | 
 Бить пректанта по шее зарплатой не помогает?
 
 Обычно окончание _REF означает, что мы имеем дело со ссылкой, _ARR - с массивом, _REF_ARR - с массивом ссылок. Сразу оговорюсь, что массивы ссылок - persona non grata.
 Простые типы нужно просто запомнить.
 Все остальные - структуры.
 
 И вообще, кода долго работаешь над одним и тем же проектом, запоминаешь типы, если сомневаешься, ну ткнул пару раз мышкой на нужном поле. Или выполнил запрос к БД.
 
 А тащить всю информацию в окошко - сильно много разных буковок, глаза устают, не нужно это ИМХО.
 
 Тем более, что тех колонок, которые Вы хотите видеть, всё равно не настроить никак.
 |  |  
		|  |  
		| Damir Участник - экстремал
 
 
 Вступление в Клуб: 29.03.2013
 
 | 
			
				|  Вт Июл 02, 2013 10:30   Re: Администратор словаря данных - вижу фигу.... |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | Random пишет: |  	  | Бить пректанта по шее зарплатой не помогает? | 
 Последние разбегуться тада.
  Итак вокруг одни 1С-ники   А если серъездно - раритета достаточно много, а я ЦФТ в глаза увидел только 2 месяца как.
 Тык мышкой на поле дает неоднозначную интерпретацию (например, в случае Ссылки, Класса без возможности иметь экземпляры, Массива объектов - вот во всех случаях открывается окошко Класса).
 Мне было бы удобнее напротив реквизита увидеть 'REFERENCE', 'STRUCTURE' или 'COLLECTION' и в случае массива - массив чего (ссылок или объектов)
 
 
  	  | Random пишет: |  	  | Сразу оговорюсь, что массивы ссылок - persona non grata.
 
 | 
 
 А вот тут очень интересно узнать мнение спеца - почему?
 В нашей системе массивов ссылок достаточно много
 
 
  	  | Random пишет: |  	  | Тем более, что тех колонок, которые Вы хотите видеть, всё равно не настроить никак.
 
 | 
 
 Придется себе самому тулсятину писать - не так уж и сложно.
 Просто это уж совсем инструмантальные средства - их лучше централизованно разрабатывать.
 |  |  
		|  |  
		| Random Эксперт
 
 
 Вступление в Клуб: 27.06.2011
 
 | 
			
				|  Ср Июл 03, 2013 06:40   Re: Администратор словаря данных - вижу фигу.... |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | Damir пишет: |  	  | Мне было бы удобнее напротив реквизита увидеть 'REFERENCE', 'STRUCTURE' или 'COLLECTION' и в случае массива - массив чего (ссылок или объектов) | 
 Привыкнешь
   Увы, но это факт - что есть, то и кушаем. Сподвигнуть что-то поменять - это реально подвиг...
 
  	  | Damir пишет: |  	  | 
  	  | Random пишет: |  	  | Сразу оговорюсь, что массивы ссылок - persona non grata.
 
 | 
 
 А вот тут очень интересно узнать мнение спеца - почему?
 В нашей системе массивов ссылок достаточно много
 | 
 Ну это же достаточно просто.
 Вот раньше у клиента был массив ссылок кодов ОКАТО, или как-то так.
 Через несколько времени стал нужен приоритет, какой из кодов предпочтительней.
 Массивы ссылок не расширяются вообще никак.
 Пришлось разрабатывать структуру со ссылкой на код окато и признаком MAIN. И заменять везде одно на другое. И писать операции конвертации, перегоняющие данные из одной таблички в другую. И куча ошибок.
 Зато, когда встала задача сделать привязку того же кода ОКАТО к клиенту историчным, никаких проблем - на уже существующей структуре добавили реквизит DATE_BEG и всё.
 
 PS: Про код ОКАТО и клиентов - это фантазия чисто для примера. Но факт - в ЦФТ по регламенту новый массив ссылок практически не имеет шансов попасть в дистрибутив.
 |  |  
		|  |  
		| Damir Участник - экстремал
 
 
 Вступление в Клуб: 29.03.2013
 
 | 
			
				|  Чт Июл 04, 2013 05:33   Re: Администратор словаря данных - вижу фигу.... |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | Random пишет: |  	  | Увы, но это факт - что есть, то и кушаем. Сподвигнуть что-то поменять - это реально подвиг...
 
 | 
 Ужос.....
 Будет время - наваяю по-бырому для себя гляделку реквизитов в виде операции ЦФТ-шной и выложу в форум. Нихай вашим ядерщикам потом в нос тычут.
 Пока вот (другим топиком) выложу свои мысли по логированию изменений - на всеобщее обсуждение.
 
 
  	  | Random пишет: |  	  | Массивы ссылок не расширяются вообще никак.
 ................
 Зато, когда встала задача сделать привязку того же кода ОКАТО к клиенту историчным, никаких проблем - на уже существующей структуре добавили реквизит DATE_BEG и всё.
 
 PS: ... в ЦФТ по регламенту новый массив ссылок практически не имеет шансов попасть в дистрибутив.
 | 
 Ясн. Пасиб.
 Ну, по-сути, те же яйца только в профиль.
 Вместо массива ссылок имеем расширяемую структуру ссылок.
 Я уж было испугался, что пользовать можно только массивы объектов.
 |  |  
		|  |  
		| Random Эксперт
 
 
 Вступление в Клуб: 27.06.2011
 
 | 
			
				|  Чт Июл 04, 2013 12:47   Re: Администратор словаря данных - вижу фигу.... |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | Damir пишет: |  	  | Пока вот (другим топиком) выложу свои мысли по логированию изменений - на всеобщее обсуждение. | 
 Можно подробнее? А то у меня есть что-то на эту тему...
 
 
  	  | Damir пишет: |  	  | Я уж было испугался, что пользовать можно только массивы объектов.
 | 
 Ну да, так и есть. Просто в данном случае объект - структура со ссылкой.
 |  |  
		|  |  
		| Damir Участник - экстремал
 
 
 Вступление в Клуб: 29.03.2013
 
 | 
			
				|  Пн Июл 15, 2013 12:23   Re: Администратор словаря данных - вижу фигу.... |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | Damir пишет: |  	  | Будет время - наваяю по-бырому для себя гляделку реквизитов в виде операции ЦФТ-шной и выложу в форум. Нихай вашим ядерщикам потом в нос тычут.
 
 | 
 Ну вот сделал для себя 2 PL+ представления.
 1-ое на основе таблицы CLASSES, второе на основе таблички class_attributes.
 Второе представление прилагаю - собс-но мне не хватало поля SELF_KIND_TREE в Администраторе словаря при просмотре реквизитов.
 
  	  | Код: |  	  | type main is
 select ca(
 ca.CLASS_ID       : IBSO_CLASS_ID
 , ca.ATTR_ID       : ATTR_ID
 , ca.SELF_CLASS_ID    : SELF_CLASS_ID
 , ca.NAME          : NAME
 , ca.REQUIRED       : REQUIRED
 , ca.POSITION       : POSITION
 , ca.FILTERABLE    : FILTERABLE
 , ca.BROWSEABLE    : BROWSEABLE
 , ca.SEQUENCED       : SEQUENCED
 , ca.MODIFIED       : MODIFIED
 , ( select c1(
 max(sys_connect_by_path(c1.id, ' \ ')) : qq
 ) in classes%rowtype
 connect by prior c1.target_class_id = c1.id
 start c1.id =  ca.SELF_CLASS_ID
 )               : SELF_CLASS_TREE
 
 , ( select c(
 max(sys_connect_by_path(
 --c.id
 case
 when c.base_class_id = 'OLE'                                         then 'OLE объекты'
 when c.base_class_id = 'TABLE'                                       then 'Вложенные массивы'
 when c.base_class_id = 'DATE'                                        then 'Даты'
 when c.base_class_id = 'BOOLEAN'                                     then 'Логические'
 when c.base_class_id = 'COLLECTION'                                  then 'Массивы'
 when c.base_class_id = 'STRING'                                      then 'Строки'
 when c.base_class_id = 'REFERENCE'                                   then 'Ссылки'
 when c.base_class_id = 'STRUCTURE'  and c.agregate = 'VARIANT'       then 'Варианты'
 when c.base_class_id = 'STRUCTURE'                                   then 'Структуры'
 when c.base_class_id = 'MEMO'                                        then 'Текстовые'
 when c.base_class_id = 'NUMBER'                                      then 'Числа'
 else 'unknown'
 end --: KIND
 , ' \ ')) : qq
 ) in classes%rowtype
 connect by prior c.target_class_id = c.id
 start c.id =  ca.SELF_CLASS_ID
 )               : SELF_KIND_TREE
 
 )in class_attributes%rowtype
 order by ca.class_id, ca.position
 ;
 | 
 |  |  
		|  |  
		| Damir Участник - экстремал
 
 
 Вступление в Клуб: 29.03.2013
 
 | 
			
				|  Пн Июл 15, 2013 13:15   Re: Администратор словаря данных - вижу фигу.... |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | Damir пишет: |  	  | Ну вот сделал для себя 2 PL+ представления.
 1-ое на основе таблицы CLASSES, второе на основе таблички class_attributes.
 Второе представление прилагаю - собс-но мне не хватало поля SELF_KIND_TREE в Администраторе словаря при просмотре реквизитов.
 
 | 
 
 Продублировал поле SELF_KIND_TREE в представлении на основании CLASSES - по-моему неплохо получилось.
 
 
 [/code] 	  | Код: |  	  | type main is
 select c(
 c.KIND                : KIND
 , c.id               : IBSO_CLASS_ID
 , level                : LVL
 , c.name            : NAME
 , c.entity_id          : ENTITY_ID
 , c.parent_id          : PARENT_ID
 , c.has_instances       : HAS_INSTANCES
 , c.init_state_id       : INIT_STATE_ID
 , c.agregate          : AGREGATE
 , c.base_class_id       : BASE_CLASS_ID
 , c.target_class_id    : TARGET_CLASS_ID
 , c.autonomous          : AUTONOMOUS
 , c.is_collection       : IS_COLLECTION
 , c.kernel             : KERNEL
 , c.param_group       : PARAM_GROUP
 , c.has_type          : HAS_TYPE
 , substr(SYS_CONNECT_BY_PATH ( c.id, '/' ), 1, 4000) : TREE_WAY
 , decode(c.KIND
 , 'OLE объекты'         ,  10
 , 'Варианты'         ,  15
 , 'Вложенные массивы'   ,  20
 , 'Даты'            ,  30
 , 'Логические'          ,  40
 , 'Массивы'            ,  50
 , 'Строки'            ,  60
 , 'Ссылки'            ,  70
 , 'Структуры'         ,  90
 , 'Текстовые'         , 100
 , 'Числа'            , 110
 , 'unknown'          , 120
 ) : KIND_4_SORT
 , ( select c1(
 max(sys_connect_by_path(c1.id, ' \ ')) : qq
 ) in classes%rowtype
 connect by prior c1.target_class_id = c1.id
 start c1.id =  c.ID
 )               : SELF_CLASS_TREE
 
 , ( select c1(
 max(sys_connect_by_path(
 --c.id
 case
 when c1.base_class_id = 'OLE'                                         then 'OLE объекты'
 when c1.base_class_id = 'TABLE'                                       then 'Вложенные массивы'
 when c1.base_class_id = 'DATE'                                        then 'Даты'
 when c1.base_class_id = 'BOOLEAN'                                     then 'Логические'
 when c1.base_class_id = 'COLLECTION'                                  then 'Массивы'
 when c1.base_class_id = 'STRING'                                      then 'Строки'
 when c1.base_class_id = 'REFERENCE'                                   then 'Ссылки'
 when c1.base_class_id = 'STRUCTURE'  and c1.agregate = 'VARIANT'       then 'Варианты'
 when c1.base_class_id = 'STRUCTURE'                                   then 'Структуры'
 when c1.base_class_id = 'MEMO'                                        then 'Текстовые'
 when c1.base_class_id = 'NUMBER'                                      then 'Числа'
 else 'unknown'
 end --: KIND
 , ' \ ')) : qq
 ) in classes%rowtype
 connect by prior c1.target_class_id = c1.id
 start c1.id =  c.id
 )               : SELF_KIND_TREE
 , 'A'   : ATTRIB
 
 ) in( --classes%rowtype
 select c(
 c%rowtype
 , to_char(c.id+0) : CLASS_ID
 , case
 when c.base_class_id = 'OLE'                                         then 'OLE объекты'
 when c.base_class_id = 'TABLE'                                       then 'Вложенные массивы'
 when c.base_class_id = 'DATE'                                        then 'Даты'
 when c.base_class_id = 'BOOLEAN'                                     then 'Логические'
 when c.base_class_id = 'COLLECTION'                                  then 'Массивы'
 when c.base_class_id = 'STRING'                                      then 'Строки'
 when c.base_class_id = 'REFERENCE'                                   then 'Ссылки'
 when c.base_class_id = 'STRUCTURE'  and c.agregate = 'VARIANT'       then 'Варианты'
 when c.base_class_id = 'STRUCTURE'                                   then 'Структуры'
 when c.base_class_id = 'MEMO'                                        then 'Текстовые'
 when c.base_class_id = 'NUMBER'                                      then 'Числа'
 else 'unknown'
 end : KIND
 ) in classes%rowtype
 )
 connect by c.parent_id = prior c.id
 start c.parent_id is null
 order siblings by  c.base_class_id
 ;
 
 | 
 |  |  
		|  |  
		|  |  
  
	| 
 
 | Вы не можете начинать темы Вы не можете отвечать на сообщения
 Вы не можете редактировать свои сообщения
 Вы не можете удалять свои сообщения
 Вы не можете голосовать в опросах
 
 |  |