Войти
 
 
   
 
  
Новости Notes.ру Библиотека Биржа труда Вопрос - ответ Форум Регистрация Поиск О проекте
Разделы
О Notes
Советы
Шаблоны и примеры
Литература
Презентации
 
Всё о задаче AdminP. Часть вторая   Во второй части мы завершаем рассмотрение AdminP. В ней рассмотрены запросы междоменного администрирования и способы управления функциями AdminP с помощью настроек документа сервера, команд консоли сервера, файла Notes.ini и интервалов очистки базы данных. В этой статье предполагается, что вы опытный администратор Domino и прочитали первую часть
О Notes Читать статью
 
Всё о задаче AdminP. Proxy-действия в R5 и Domino 6   Приложение к статье об административном процессе
О Notes Читать статью
 
Всё о задаче AdminP. Часть первая   Перевод классической статьи 2003-его года о задаче административного процесса (AdminP). Очень полезна для понимания работы механизма этой задачи. В первой части статьи описаны компоненты задачи AdminP, как они работают, и как их использование помогает сделать работу администратора Domino проще. Задача AdminP (сакращённо от Administration Process, Административный процесс) работает с базой административных запросов (Administration Requests, admin4.nsf)
О Notes Читать статью
 


Советы

Главная   Библиотека   Советы

Программирование под Web: код для чекбоксов

Николай Норкин,
Вятские Информационные Технологии, Киров
При разработке интерфейса приложений для web-клиента возможно применение двух подходов:
"визуальное" проектирование web-страниц, предоставляя web-engine HTTP-сервера Domino генерировать html-код на лету
или использование Passthru HTML с кодированием web-страниц или их фрагментов на языке HTML
В данном материале представлено универсальное решение вычисления html-кода для элемента checkbox
Необходимость использования html-кода для этого элемента непосредственно вместо размещения соответствующего интерфейсного поля обусловлено неадекватной обработкой состояния "сняты все флажки" при сохранении формы в web-приложении сервером Domino до версии 6. Эта проблема возникает в случае, когда при редактировании документа снимаются все флажки, поднятые "по умолчанию" или поднятые при предыдущем сохранении документа. Сохраненный документ содержит ранее сохраненное или дефолтное значение поля, не обработав изменения значений

В проектируемой форме размещается скрытое текстовое поле CheckField со значением CheckField
Возможно также размещение скрытых вычисляемых при открытии (computed for display) полей valueList, defaultList, aliases0 с соответствующими значениями списка для выбора, установок по умолчанию и синонимов значений поля. Впрочем, формулы для вычисления этих списков можно вставить непосредственно в нижеприводимую формулу вычисляемого текста

Ниже размещается вычисляемый текст (computed text) со следующей формулой:
REM {имя спискового поля документа, куда сохраняются значения};
iName := "CheckField";
REM {разделитель, для помещения флажков в строку - "", друг под другом - "<BR>"};
separator := "";
REM {переменной list присвоить значения списка выбора};
list := valueList;
REM {переменной defList присвоить значения списка CheckField или, если документ новый, списка установок по умолчанию defaultList};
defList := @If(@IsNewDoc; defaultList; CheckField);
REM {переменной aliases присвоить список синонимов значений или, при отсутствии синонимов - пустую строку};
aliases1 := aliases0;
REM {Дальше не трогать};
aliases := @If(@Trim(aliases1) = ""; @URLEncode("Domino"; list); aliases1);
uniqueDefList := @Unique(@Trim(defList));
checked0 := @Replace(@Trim(@Explode(@Repeat("~ "; @Elements(uniqueDefList)))); "~"; "CHECKED");
defChecked0 := @Unique(@Trim(defList :list));
defChecked1 := @Replace(uniqueDefList; uniqueDefList; " " + checked0);
defChecked := @Replace(list; defChecked0; defChecked1);
@NewLine + @Implode({<INPUT TYPE=checkbox NAME="} + iName + {" VALUE="} +aliases + {"} + defChecked + {>} + list; separator + @NewLine) + @NewLine

Остается поставить для вычисляемого текста стиль Passthru HTML и элемент web-интерфейса готов
 
  Опубликовано — 11/13/2004 |    


Мероприятия
Пресс-релизы
Биржа труда
Последнее на форуме
 
А так же:
Как удалить профиль?
16.04.2016 00:08:51
Скопировать в буфер поле документа
24.05.2015 08:55:52
Импорт DXL-описания документов в Lotus Domino. Одноимённые поля
16.04.2015 16:49:58
 
© LOGOSPHERE.RU