• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

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

  • Автор темы serko
  • Дата начала
S

serko

Я хочу, чтобы заголовки документов во вью несли значение не какого-то одного поля, а нескольких полей.
Можно сделать невидимое поле и при закрытии генерировать сумму значений полей, например ФИО + должность(и это видит пользователь во View вместо обычного одного поля ФИО). Теоретически может и сработает, но можно ли такое сделать, покопавшись в настройках View?
 

savl

Lotus Team
28.10.2011
2 601
312
BIT
215
serko
Можно, точно так же, как и в поле.
Формула колонки: FIO + " " + <Должность>
!!!НО лучше чтобы это были одинарные значения, если будет массив - то будет криво.
Так же перерисовка вьюхи и просто отображение поля это разное время клиента.
Лучше все же сделать на форме, имхо.
Ну главное все в меру.
 
S

serko

Возник вопросик. В документе хочу реализовать вкладки. Например, "Сотрудник" содержит вкладки основное, Связь, Личное дело, Права. Между вкладками(страницами) как-то переключаться можно. Как такое реализовывается? Можно ли это считать как один документ и обращаться к полям закладок, как если бы все поля со всех закладок были в одном документе(на одной странице)? :)
 

alexas1

Green Team
10.04.2014
1 202
225
BIT
37
Клади на форму таблицу.
При создании: Table type -> Tabbed table.
Каждая строка - вкладка таблицы.
Можно переключать вкладки программно.
В строку (вкладку) кладёшь, что хочешь: поля, таблицы, секции ...
 
S

serko

Клади на форму таблицу.
При создании: Table type -> Tabbed table.
Каждая строка - вкладка таблицы.
Можно переключать вкладки программно.
В строку (вкладку) кладёшь, что хочешь: поля, таблицы, секции ...
Спасибо. Я не додумался сам что-то до этого Т_Т
 
S

serko

Запарился с этим чертовым ViewRefresh...
Есть 3 кнопки во вью. Суть их объяснять долго. Если документов нет, то эти кнопки пропадают, а если есть - появляются.
Проблема: При создании документа кнопки появляются, но если пользователь отменил создание документа, то кнопки должны исчезнуть, что у меня не происходит. Накатал сначала на событие queryclose notesuiworkspace.viewrefresh и бестолку. Попробовал вызвать агент - такая же фигня. Я сначала подумал, что это невозможно, но... Добавил во вьюху 4ю кнопку, при нажатии на которой происходило viewrefresh. Кнопка срабатывает, а мой код в агенте и в событии - нет. Т.е. я понял так, что агент должен срабатывать после закр... стоооп...
У меня в queryclose прописано удаление документа, если он не был сохранен. А viewrefresh я пишу после удаления документа. Может ли это быть причиной глухого срабатывания? Но мне надо. чтобы вью обновлялось после удаления документа. На агент повесить таймер? Сделать асинхронным? Как? :eek: :eek: :eek:
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
217
notesuiworkspace.viewrefresh - это не обязательно uiview
 
S

serko

Подскажите, как передать uiview в документ при открытии? Хочется без агентов. Можно ли в post/queryopen получить? Пробовать уже просто надоело. Т_Т

Добавлено:
notesuiworkspace.viewrefresh - это не обязательно uiview
Интересно. Расскажете об этом поподробнее? :eek:
 

alexas1

Green Team
10.04.2014
1 202
225
BIT
37
А галка то стоит "Evaluate actions for every document change" (вторая вкладка пропертей вида)?
 
S

serko

А галка то стоит "Evaluate actions for every document change" (вторая вкладка пропертей вида)?
Галка стоит
Безымянный.jpg
 

alexas1

Green Team
10.04.2014
1 202
225
BIT
37
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Queryclose дока: </div></div><div class="sp-body"><div class="sp-content">Dim s As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim agent As NotesAgent
Set db = s.CurrentDatabase
REM проверяешь, надо ли удалять и дальше
Set doc = Source.Document
Set agent = db.GetAgent("Del")
Call agent.Run(doc.NoteID)<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Агент:</div></div><div class="sp-body"><div class="sp-content">Dim s As New NotesSession
Dim agent As NotesAgent
Set agent = s.CurrentAgent
Dim db As NotesDatabase
Dim doc As NotesDocument
Set db = s.CurrentDatabase
Set doc = db.GetDocumentByID(agent.ParameterDocID)
Call doc.Remove(True)
Dim workspace As New NotesUIWorkspace
Call workspace.ViewRefresh
А зачем такие танцы: сразу, при создании, сохранять док, если он может не понадобится?
Тогда и агент не нужен и рефреши.
 
S

serko

<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Queryclose дока: </div></div><div class="sp-body"><div class="sp-content">Dim s As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim agent As NotesAgent
Set db = s.CurrentDatabase
REM проверяешь, надо ли удалять и дальше
Set doc = Source.Document
Set agent = db.GetAgent("Del")
Call agent.Run(doc.NoteID)<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Агент:</div></div><div class="sp-body"><div class="sp-content">Dim s As New NotesSession
Dim agent As NotesAgent
Set agent = s.CurrentAgent
Dim db As NotesDatabase
Dim doc As NotesDocument
Set db = s.CurrentDatabase
Set doc = db.GetDocumentByID(agent.ParameterDocID)
Call doc.Remove(True)
Dim workspace As New NotesUIWorkspace
Call workspace.ViewRefresh
А зачем такие танцы: сразу, при создании, сохранять док, если он может не понадобится?
Тогда и агент не нужен и рефреши.

Надо было сохранять. Без этого у меня какие-то баги всплывали. Уже не помню, но трогать сохранение дока не буду
 
S

serko

Снова кучу времени убил и толку нет. Пробовал взять вьюху через бд и сделать refresh - толку нуль. Пробовал агентом - толку нуль. Хотел сделать так - если вьюха открыта(а она открыта), тогда закрыть ее и снова открыть. Я надеялся, что произойдет refresh, но я без понятия как закрыть вьюху. :eek: Пробовал в доке брать notesuiview через notesuiworkspace и клацать close, но ему нужен объект. Как ему стравить в док вьюху и закрыть ее? Если уж refresh не помогает... :eek:

Добавлено: Или же попробовать во вьюхе получить невидимую кнопку-экшн и сделать имитацию нажатия. Хоть экшн срабатывает Т_Т
 
S

serko

Ладно. Убедили меня. Сдаюсь. Не буду сохранять документ при создании. Баг пропал :eek:

Добавлено: Если юзер в документе не заполнил поле, то я выводил сообщение и использовал gotofield, чтобы показать пустое поле. Как быть с вычисляемым полем? Значение для него подставляется из диалога(при нажатии хотспота). Есть ли аналог gotofield, но для хотспота или текста?
Вообще, интересует еще такой момент.. Сообщение выплевывать - не гуд. Хочется, чтобы gotofield перенаправлял на поле, а потом поле "игралось" у пользователя перед глазами(моргал красным или синим цветом фон поля или рамки ну и т.д.). А то в дкоументе по 5-6 полей обязательных и эти 5-6 сообщений, которые надо закрывать Enter'ом просто мозолят глаза. :eek:
 

alexas1

Green Team
10.04.2014
1 202
225
BIT
37
... Хочется, чтобы gotofield перенаправлял на поле, а потом поле "игралось" у пользователя перед глазами(моргал красным или синим цветом фон поля или рамки ну и т.д.)...
- помещай поля в таблицу и, в зависимости от нужных условий, вычисляй фон ячейки. (фоном можешь сделать моргающую гифку, а таблица может быть из одной ячейки - по таблице на каждое поле, если нужно)
Пропертя таблицы\3-я вкладка\Cell image\Source -> нужная формула на собаках.
Фон меняется после рефреша дока.
=================
Всё ж зря сразу причёсываешь UI - лучше сначала нарисовать всю бизнесс-логику, а уже потом "цветочки".
 
S

serko

Спасибо. Возник другой вопрос.
Безымянный.jpg
Хочу такую логику сделать:
if (OrgTitle != "" & OrgID != "") then
Сохранить;
Создать;
else
Сохранить:
end if
Ему что-то со скобкой не нравится Т_Т

Внутри документа Организация есть экшн на создание документа Подразделение. Заставляю юзера ввести сначала заголовок и идентификатор документа + сохранить,а уже потом открыть окно на создание подразделения. Проблема в том, что поле OrgID орг-ции не подставляется в поле OrgID подразделения, хотя response to response в настройках формы подразделения проставлено. Поэтому в формуле перед "создать" хочу запихнуть "сохранить". Вдруг из-за этого косячит... Хотел лотусом все это запускать. Использовал рабочий код создания подразделения, но почему-то экшн не стал отрабатывать. B)
 
H

hosm

чтоб сгруппировать @-формулы, используй @Do
Автоматическое заполнение поля можно сделать с помощью св-ва формы Formulas Inherit values from selected document, но посмотрите, подойдет ли оно вам.
вариант либо имя поля OrgID, либо @Text от
@InheritedDocumentUniqueID "Computed when composed" field formula in a "Response" document creates a doclink to the parent document. In the properties box for the "Response" form, "Formulas inherit values from selected document" must be checked.
 

alexas1

Green Team
10.04.2014
1 202
225
BIT
37
Ему что-то со скобкой не нравится Т_Т
лишний оперенд в @if(...
Надо так:
@if((OrgTitle != "") & (OrgID != "");
@Command([FileSave]);
@Do(
@Command([Compose];"Depertment");
@Command([FileSave])
)
)
======================
Т.е. если оперенд "сложный", его надо оборачивать в @Do(..........)
 
S

serko

Всем спасибо. еще вопрос. Создаю документ. У документа есть поле field. Еще есть родитель-документ с полем parentfield.
Создаю так...
set doc = notesdatabase.createDocument
doc.Form = "myForm"
doc.field = parentdoc.parentfield 'тут ка бы все норм, но если применить запись ниже,
doc.field = doc.field & "/" & parentdoc.parentfield ' то выдает ошибку с типами
doc.field = doc.field + "/" + parentdoc.parentfield ' и так пробовал от балды
B)
 
Мы в соцсетях:

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