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

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

    Скидки до 10%

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

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

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

serko

В настройках поля документа и хотспота прописал Условие скрытия. При нажатии на кнопку срабатывает notwsuiworkspace.ViewRefresh и казалось бы ( как я решил) поле должно появиться, но нет.. Поле не появилось, хотя условие выполнялось, чтобы поле появилось. Экшены нормально работают, а поля с хотспотами - нет. Пробовал notesuiworkspace.ViewRebuild, так он меня послал с ошибкой...
[DOUBLEPOST=1425883317,1425883212][/DOUBLEPOST]Виноват...
Call ws.CurrentDocument.RefreshHideFormulas
 
S

serko

Можно ли программно в LS менять тип поля с Editable на Computed и наоборот, и как?
 

Leoric

Lotus Team
15.10.2003
68
9
BIT
38
Можно ли программно в LS менять тип поля с Editable на Computed и наоборот, и как?
Вангую, что надо менять редактируемое/вычисляемое по определенным условиям. В UI решается парой полей (MainField editable + MainField_vis computed) и хайдвенами. Скрываем редактируемое/вычисляемое поле в зависимости от условий.
 
  • Нравится
Реакции: serko

Leoric

Lotus Team
15.10.2003
68
9
BIT
38
Свойством редактируемого поля: Input Enable
:) Если только запретить ввод, то хватит конечно и Input Enable, но чаще всего приходится светить или редактируемое поле или вычисленное на его основе поле с карточными играми и куртизанками :)

P.S. Чаще даже Computed for display светится
 
  • Нравится
Реакции: serko
S

serko

Да я уже иначе решил задачу. Спасибо ))
У поля есть Hide formula. Задача такова:
Кнопка Button появляется только в том случае, когда значение поля Show = "+" и поле Date = "".
Формула следующая: Show != "+" & Date != ""
Почему-то по 2 полям формула не срабатывает, а по 1 срабатывает.
 
S

serko

потому что кто-то слишком много прогуливал универ :)
Погодите. Выражение Show != "+" можно перевести как показывать кнопку, если Show = "+", тогда Show != "+" & Date != "" можно перевести, как показывать кнопку, если Show = "+" и Date = "". Разве, не так?
[DOUBLEPOST=1426000242,1426000208][/DOUBLEPOST]о, знакомые формулы :D
[DOUBLEPOST=1426000289][/DOUBLEPOST]Попробую сам. Пару минут..
 
S

serko

Что-то не выходит... Т_Т
Если представить выражение Show != " + " как a, а Date != "" - как b, тогда..
-(a * b) = -a + (-b) = -(Show != " + ") | -(Date != "") = Show = "+" | Date = "", но и такой вариант не работает. Что не так-то? :eek:
 
H

hosm

1) Если хайд-формула дает @true, то кнопка скрывается. 2) Button появляется только в том случае, когда значение поля Show = "+" и поле Date = "", т.е.: (Show = "+") & (Date = ""). 3) Берем отрицание и раскрываем по правилу (Отрицание конъюнкции есть не что иное, как дизъюнкция отрицаний): !((Show = "+") & (Date = ""))= (Show != "+") | (Date != ""). 4) Если сложно раскрывать, оставляйте хайд в виде !((Show = "+") & (Date = "")). 5) Если всё еще неправильно, проверьте условие (2) - не перепутали ли "и" и "или" и имя полей у документа. Можно для типа даты еще проверять на пустоту @text(Date)=""
 
Последнее редактирование:
  • Нравится
Реакции: serko
S

serko

1) Если хайд-формула дает @true, то кнопка скрывается. 2) Button появляется только в том случае, когда значение поля Show = "+" и поле Date = "", т.е.: (Show = "+") & (Date = ""). 3) Берем отрицание и раскрываем по правилу (Отрицание конъюнкции есть не что иное, как дизъюнкция отрицаний): !((Show = "+") & (Date = ""))= (Show != "+") | (Date != ""). 4) Если сложно раскрывать, оставляйте хайд в виде !((Show = "+") & (Date = "")). 5) Если всё еще неправильно, проверьте условие (2) - не перепутали ли "и" и "или" и имя полей у документа. Можно для типа даты еще проверять на пустоту @text(Date)=""
Спасибо. Теперь понял, что я упустил из головы. А я боялся, мне это не пригодится :D
 

savl

Lotus Team
28.10.2011
2 610
313
BIT
302
@serko, основное правило с @: работают последовательно, все операторы имеют равный приоритет.
То есть & и | равнозначны для интерпритатора.
Таким образом лучше всегда написать полную формулу, когда кнопка должна показываться и взять от нее общее отрицание.
 
  • Нравится
Реакции: Shandrik и serko

alexas1

Green Team
10.04.2014
1 202
225
BIT
38
Да я уже иначе решил задачу. Спасибо ))
У поля есть Hide formula. Задача такова:
Кнопка Button появляется только в том случае, когда значение поля Show = "+" и поле Date = "".
Формула следующая: Show != "+" & Date != ""
Почему-то по 2 полям формула не срабатывает, а по 1 срабатывает.
Булева, блин, ... арифметика :p
!(Show = "+" & Date = "") = Show != "+" | Date != "" (инвертируем ВСЁ, когда вносим внутрь скобкок)
 
  • Нравится
Реакции: serko
S

serko

Надо скопировать документ из одной базы в другую, но форма у документа иная.
Я думал просто создать в новой базе документ и поля заполнить данными из старой, но... в базе есть поле типа Rich text Lite, где я храню документ. Можно ли следующей записью вложение скопировать? newnotesdocument.Attach = oldnotesdocument.getitemvalue("Attach")(0)
 

alexas1

Green Team
10.04.2014
1 202
225
BIT
38
Надо скопировать документ из одной базы в другую, но форма у документа иная.
Я думал просто создать в новой базе документ и поля заполнить данными из старой, но... в базе есть поле типа Rich text Lite, где я храню документ. Можно ли следующей записью вложение скопировать? newnotesdocument.Attach = oldnotesdocument.getitemvalue("Attach")(0)
Не мудри, скопируй, как обычно, а потом поменяй значение поля "Form" в копии на нужное.
============================
P.S.
Ещё NotesDoc.CopyAllItems... хороший вариант, если нравится. Лишние items поудалять, перед сохранением. Вообще, лучше применять групповые операции везде, где можно: StampAll... и PutAll... (DocCollection) например. Сильно шустрее будет.
 
Последнее редактирование модератором:
  • Нравится
Реакции: serko

savl

Lotus Team
28.10.2011
2 610
313
BIT
302
@serko, прораммно копируй
Код:
'NewDb - новая база
'NewDoc - новый док
'CurrDoc - текущий док
Set NewDoc = New notesDocument(newDb)
Call CurrDoc.CopyAllItems(NewDoc)
Call NewDoc.ReplaceItemValue("Form", NewFormName)
Call NewDoc.save(True,False)

Если надо сложнее, то надо делать список полей для копирования.
Поле А1 -> Поле Б1
...
Поле АX -> Поле БX
То есть делать таблицу соответствий полей, какое в какое. Если уж форма совсем иная.
 
  • Нравится
Реакции: serko
S

serko

Спасибо всем )) Вы так оперативно отвечаете, будто сидите и обновляете страницу каждую минуту. Мне даже не по себе :D
 

savl

Lotus Team
28.10.2011
2 610
313
BIT
302
@serko, у меня плагин для FF, каждые 5 минут обновляет страницу :D
Зачем? Сам не знаю...
 
  • Нравится
Реакции: serko
Мы в соцсетях:

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