powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / PowerDesigner15. Как программно удалить из репазитория модель
3 сообщений из 3, страница 1 из 1
PowerDesigner15. Как программно удалить из репазитория модель
    #37816477
Max81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как программно удалить из репазитория модель. При вызове метода delete класса RepasitoryModel объект исчезает из списка, но при обновлении списка модель опять появляется, т.е. физического удаления не происходит
...
Рейтинг: 0 / 0
PowerDesigner15. Как программно удалить из репазитория модель
    #37821221
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Max81Как программно удалить из репазитория модель. При вызове метода delete класса RepasitoryModel объект исчезает из списка, но при обновлении списка модель опять появляется, т.е. физического удаления не происходит

Metamodel Objects Help / RepositoryModel / ModelDelete()
Performs an object logical deletion. References on the object remains valid but the object will be flagged deleted on will be detached from all other objects. Child objects will also be recursively deleted.

DeleteVersion() As Boolean
Deletes a version of a repository document. To remove completely a document from the repository, the user needs to remove all its versions.


Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
' Check the repository connection
Dim repository, connected, deleteTargetFolder, deleteTargetModel

deleteTargetFolder = "TempFolder"
deleteTargetModel = "temp"

Set repository = RepositoryConnection
connected = repository.Connected
If not connected then
      connected = repository.Open()
End If
   
If connected then
   ' Begin the recursive scan
   ScanRepository repository
   ' Refresh the repository browser
   repository.Refresh
Else
   ' Log message
   MsgBox "The repository needs to be connected or default connexion should be operational"
End If

' The recursive procedure that scan folders and extracts models
Sub ScanRepository (folder)
   ' check the parameters
   If folder is Nothing then
      Exit Sub
   End If
  
   ' Log message in the output
   output "Scanning the folder " + folder.Name
   ' Recursive call on sub folders
   Dim subObject
   For Each subObject in folder.ChildObjects
      ' recurse or extract repository sub-package
      If subObject.IsKindOf(PdRMG.Cls_RepositoryFolder) then
         ScanRepository subObject
      else
         If subObject.IsKindOf(PdRMG.Cls_RepositoryDocument) or subObject.IsKindOf(PdRMG.Cls_RepositoryModel) then
            output "Document:" & subObject.name
            if folder.name = deleteTargetFolder and subObject.name = deleteTargetModel Then
               output "Model " & subObject.name & " deleting..."
               subObject.DeleteVersion() '<<<<<<<<<<<<<<<<
            end if
         end if
      End If
   Next
End Sub
...
Рейтинг: 0 / 0
PowerDesigner15. Как программно удалить из репазитория модель
    #37824461
Max81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Когда больше одной версии, сколько бы циклов не запускал на удаление не получается удалить. Если версия одно, так удаляет
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / PowerDesigner15. Как программно удалить из репазитория модель
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]