Непонятный глюк.

  • Автор темы Azrael
  • Дата начала
A

Azrael

Гость
#1
Какой-то непонятный глюк образовался, никак побороть не могу :blink: В общем есть форма, в ней было n-ое количество полей. Добавляю n+1 - ое поле, так эта зараза его не видит до тех пор, пока я не открою форму в UI. т.е. я создаю документ, делаю ComputeWithForm 2 разА. Те поля, которые были он спокойно отображает, а те, что я сегодня добавил - облом. Причем абсолютно все равно, какие поля, добавляю единственное вычисляемое поле со значением по умолчанию "ss" - так он его все равно считает после того, как форма открывается в UI. До этого момента в документе такого поля нет.
Что делать?
P.S. Создание новой формы с таким же названием и переименование старой не помогают
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
#2
Какая зараза его не видит?
Создай вручную. Или пройдись агентом @Command([ToolsRefreshAllDocs]) или @Command([ToolsRefreshSelectedDocs]).
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
#3
А вообще пользоваться ComputeWithForm надо осторожно. Давно словил багофичу, что если в каком-то поле стоит формула @GetDocField и в нём указан несуществующий UNID, то ComputeWithForm пересчитает поля только до этого поля (на нем, типа, ошибка будет). Т.о. при создании нового документа мы получим только часть полей.

Хотя, если стоит, например, формула @ToNumber("abc") (тоже словим ошибку), то ComputeWithForm нормально просчитает все поля.
 
A

Azrael

Гость
#4
Какая зараза его не видит?
Lotus :blink:
пройдись агентом @Command([ToolsRefreshAllDocs]) или @Command([ToolsRefreshSelectedDocs])
Не могу ;) , т.к.
A database must be open at the view or folder level and at least one document must be selected.
Документ - служебный, создается по кнопке из формы

Насчет @GetDocField тоже встречал, поэтому использую @IfError... да и в этом конкретном случае я его не использую.
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
#5
<!--QuoteBegin-Azrael+24:08:2007, 11:47 -->
<span class="vbquote">(Azrael @ 24:08:2007, 11:47 )</span><!--QuoteEBegin-->Lotus
[snapback]76249" rel="nofollow" target="_blank[/snapback]​
[/quote]
В смысле Lotus? Т.е. как ты видишь, что он его не видит?

<!--QuoteBegin-Azrael+24:08:2007, 11:47 -->
<span class="vbquote">(Azrael @ 24:08:2007, 11:47 )</span><!--QuoteEBegin-->Документ - служебный, создается по кнопке из формы
[snapback]76249" rel="nofollow" target="_blank[/snapback]​
[/quote]
Отбери их в представлении. У агента поставь Target: None. И запусти его, когда будешь в этом представлении.
 
A

Azrael

Гость
#6
В смысле Lotus? Т.е. как ты видишь, что он его не видит?
Смотрю свойства документа, там новые поля не появлялись.

Кажется, проблема решилась, спасибо, тема закрыта.

В одном из текстовых полей стояло @If((@Elements(list)>0) & Name = stName ;list[1];0)

0 - должен был быть в кавычках.
 

Constantin A Chervonenko

Well-Known Member
Lotus team
30.05.2006
1 334
4
#7
А вообще пользоваться ComputeWithForm надо осторожно. Давно словил багофичу, что если в каком-то поле стоит формула @GetDocField и в нём указан несуществующий UNID, то ComputeWithForm пересчитает поля только до этого поля (на нем, типа, ошибка будет).
Э... А если 2-й параметр ComputeWithForm поменять? Тогда вы получите Error-ом по лбу во время выполнения и сможете что-то предпринять.
Или результат метода проанализировать - тоже полезно