Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/79: Рейтинг темы: голосов - 79, средняя оценка - 4.86
kytto007

Отображение ответа в Web

21.05.2009, 09:51. Показов 14593. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
народ, помогите, пожалуйста!
Необходимо из вьюшки создавать ответный документ по нажатию кнопки. Форма для ответа создана, Кнопка "response" на вьюшке тоже (@Command([ComposeWithReference]; ""; "resp"; 2)). Вопрос вот в чем: при нажатии в Internet explorer созданной мной кнопки, выскакивает ошибка 500! В чем же дело? причем если форму "resp" сделать простой, а не response, то все открывается без проблем...
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.05.2009, 09:51
Ответы с готовыми решениями:

Отображение представлений в Web
Доброго времени суток всем! Интересует решение следующей задачки. При отображении представления в web очень хочется стандартные...

Отображение Картинок Из Ritchtext В Web
Добры йдень. Есть сервер 9.0.1 Есть БД в ней док с RT. В РТ из буфера вставляют скриншоты сохраняют и отправляют. Письмо...

Отображение в Web*е информации из бд Lotus
Как на сайте отображать информацию из Lotus*овых бд? Как можно сделать подключение из Web*а к Лотусу? Есть ли у кого Help по этим вещам? ...

11
0 / 0 / 0
Регистрация: 15.12.2006
Сообщений: 641
21.05.2009, 10:32
Гмм, а как вы себе в вебе представляете определение кто для респонза является парентом? ;)
0
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
21.05.2009, 10:37
ComposeWithReference @Command
...
This command does not work on the Web



@Commands on the Web
...
Compose
The Compose @command creates a new document.
To create a main document in the current database, specify only the form parameter and implement Compose in a view, page, or navigator. The following example, implemented as a view action, creates a main document based on the "Main Topic" form.
@Command([Compose]; "Main Topic")
To create a response document, specify the @command as above but implement it in an open document. For example, if the following code is implemented as an action on the "Main Topic" form, opening a document based on that form and pressing the button creates a response document:
@Command([Compose]; "Response")
To create a main document in another database, specify the database and form parameters. You must specify server as an empty string because the browser cannot access another server. The following example creates a new document in "document examples.nsf" based on the "Main Topic" form in that database.
@Command([Compose]; "" : "document examples.nsf"; "Main Topic")
These @commands are equivalent to URL commands formatted as follows:
http://host/database/view?OpenForm
http://host/database/form?Open... D=mainunid
0
kytto007
21.05.2009, 12:57
Видите ли, я всего лишь начинающий, а сделать нужно много за маленький промежуток времени...;)никак не представляю, как определить в вебе парента для респонза потому я сюда и написал
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
21.05.2009, 13:18
Цитата Сообщение от killa007
Видите ли, я всего лишь начинающий
не отмазывайся, читай то, что тебе написали, думай, задавай вопросы! ;)
с помощью кнопки и js можно открыть урл по форме (выше описание из справки)
http://host/database/form?OpenForm&ParentUNID=mainunid
документ, который создается при этом будет "думать", что он дочерний от того, чей унид указан параметром ParentUNID
0
kytto007
21.05.2009, 13:47
2 akupaka.
Спасиба, но @Command([Compose],"resp"); работать тоже не хочет. В content help есть указание на то, что необходимо в form formula у вьюшки написать следующую команду: @If(@IsNewDoc; @Return(Form); @IsResponseDoc;"Response";"MainTopic"), однако это тоже не возымело эффекта...
Кста, а как работать с UNIDами? назначать или ...?
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
21.05.2009, 14:23
ну, чтение хелпа это хорошо, но ты куда-то не туда ушел

итак, формулы!
объяснять буду просто, не используя ничего лишнего! рекмендую сначала тоже создать минимум для примера, чтобы понять как работает, а потом переделывать существующее приложение под веб.

1) создай на сервере (лучше) базу для тестов, дай доступ Anonymous - Author (чтобы без аутентификации работать)
2) создай форму для основного (родительского дока), тип Document, имя/alias "WebMain"
- помести на ней поле "thysUnid" тип text - computed when composed, формула @Text(@DocumentUniqueID)
- помести кнопку Save: @Command([FileSave])
- помести кнопку Compose Resp: @Command([Compose]; "WebResp")
3) создай форму для ответного (дочернего дока), тип Response или Response to Response, имя/alias "WebResp"
- помести на ней поле "thysUnid" тип text - computed when composed, формула @Text(@DocumentUniqueID)
- помести кнопку Save: @Command([FileSave])

теперь попробуй создать в веб новый родительский документ, зайдя по урлу
http://servername/dbname.nsf/WebMain?OpenForm
откроется форма с полем и двумя кнопками. в виду описанной выше особенности в поле будет некоторое значение-унид, но после нажатия на кнопку сохранения он изменится. именно после сохранения дока (в веб) значение будет реальным унидом, до сохранения - фигня.
(если нажать на кнопку Compose Resp до сохранения, то будет ошибка 500 - сервер попытается создать дочерний док к несуществующему, где-то там у него возникнет исключение и браузер покажет сообщение об 500-й ошибке)
теперь, после сохранения, нажми на кнопку Compose Resp. откроется (в текущем окне) новая форма - дочернего дока. как и прежде поле с унидом будет содержать фигню.
но нам интересно, что URL открытого дока будет иметь не просто вид http://servername/dbname.nsf/WebResp?OpenForm,
а там появится еще параметр http://servername/dbname.nsf/WebResp?OpenForm&ParentUNID=хххххххххххххххххххххххххххх хххх
где хххххххххххххххххххххххххххххххх будет иметь значение такое же, как в предыдущем документе в поле (т.е. реальный унид родительского документа!).
единственное, что получить его в дочернем доке с помощью привычной формулы @InheritedDocumentUniqueID нельзя.
нужно распарсить URL такой формулой @UrlQueryString("ParentUNID")

теперь добавь на форму WebResp еще поле "ParentUNID" text, computed when composed с формулой @UrlQueryString("ParentUNID")
и попробуй создать снова новый родительский док, сохранить его, потом нажать Create Resp. в новом родительском доке будет второе поле, с тем же значением, что и в URL-параметре ParentUNID.

все. у тебя есть простой механизм создания основного и ответного к нему документа.

зы: к сожалению, такой простой способ не всегда самый удобный. но для понимания принципов лучше начинать с простого.
зы2: ты javascript знаешь? веб-страницы умеешь делать? в домино-приложениях полный новичек или под нотес умеешь писать?..
0
kytto007
22.05.2009, 02:54
спасибо, Akupaka, за простой и понятный пример в нем-то я разобрался. JS, Perl знаю немного, web-странички писать умею, и скрипты к ним, а вот в Lotus - новичек, только в рамках учебного курса в институте владею.
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
22.05.2009, 04:51
ну, раз разобрался, то спрашивай дальше
0
kytto007
24.05.2009, 06:11
Возник новый вопрос - чтобы сделать респонз из вьюшки, необходимо ParentUnid куда-нить записать, а затем вставить оттуда в адресную строку(этго если я все правильно понимаю). Так вот, есть ли какие @commands, позволяющие помещать и извлекать текст из, скажем, поля?
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
24.05.2009, 13:17
вообще, я из стандартных средств не помню возможности создать в вебе ответный по выделенному в виде...
чтобы из вида в вебе создать дочерний придется поиграться с JS и, возможно, вид определенным образом подстроить...
посмотри, что твой вид генерит в html, можешь ли ты оттуда вытащить унид дока, который выделяешь для создания дочернего?

если включить возможность выделения доков в вебе (свойства вида, 5-я закладка, Web Access / Allow selection of documents), то каждый "док" будет содержать чекбокс (<INPUT TYPE=checkbox NAME="$$SelectDoc" VALUE="EE433F6647FBD158C22575C1002B19F8" >) из которого можно достать унид. т.е. можно написать скрипт, который будет определять выделенный док и открывать урл


http_ ://servername/dbname.nsf/WebResp?OpenForm&ParentUNID=хххххххххххх хххххххххххххххххххх
т.е. тут чистый JS-скрипт.
вот пример, возможно не самый лучший, но рабочий
в виде две кнопки:
Create Main: Client/Formula:

Code
1
@Command([Compose]; "WebMain")
Create Resp: Web/java script:

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var selDoc = document.getElementsByName("$$SelectDoc");
var parentUNID = "";
var respURL = "";
if (selDoc.length > 0) {
for (var i = 0; i < selDoc.length; i++) {
if (selDoc[i].checked) {
parentUNID = selDoc[i].value;
break;
}
};
};
respURL = "WebResp?OpenForm&ParentUNID=" + parentUNID;
//alert(respURL);
window.open(respURL);
если поставить галочку в виде и нажать на Create Resp, то откроется новое окно с новым дочерним доком к первому выделенному в виде...
0
kytto007
24.05.2009, 15:40
Офигеть....Пасиба
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.05.2009, 15:40
Помогаю со студенческими работами здесь

Отображение в Web сохраненых картинок из базы
Как правильно обращаться к ресурсам базы. Записал в базу какртинку фона и таблицу стилей. На странице в базе пишу &lt;html&gt; ...

Get запрос и отображение ответа
Вот такой код, permission прописано. Что не так? Только учусь, поругайте, что не так? public void GetPhrase(View view) { try{ ...

Отображение ответа на лейбле
Здесь есть выполненная задача, мне нужно бы её ответ вывести на лейбле. https://www.cyberforum.ru/csharp-beginners/thread1879345.html ...

Отображение ответа на textBox
Незнаете как сделать так, чтобы при нажатии кнопки &quot;=&quot; ответ вычисления появлялся на textBox. Код button'а private void...

Отображение подсказок пользователю в консоли и получение ответа
Не могу понять как работает программа... Всю теорию впитал, а вот связать вместе не получается. Во всем виновата книга Джонсона Харта :) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru