Перейти к публикации

Мастер-формы Тимцентра в БД


Рекомендованные сообщения

Коллеги, добрый день.

Появилась задача получить мастер-форму ревизии от, собственно, самой ревизии. Отношение нахожу в таблице PIMANRELATION, все ок.

Но дальше по полученному тегу не могу ее найти в таблице PITEMVERSIONMASTER.

Ссылка на сообщение
Поделиться на других сайтах


16 часов назад, Geksa сказал:

Коллеги, добрый день.

Появилась задача получить мастер-форму ревизии от, собственно, самой ревизии. Отношение нахожу в таблице PIMANRELATION, все ок.

Но дальше по полученному тегу не могу ее найти в таблице PITEMVERSIONMASTER.

С BIRT играетесь?

 

В таблице PIMANRELATION:

 

RRELATION_TYPEU - по идее uid IMAN_master_form_rev Relation

RPRIMARY_OBJECTU и RSECONDARY_OBJECTU - одно из этого - ревизия(uid), другое - мастер-форма(uid)

Изменено пользователем lexx174
Ссылка на сообщение
Поделиться на других сайтах
1 час назад, lexx174 сказал:

С BIRT играетесь?

 

В таблице PIMANRELATION:

 

RRELATION_TYPEU - по идее uid IMAN_master_form_rev Relation

RPRIMARY_OBJECTU и RSECONDARY_OBJECTU - одно из этого - ревизия(uid), другое - мастер-форма(uid)

Вот, что удалось раскопать:

Из PImanrelation ссылаемся на Pform. А дальше от PForm либо ссылка на PItemRevisionMaster, либо на отдельную таблицу для своего кастомного класса хранения.А в какой таблице узнать тип мастер-формы? Чтобы знать, доставать данные из встроенной PItemRevisionMaster или из своего класса хранения?

Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, koner сказал:

а чо bitr прям с БД на прямую работает? 
а как же бизнес логика...

ну лично мне не для birt)

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, koner сказал:

а чо bitr прям с БД на прямую работает? 
а как же бизнес логика...

Да, работает.

Бизнес логика - в ряде случаев костыль и тормоза (для больших отчетов или специфичных запросов).

 

 

1 час назад, Geksa сказал:

Вот, что удалось раскопать:

Из PImanrelation ссылаемся на Pform. А дальше от PForm либо ссылка на PItemRevisionMaster, либо на отдельную таблицу для своего кастомного класса хранения.А в какой таблице узнать тип мастер-формы? Чтобы знать, доставать данные из встроенной PItemRevisionMaster или из своего класса хранения?

В моем ответе в принципе ответ на ваш вопрос.  в ссылается POM вы открыв свойство отношения IMAN_master_form увидите первичная ссылка - ваша ревизия, вторичная ссылка - мастер-форма.

 

В таблица IMANRELATION как раз хранятся PUIDы первичной и вторичной ссылки - RPRIMARY_OBJECTU и RSECONDARY_OBJECTU.

Отсюда и копайте.

Составные запросы наверное знаете как сделать,т.к потребуются вспомогательные таблицы где указаны тип отношений,форм итд. Будет время попробу выложить готовый запрос который по UID ревизии получит ее мастер-форму

 

 

Изменено пользователем lexx174
Ссылка на сообщение
Поделиться на других сайтах
5 минут назад, lexx174 сказал:

Да, работает.

Бизнес логика - в ряде случаев костыль и тормоза (для больших отчетов или специфичных запросов).

 

 

в моем ответе в принципе ответ на ваш вопрос.  в ссылается POM вы открыв свойство отношения IMAN_master_form увидите первичная ссылка - ваша ревизия, вторичная ссылка - мастер-форма.

 

В таблица IMANRELATION как раз хранятся PUIDы первичной и вторичной ссылки - RPRIMARY_OBJECTU и RSECONDARY_OBJECTU.

Отсюда и копайте.

Составные запросы наверное знаете как сделать,т.к потребуются вспомогательные таблицы где указаны тп отношений,форм итд. Будет время попробу выложить готовый запрос который по UID ревизии получит ее мастер-форму

 

 

с IMANRELATION разобралась.

Это все понятно. Надо как-то дойти до класса хранения формы.

Была бы очень благодарна за запрос, я думаю, он бы ответил на все мои вопросы)

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Geksa сказал:

с IMANRELATION разобралась.

Это все понятно. Надо как-то дойти до класса хранения формы.

Была бы очень благодарна за запрос, я думаю, он бы ответил на все мои вопросы)

что вам надо получить под мастер-формой? ее puid? или что? если puid то это RSECONDARY_OBJECTU

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, Geksa сказал:

Была бы очень благодарна за запрос, я думаю, он бы ответил на все мои вопросы)

select w.pobject_name from pworkspaceobject w
          inner join pimanrelation rel
            on w.puid = rel.rsecondary_objectu
          inner join pimantype t
            on rel.rrelation_typeu = t.puid and t.ptype_name='IMAN_master_form'
          where rel.rprimary_objectu='VdRlznd$FOoqlC';

в данном примере вытаскивается наименование мастер-формы ревизии, на вход дается puid ревизии

Изменено пользователем lexx174
Ссылка на сообщение
Поделиться на других сайтах
6 минут назад, lexx174 сказал:

что вам надо получить под мастер-формой? ее puid? или что? если puid то это RSECONDARY_OBJECTU

У меня задача - получить атрибуты мастер-формы. Не стандартного айтема, а кастомного. Со своим классом хранения. Через таблицу PIMANRELATION и ее поле RSECONDARY_OBJECTU я нахожу уид мастер-формы. Как теперь найти ее атрибуты?

 

Данное поле (RSECONDARY_OBJECTU) ссылается на поле PUID таблицы PForm.

Дальше таблица PForm ссылается на таблицу PItemRevisonMAster - если айтем обычный с поставки, не кастомный, а если кастомный, со своим классом хранения, то она уже ссылается на другую таблицу. И вот надо как-то отследить, какой тип формы и на какую таблицу ссылается.

 

 

Ссылка на сообщение
Поделиться на других сайтах
15 минут назад, Geksa сказал:

У меня задача - получить атрибуты мастер-формы. Не стандартного айтема, а кастомного. Со своим классом хранения. Через таблицу PIMANRELATION и ее поле RSECONDARY_OBJECTU я нахожу уид мастер-формы. Как теперь найти ее атрибуты?

 

Данное поле (RSECONDARY_OBJECTU) ссылается на поле PUID таблицы PForm.

Дальше таблица PForm ссылается на таблицу PItemRevisonMAster - если айтем обычный с поставки, не кастомный, а если кастомный, со своим классом хранения, то она уже ссылается на другую таблицу. И вот надо как-то отследить, какой тип формы и на какую таблицу ссылается.

 

 

выше привел пример как поулчить puid или наименование мастер-формы

Ссылка на сообщение
Поделиться на других сайтах

Если замороченно получается с вытаскиванием атрибутов, не проще ли дальше, имея puid мастер-формы получить атрибуты средствами ITK или JAVA?

Ссылка на сообщение
Поделиться на других сайтах
7 минут назад, lexx174 сказал:

Если замороченно получается с вытаскиванием атрибутов, не проще ли дальше, имея puid мастер-формы получить атрибуты средствами ITK или JAVA?

Не проще, т.к. мне нужно это сделать не заходя в Тимцентр, не создавая сессию.

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Geksa сказал:

Не проще, т.к. мне нужно это сделать не заходя в Тимцентр, не создавая сессию.

ну половина дела у вас сделано.есть puid мастер-формы.

Ссылка на сообщение
Поделиться на других сайтах
21 час назад, tuzik сказал:

похоже что pform.rdata_filec = ppom_class.pcpid
ppom_class.ptname - имя таблицы класса хранения.

 

огромное спасибо. Это то, что было нужно

Ссылка на сообщение
Поделиться на других сайтах

А кто-нибудь разбирался с правилами ревизионного конфигурирования через БД? В таблице PPSOCCURRENCE есть ссылка на сам айтем: RCHILD_ITEMU, а вот какую из ревизий брать..

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Geksa сказал:

А кто-нибудь разбирался с правилами ревизионного конфигурирования через БД? В таблице PPSOCCURRENCE есть ссылка на сам айтем: RCHILD_ITEMU, а вот какую из ревизий брать..

пишите в ЛС

Ссылка на сообщение
Поделиться на других сайтах
  • 2 года спустя...
В 17.10.2017 в 09:56, Geksa сказал:

А кто-нибудь разбирался с правилами ревизионного конфигурирования через БД? В таблице PPSOCCURRENCE есть ссылка на сам айтем: RCHILD_ITEMU, а вот какую из ревизий брать..

Меня тоже очень интересует этот вопрос. Скажите, пожалуйста, за прошедшее время удалось получить какую-нибудь информацию по этой теме?

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




×
×
  • Создать...