А обстоятельства-то какие?
Если бы я знал какие у этого нотеса внутрях обстоятельства ))
Простой пример:
- новая форма;
- на форме CFD-поле с каким-то значением;
Експеримент:
10- открываем сохраненный документ, либо создаем новый и сохраняем, чтобы в диалоге свойств документа были видны поля;
20- идем в диалог свойств документа, смотрим наше CFD-поле, любуемся;
30- закрываем диалог, нажимаем Ф9;
40- идем в диалог свойств документа, ищем наше CFD-поле, любуемся его отсутствием;
50- теперь можно разве что сохранить документ, при повторном обновлении по Ф9 поле не вернется.
Теперь добавляем на форму кнопку А с кодом, например,
Код:
@StatusBar(@Text(@Now) + ": " + CFDField1)
Повторяем експеримент:
10-40
50- теперь можно нажать кнопку А и увидим, что в панели появится правильное сообщение, и в диалоге свойств документа CFD-поле вновь будет видно;
Теперь добавляем на форму кнопку Б с кодом, например,
Код:
Dim ws As New NotesUIWorkspace
Dim doc As NotesDocument
Set doc = ws.CurrentDocument.Document
Print Now & ": " & doc.GetItemValue("CFDField1")(0)
Повторяем експеримент:
10-40
50- теперь можно нажать кнопку Б и увидим, что в панели появится правильное сообщение, и в диалоге свойств документа CFD-поле вновь будет видно;
Теперь добавляем на форму кнопку В с кодом, например,
Код:
Dim ws As New NotesUIWorkspace
Dim doc As NotesDocument
Call ws.CurrentDocument.Refresh(False)
Set doc = ws.CurrentDocument.Document
Print Now & ": " & doc.GetItemValue("CFDField1")(0)
Повторяем експеримент:
10-40
50- теперь можно нажать кнопку В и увидим, что в панели появится сообщение, но значение CFD-поля НЕ считывается, и в диалоге свойств документа CFD-поле НЕ видно;
60- снова жмем В, результат тот же;
В принципе, можно использовать
ws.CurrentDocument.Refresh(TRUE), но тогда придется следить, чтобы документ не сохранялся, этот метод удачно сохраняет документ при наличии SaveOptions = "1", если я не ошибаюсь и все варианты знаю.
Но
ws.CurrentDocument.Refresh(TRUE) & SaveOptions это уже workaround. А суть вопроса,
почему пропадают CFD-поля при обновлении? :lovecodeby:
У меня еще иногда и HideWhen-формулы глючат схожим образом, но пока не крутился вокруг, просто лишний раз обновлял, связано с использованием RefreshHideFormulas.
Добавлено: ToxaRat, спасибо, ниче не понял, что ты хотел сказать
lease:
Естесственно, что CFD-поля работают только на УИ.
Добавлено: TIA ,
да-да-да! Я догадывался, что где-то в 7-ке впервые поймал такой глюк, но это было так давно, что я не мог вспомнить так ли это.
На скрипт не могу перенести, я CFD-поле использую для скрытия, и скрипт тут не помощник.
зы: в примере выше поле не скрыто и глючит.
зы2: шо таке COFU?