проблема с Responses

  • Автор темы Ruku
  • Дата начала
Статус
Закрыто для дальнейших ответов.
R

Ruku

Гость
#1
Добрый день.
никак не могу разобраться с проблемой:

есть некий документ
создаю к нему ответ следующим образом:

Код:
	Dim doc As NotesDocument
Dim adoc As NotesDocument

'		...

Set adoc = New NotesDocument(db)	
adoc.form = "readConfirmation"

' заполняем поля нового документа
adoc.parentDocNumber = doc.NumberIn
adoc.parentDocDate = doc.DateIn
adoc.DocLabel = "Подтверждение прочтения"
adoc.Commentary = Cstr(Now())+" "+ulist2$+" ознакомился с документом "+Cstr(adoc.parentDocLabel(0))+" "+	Cstr(adoc.parentDocNumber(0))+"от "+ Cstr(	adoc.parentDocDate(0) )

Call adoc.MakeResponse(doc)	

Call adoc.Save(True,True)
аналогично создаются и другие ответные документы к пресловутому doc
все создается, в вьюхе отображается правильно, деревом, причем если в вьюху добавить столбец @docChildren
то и у него значения абсолютно правильные выдаются.
все ответные имеют тип "ответ на ответ"
сам doc имеет тип "документ"
поля REF$ в ответных документах присутствуют.

но при попытке проверить значение responses:
Messagebox doc.Responses.count
упорно выдается 0

;)

наткнулся на совет снять флажок Don't support specialized response hierarchy
в свойствах базы и сжать базу, но тоже не помогает.

Почему так может происходить? :(

<table valign="top" style='margin:0;width:100%;border:1px dashed red;'>[tr]<td align='middle' bgcolor='#ff6060' valign='top' width='1%'>
<FONT color='#ffffff' size='+3'> ! </font>
</td><td align="midle" valign='top' style='background:#fff;'>добавлен тег кода!</td>[/tr]</table>
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
2
#2
наткнулся на совет снять флажок Don't support specialized response hierarchy
если этот флажек стоял раньше, то после того как снял надо провести компакт базы, только не помню нужны ли опции, см справку

вот, из справки надыбал:
Disable specialized response hierarchy information
By default every document stores information that associates it with a parent document or a response document. Only the @functions @AllChildren and @AllDescendants, which are often used in view selection and replication formulas, use this stored information. Maintaining this information has a significant, negative effect on database performance.
To improve database performance, disable the response hierarchy information in databases that don't use these @functions by selecting the Advanced database property "Don't support specialized response hierarchy."
Disabling the response hierarchy information has no effect on views and replication formulas that display information hierarchically without using @AllChildren and @AllDescendants.
Disabling the response hierarchy information sets NotesDocument.Responses to 0 documents.
If you select or deselect the "Don't support specialized response hierarchy" property, you must compact the database so that the setting takes effect. Compacting in this case makes a temporary copy of the database, so your system must have the disk space to make the copy.
Tip You can also run the Compact server task with the -h or -H option to enable or disable this property and then compact.
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 223
24
#3
Akupaka
как минимум копистайл компакт, как максимум пересоздать через реплику базы с обязательным удалением "cache.nsd desktop6.nsd" у клиента
в своё время наигрался этой опцией, сама по себе она безобитная и своенравная ;)
 
R

Ruku

Гость
#5
если этот флажек стоял раньше, то после того как снял надо провести компакт базы, только не помню нужны ли опции, см справку

вот, из справки надыбал:
компакт я проводил. - снимал флажок и потом давил кнопку компакт там же в свойствах базы.
может как-то иначе нужно было?
может конечно оно долго компактится ( база под гигабайт уже) или нужно через администратор это делать с опциями?
 
K

Klido

Гость
#6
Disabling the response hierarchy information sets NotesDocument.Responses to 0 documents.
т.е. если у базы эта опция включена, а потом выключить - получим указанный эффект? ибо у меня вон опция эта никогда не тронута, NotesDocument.Responses работают нормально... в чем скрытый смысл? толкьо в передергивании?

кстати появилось ещё такое, пока неочевидно куда заюзать..

Support Response Thread History
This option is new with release 8. If "Support Response Thread History" is selected, documents in the database contain additional information fields allowing them to be sorted into a document response hierarchy.

Note Selecting this option has no effect on existing documents. Existing threads will not be identified or rendered as such and only new threads will take part in the feature. This is true even if a new replica or copy is made of a database with existing threads. Only new documents will be processed for thread citizenship and a place in the hierarchy.
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
2
#7
рассказываю как знаю.

когда база создается, свойство "Don't support specialized response hierarchy" не включено, и по-умолчанию все работает как ожидается (ну может не все-все-все, но это отдельный разговор).
если включаешь опцию, то все остается так же, пока не будет сделан компакт!
сделали компакт - перестали работать функции @AllChildren, @AllDescendants, NotesDocument.Responses .
вдруг понадобилось, чтобы работало!
снимаем галку с опции, делаем компакт, и только после вновь заработают функции дочерних доков.

компакт я проводил. - снимал флажок и потом давил кнопку компакт там же в свойствах базы
эта кнопка создает запрос на сервере, когда он закончится не всегда прогнозируемо.
лучше всего компактить базу из консоли сервера, тогда видно начался ли компакт и как закончился.
запускаешь удаленную живую консоль (Live console) и пишешь: compact -c database1.nsf [ENTER]
смотришь в консоль, если базу юзают, то напишет, что database in use, если нет, то начнется компакт, и напишет даже чего удалось освободить.
если базу юзають, то тут надо смотреть кто (show users), можно всех кинуть (drop all), правда, сам отвалишься, придется несколько раз тыкнуть в кнопку Live, можно почитать хелп и научиться избавляться от конкретных пользователей.
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 223
24
#9
компакт я проводил. - снимал флажок и потом давил кнопку компакт там же в свойствах базы.
этот компакт всего лишь ужимает индексы видов и свободное место
тебе же нужен исключительно копистайловский компакт
и да из клиента лотуса до завершения компакта тоже лучше выйти
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
2
#10

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 223
24
#11
Akupaka
-L Enables users to continue to access databases during compacting. If a user edits a database during compacting, compacting is canceled. This is useful only when copy-style compacting is done.
это обычный компакт, который по кнопочке в свойсве базы

Disable specialized response hierarchy information
By default every document stores information that associates it with a parent document or a response document. Only the @functions @AllChildren and @AllDescendants, which are often used in view selection and replication formulas, use this stored information. Maintaining this information has a significant, negative effect on database performance.
To improve database performance, disable the response hierarchy information in databases that don't use these @functions by selecting the Advanced database property "Don't support specialized response hierarchy."
Disabling the response hierarchy information has no effect on views and replication formulas that display information hierarchically without using @AllChildren and @AllDescendants.
Disabling the response hierarchy information sets NotesDocument.Responses to 0 documents.
If you select or deselect the "Don't support specialized response hierarchy" property, you must compact the database so that the setting takes effect. Compacting in this case makes a temporary copy of the database, so your system must have the disk space to make the copy.
Tip You can also run the Compact server task with the -h or -H option to enable or disable this property and then compact.
я выделил жирным, хорошо видно что тут использовать нужно монопольный или копистайловский способ?

а выйти из клиента лотуса нужно потому как свойство базы(чаще всего это или документ-иконка) тоже как и профиль КЕШИРУЕТСЯ
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
2
#12
хорошо видно что тут использовать нужно монопольный или копистайловский способ
я не вижу, чтобы было сказано, что нужно делать compact with copy style option :rolleyes:

а выйти из клиента нужно потому как ... КЕШИРУЕТСЯ
не замечал чтобы в локальной сети все ТАК кешировалось ;)
во всяком случае, когда игрался с этим свойством, то не призодилось клиент выгружать
 
K

Klido

Гость
#13
Compacting in this case makes a temporary copy of the database
тут написано, что именно в случае, когда манипулируем этой галкой - компакт будет копистайловым (или даже нет - просто копия временная базы, иначе написали бы явно, что копистайл) и просто предупреждают, чтоб места хватило... т.е. специально не надо копистайловость указывать - само сделает... может быть :rolleyes:
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
2
#14
в справке по компакту написано так:

Don't support specialized response hierarchy: Off

-h

Disables "Don't support specialized response hierarchy" database property; in other words, support specialized response hierarchy. Does copy-style compacting.

Don't support specialized response hierarchy: On

-H

Enables "Don't support specialized response hierarchy" database property; in other words, do not support specialized response hierarchy. Does copy-style compacting.
т.е. оно само делает копистайл компакт, т.е. опцию указывать не обязательно, посему...
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 223
24
#15
Akupaka
т.е. оно само делает копистайл компакт
правильно, мы же пишем load compact -h что уже подразумевает выставление опции и компакт - всё в одном
в отличии от ручной установки галочки
 
R

Ruku

Гость
#19
рассказываю как знаю.
...
снимаем галку с опции, делаем компакт, и только после вновь заработают функции дочерних доков.
...
лучше всего компактить базу из консоли сервера, тогда видно начался ли компакт и как закончился.
запускаешь удаленную живую консоль (Live console) и пишешь: compact -c database1.nsf [ENTER]
...
сегодня проделал примерно так как написано,
делал прямо с сервера по ssh подключился, перешел в notesdata и оттуда copmpact -c база_данных.nsf
пользователей пришлось отключить, база скомпактилась, респонсы заработали.
Спасибо.
;)
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 223
24
#20
Ruku
делал прямо с сервера по ssh подключился, перешел в notesdata и оттуда copmpact -c база_данных.nsf
пользователей пришлось отключить, база скомпактилась, респонсы заработали.
ну дык, я так и сказал :KillMe:
 
Статус
Закрыто для дальнейших ответов.