 |
www.integro.ru ЦСИ ИНТЕГРО
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Sever
Зарегистрирован: 09.11.2009 Сообщения: 6 Откуда: Екатеринбург, ФГУП "Уралгеоинформ"
|
Добавлено: Чт 19 Ноя 2009 12:55 Заголовок сообщения: Журнал изменений своими руками |
|
|
Здравствуйте.
В "инмете" есть журнал изменений. Однако, для того, чтобы посмотреть информацию по конкретному объекту, требуется ИД этого объекта, требуется перейти на страницу журнала изменений, ввести этот ИД - и только после этого видны результаты.
Задача: для некоторых объектов хочется упростить процедуру отслеживания изменений - например, создать метод, располагаемый на форме редактирования объекта, который будет открывать окно со всеми изменениями, производимыми с данным объектом.
К сожалению, насколько я смог разобраться, форма update_log_form.asp не предоставляет возможности реализовать данный механизм. В первую очередь потому, что не поддерживается возможность автопоиска при загрузке ( для примера, в object_list_form.asp существует возможность передать в форму параметр auto-search=true, благодаря чему поиск инициируется автоматически )
Возникла мысль реализовать что-то подобное на основе уже имеющегося класса InMetaClient.UpdateLogformClass. Однако, функционал данного класса максимально урезан и при его помощи решить вопрос не представляется возможным.
Существует потенциальная возможность генерировать странички по одной на каждое изменение экземпляра класса ( update_log_update_xml_form.asp ). Однако для этой формы требуются загадочные параметры minorID и majorID, ни назначение, ни способ генерации которых не является очевидным.
В свете вышеизложенного возникли нижеследующие вопросы: можно ли как-то решить поставленную задачу в рамках имеющихся механизмов "инметы"? Или для этого требуется ваше непосредственное вмешательство в ядро системы? Если можно, то где и что копать?
Есть ли в сборке "инметы" возможность работать с журналом изменений, есть ли документация на эту тему?
Заранее спасибо
ЗЫ. Версия "инметы" - 1.9.87 |
|
Вернуться к началу |
|
 |
Михаил Власов

Зарегистрирован: 14.02.2005 Сообщения: 580 Откуда: ИНТЕГРО
|
Добавлено: Чт 19 Ноя 2009 16:32 Заголовок сообщения: |
|
|
Если в url-е страницы update_log_form.asp задавать параметр id:
Код: | http://localhost/unittests/inmeta/update_log_form.asp?id=000680000C44 |
тогда этот идентификатор сразу вставится в поисковое поле.
Чтобы срабатывало сразу, добавьте после 25-ой строки новую строчку:
Код: | document.all.UpdateLogForm_SearchBtn.click |
Полный текст update_log_form.asp будет выглядеть так:
Код: | <!-- #include virtual="/inmeta/asp_prolog.inc" -->
<%
dim ObjectID
ObjectID = GetQueryStringParam("id", "")
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta http-equiv="Content-Language" content="ru">
<title>Журнал изменений</title>
<link rel="stylesheet" type="text/css" href="styles.css">
<!-- #include file="inmeta_object.inc" -->
<script language="vbscript" for="window" event="onload">
dim aForm
inmeta.Init window
set aForm = document.body.updatelogform
aForm.InitForm
<%if ObjectID <> "" then%>
aForm.ObjectID = "<%=ObjectID%>"
aForm.ClassName = ""
aForm.BeginDate = Null
aForm.EndDate = Null
document.all.UpdateLogForm_SearchBtn.click
<%end if%>
</script>
</head>
<body style="behavior:url(#inmeta#updatelogform)">
</body>
</html> |
_________________ С уважением, Михаил Власов. |
|
Вернуться к началу |
|
 |
Sever
Зарегистрирован: 09.11.2009 Сообщения: 6 Откуда: Екатеринбург, ФГУП "Уралгеоинформ"
|
Добавлено: Чт 19 Ноя 2009 17:06 Заголовок сообщения: |
|
|
Спасибо. Действительно, работает.
Ну и для полноты, так сказать, информации, еще пара вопросов
1. можно ли включать/отключать блоки "вид результата" и "критерий поиска" - т.е. выводить информацию только по запрошенному объекту и не давать пользователю возможности поиска информации по другим объектам?
Подозреваю, это должно быть что-то вроде
Код: | document.all(BlockID).Visible = false |
2. Возможно ли использовать сборку "инметы" для получения списка изменений объекта внутри собственной aspx-странички ?
Другими словами, могу ли я в рамках нашего проекта ( т.е. - веб сайта, обеспечивающего пользователям интерфейс доступа к инмете ) создать собственную aspx - страничку, на которой буду выводить список изменений того или иного объекта, не обращаясь к страничке update_log_form.asp ?
Спасибо
ЗЫ. для решения первой задачи попробовал использовать механизм Layout'ов, используемый в форме поиска объектов. Однако, на конструкцию
Код: | aForm.FormLayout = 2 |
мне сообщили, что "объект не поддерживает это свойство или метод: aForm.FormLayout"
Что, впрочем, понятно - у объекта CInMetaClient.CUpdateLogFormClass свойство FormLayout отсутствует
ЗЗЫ. Панель поиска удалось заблокировать при помощи строчки
Код: | document.all( "UpdateLogForm_SearchPanel" ).disabled = true |
На безрыбье, как говорится, сойдет, но хотелось бы, все-таки, ее спрятать |
|
Вернуться к началу |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете добавлять приложения в этом форуме Вы можете скачивать файлы в этом форуме
|
|