Мелкие Вопросы Rtfm

  • Автор темы Автор темы serko
  • Дата начала Дата начала
serko
Карточки сотрудников в names.nsf и есть документы, даже отдельное представление с ними уже есть ($People).
Или я не так понимаю задачу?
 
savl, давайте с самого начала посмотрим))
У меня есть БД "справочник организации". Туда я буду запихивать следующие документы: организация, подразделение, сотрудник. Для организации необходим руководитель как и для подразделения. Для документа "сотрудник" я создаю форму(естественно) с полями ФИО, notes-имя(для начала хватит, думаю). Допустим, ФИО я заполняю вручную, но notes-имя я заполняю через хотспот. Вот здесь и начинается вся проблема.
Вы говорите про базу names.nsf, документы которой можно использовать для выбора из пиклиста(хотспот, что при выборе сотрудника в базе "справочник организации"). Что это за база names? Её у меня нет, т.е. я ее должен создать. Далее, если я создал базу только что, то она пуста, т.е. я должен заполнить ее документами сотрудников?(вариант не нравится. Создать базу с персоналом для того, чтобы запихнуть в другую базу для заполнения персонала, может это и на вкус и цвет...). Я ваши последние сообщения понял как "не создавай документы, а только представление - view, в котором как-то можно указать условие выборки из каталога самого сервера(!)". Этот вариант меня смутил, так как про такое я впервые слышу, но в то же время и понравился, и вот сейчас мы с вами в тупике <_<
 
ага, понял.
names.nsf как правило должна быть всегда, даже на локале создается.
Когда пользователя регистрируют в лотусе, то там создается его карточка.
Посмотрите на сервере базу, лежит в корне.
По сути, когда используется @PickList(Name), то из этой базы и берутся значения, диалоговое окно только специфичное и не поменять его.
В этой базе уже есть куча представлений/view, в которых отображаются списки.
Их можно использовать.
 
ага, понял.
names.nsf как правило должна быть всегда, даже на локале создается.
Когда пользователя регистрируют в лотусе, то там создается его карточка.
Посмотрите на сервере базу, лежит в корне.
По сути, когда используется @PickList(Name), то из этой базы и берутся значения, диалоговое окно только специфичное и не поменять его.
В этой базе уже есть куча представлений/view, в которых отображаются списки.
Их можно использовать.
большое спасибо. Попробую глянуть в новом году. Сейчас не смогу ничего протестировать. С наступающим 2015 годом! <_<
 
Постоянно в форме документа приходится использовать запись
Код:
dim curdoc as notesdocument
set curdoc = Source.document
При вызове экшн приходится работать с notesuiworkspace для получения текущего документа, короче, неудобно! Решил сделать документ глобальным. В Declarations объявил
Код:
dim curdoc as notesdocument
а дальше на queryopen прописал
Код:
set curdoc = Source.document
только вот почему-то не присваивает <_<
например, мой экшн не видит документ, когда я его отправляю в функцию. Перед вызовом функции проверяю curdoc и пишет, что ничего нет
 
Тупанул. Простите. Указал глобальную в форме <_<
 
В справочнике организаций необходимо ввести проверку на одноименные подразделения на одном уровне иерархии. Прилагаю картинку для объяснения. Надеюсь, что нарисовал понятно <_< Я при помощи search закидывал в коллекцию всех детей(кажется, называется responses) и через цикл пробегал по всем. Но оказалось, в коллекцию попадают не только дети первого уровня, но и все потомки тех потомков. Короче, вся ветка попадает, а мне надо только на первом уровне, сразу под родителем, а не ниже потомков детей родителя. Слышал про getnextsibling или как-то так, но там вроде надо view катать и мне показалось, что это не мой случай. Короче, я завис <_<
Безымянный.png
 
Всех с праздниками!
В футере сайта размещена контактная информация, права и прочая текстовая информация. Есть идея сделать футер интерактивным))
Добавить функцию посдчета количества документов в базе и выводить ее в футер.
Пример: Сейчас в системе зарегистрировано "@формула" документов.

Страница сайта на которой футер - страница авторизации (domcfg.nsf).


Можно это реализовать собака формулой или это через скрипт возможно сделать только?
 
Всех с праздниками!
В футере сайта размещена контактная информация, права и прочая текстовая информация. Есть идея сделать футер интерактивным))
Добавить функцию посдчета количества документов в базе и выводить ее в футер.
Пример: Сейчас в системе зарегистрировано "@формула" документов.
Страница сайта на которой футер - страница авторизации (domcfg.nsf).
Можно это реализовать собака формулой или это через скрипт возможно сделать только?
Взаимно)
1. делать футер в практически системной БД - плохая идея. лучше вынести ее куда то в кастомную БД типа portal.nsf где и будет необходимый дизайн сайта с соотв настройками в domcfg.nsf.
2. собака имеет ограничение в 64к полученных данных и по умолчанию имеет доступ текущего пользователя\анонимуса. Что бы получить доступ без ограничений нужно в качестве имени базу указать его replicaID (могу ошибаться).
3. через скрип можно сделать все что угодно)
4. Ну вот ни к чему в обычном сайте иметь мгновенный подсчет кол-ва документов. достаточно шедульного агента. который обновляет это кол-во когда надо. и эти данные уже можно показывать.
 
Вам программистам легко) Спасибо за информацию.
 
Столкнулся со следующей проблемой. Во View есть 3 action. View структурирована(справочник организаций, где в организации входят подразделения и сотрудники). Когда View пуста, то виднеется только action для добавления организации. Я это настроил через @-формулы. Далее встает одна проблема. Панель с action не обновляется. Т.е. я создаю во View организацию, а оставшиеся action на добавление подразделений и сотрудников не появились. Однако, если создать 2ю организацию и курсор выделение переставить на первую организацию, то action появляются. Т.е. я должен как-то эту пане программно обновить. Я пытался реализовать следующим кодом:
Код:
				'обновить View, чтобы вылезли кнопки
Dim view As notesview
Dim db As NotesDatabase
Set db = curdoc.ParentDatabase
Set view = db.GetView("Структура")
Успехом не увенчалось. Что не так сделал? ((
 
serko
Evaluate actions for every document change - вторая вкладка свойств вида, галка стоит ??
 
Код:
				'обновить View, чтобы вылезли кнопки
Dim view As notesview
Dim db As NotesDatabase
Set db = curdoc.ParentDatabase
Set view = db.GetView("Структура")
Эт совсем ничего не обновляет.

Это обновляет:
Dim ws As New NotesUIWorkspace
Call ws.ViewRefresh

Хотя, сдаётся мне, дело в логике скрытия actions.

Каковы формулы скрытия?
 
Эт совсем ничего не обновляет.

Это обновляет:
Dim ws As New NotesUIWorkspace
Call ws.ViewRefresh

Хотя, сдаётся мне, дело в логике скрытия actions.

Каковы формулы скрытия?
О, Великий Человек, спасибо за листинг! Заработало! :)
 
Необходимо сохранить пустой документ при его создании, минуя событие querysave. Документ надо привязать к родительскому документу.
Сделал так...
Код:
curdoc.form = "Department"
Call curdoc.Save(True, True)
Ничего не вышло. Документ сохранился, но не привязался. Попытался @Command(FileSave) - не помогло. Попробовал добавить следующее:
Код:
Set parentdoc = ws.CurrentDatabase.Database.GetDocumentByUNID(curdoc.ParentDocumentUNID)
Call curdoc.MakeResponse(parentdoc)
на что получил ответ "invalid universal id".
:)
 
Код:
Set parentdoc = ws.CurrentDatabase.Database.GetDocumentByUNID(curdoc.ParentDocumentUNID)
это не имеет смысла - curdoc ещё не имеет родителя. Потому и invalid UNID.

для определённости, возьмём parentdoc, как док на котором курсор в виде:
Dim s As New NotesSession
Dim db As NotesDatabase
Set db = s.CurrentDatabase
Dim ws As New NotesUIWorkspace
Dim parentdoc As NotesDocument
Dim curdoc As NotesDocument
Set uiview = ws.CurrentView
Set parentdoc = db.GetDocumentByID(uiview.CaretNoteID)

Set curdoc = db.CreateDocument
curdoc.Form = "Department"
Call curdoc.MakeResponse( parentdoc )
Call curdoc.Save( True, True )
Call ws.ViewRefresh
 
Спасибо большое.
Я заметил, что значение поля из родительского документа не копируется в дочерний документ. И документ не открывается на редактирование(для пользователя).
Листинг дополнил следующим образом, но ничего не работает.
Код:
Set curdoc = db.CreateDocument
curdoc.Form = "Department"
curdoc.OrgID = parentdoc.OrgID ' не пашет
Call curdoc.MakeResponse( parentdoc )
Call curdoc.Save( True, True )	
curdoc.GetItemValue("OrgID")(0) = parentdoc.GetItemValue("OrgID")(0) ' не пашет
Call ws.ViewRefresh 
Call ws.EditDocument(True, curdoc) ' не пашет
тип поля OrgID - Text, Computed
тип формы - Response to Response
:)
Тип формы Документ имеет форма Организация. Внутри организации уже создаю Department, а внутри этого Department еще пару Department создаю и т.д.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!