Общие вопросы > Разработка приложений
Конфликтные документы. Как минимизироват
cybergeene:
работают напрямую с одной базой. Реплики не используются
ViV:
Посмотрите, поле "$Revisions" тоже не меняется?
cybergeene:
не меняется
cybergeene:
В общем, нужно построить представление, например, по UniqueID документа и из него вынуть методом getdocumentbyUID док. Если поле LastModified отличается, то прямая опасность конфликта (или потери данных, если включены блокировки в БД)
cybergeene:
давно хотел подробно написать:
Нужно построить представление(например, (viewUID) ) с одним сотрированным столбцом, в значении столбца "Formula" написать @Text(@DocumentUniqueID)
В форме написать:
--- Код: --- Set viewUID =db.GetView("(viewUID)")
Call doc.Save( False, True )
If uidoc.EditMode Then
Call uidoc.Reload 'если в режиме редактирования
Call uidoc.Refresh 'если в режиме редакт
Call uidoc.Save
End if
Print "Документ был сохранен"
Call uidoc.Close(True)
unid = doc.UniversalID
Delete doc
Call viewUID.Refresh 'два рефреша, тк. иногда один не срабатывает
Call viewUID.Refresh 'если первый рефреш сработал, второй практически не занимает время
Set doc = viewUID.GetDocumentByKey(unid) 'Set doc = db.getDocumentByUNID(unid) не поможет!!!
Call workspace.EditDocument(True,doc)
--- Конец кода ---
Навигация
Перейти к полной версии