Десять SQL скриптів для DocsVision, Книги та статті, Різне, статті

Це перша публікація з T-SQL скриптами для вирішення різних завдань в DocsVision. Скрипти підходять для версій 4.0 і 4.1


1. Переклад всіх пошукових запитів на віртуальній папці в режим таблиці

Фактично проводиться видалення всієї розмітки – положення елементів управління на формі запиту.

DECLARE @Query as varchar (1024)
– Задайте ім’я пошукового запиту
SET @Query=”test”

DELETE FROM dbo.[dvtable_{DC8A71DC-D2BB-4875-8B9F-0BBFF04383F7}]
WHERE ParentRowID=
(
SELECT TOP (1) RowID FROM dbo.[dvtable_{FB2AC41F-1911-4F7C-B631-18CFAEB311BD}]
WHERE [Name]=@Query
)

2. Очищення журналу примірника бізнес-процесу

DECLARE @ProcessID uniqueidentifier
SET @ ProcessID = “” – тут потрібно вказати ідентифікатор картки примірника бізнес-процесу без дужок {}
DELETE FROM dbo.[dvtable_{388F390F-139E-498E-A461-A24FBA160487}]
WHERE InstanceID=@ProcessID

3. Включення відображення діалогу про розбіжність версій в Навігаторі.

Починаючи з версії 4.0 показ діалогу про розбіжність версій бібліотек можна відключити, встановивши опцію у вікні. Щоб включити відображення цього повідомлення потрібно виконати прикладений скрипт (підходить і для 4.1)

В поле @ AccountName вказується обліковий запис користувача DOMAINName

DECLARE @AccountName AS varchar(256)
SET @ AccountName = “обліковий запис користувача”

DELETE ProfileSettings FROM [dbo].[dvtable_{EBAF1DE7-AB00-44D4-82AC-2CF3C16C93DC}] AS ProfileSettings
JOIN dvsys_users AS Users ON Users.UserRefID=ProfileSettings.InstanceID
WHERE ObjectID=”FB028B36-5F93-4923-9580-15F5E1021831″
AND Users.AccountName=@AccountName

4. Запуск всіх бізнес-процесів, які призупинені за помилку

UPDATE dbo.[dvtable_{97CC73BA-1953-4A70-8460-415BD4BCAAAE}]
SET State=2
WHERE State = 5
UPDATE dbo.[dvtable_{0EF6BCCA-7A09-4027-A3A2-D2EEECA1BF4D}]
SET State=1, ReadyToRun=”true”
WHERE State = 3

5. Запуск всіх бізнес-процесів, які призупинені (натиснута кнопка “пауза”)

UPDATE dbo.[dvtable_{0EF6BCCA-7A09-4027-A3A2-D2EEECA1BF4D}]
SET State=1, ReadyToRun=”true”
WHERE State = 2

6. Призначити всіх об’єктах в системі прав Everyone – FullAccess

UPDATE dvsys_security SET SecurityDesc=”AQAEjDAAAABAAAAAAAAAABQAAAACABwAAQAA

AAADFAAfAA8QAQEAAAAAAAEAAAAAAQIAAAAAAAUgAAAAIAIAAAEBAAAAAAAFEgAAAA==”

7. Пошук в журналі Навігатора операцій створення картки

За часовий період:

DECLARE @StartDate AS datetime
DECLARE @EndDate AS datetime

– Завдання тимчасових рамок пошуку
SET @StartDate = “20080703 00:00:00”
SET @EndDate = “20090116 23:59:59”

SELECT AccountName,Date,ComputerName, InstanceID,Description FROM dvsys_log AS L
INNER JOIN dvsys_users as U
ON L.UserID=U.UserID
INNER JOIN dvsys_instances AS I
ON L.ResourceID=I.InstanceID
WHERE Operation=3
AND Date>@StartDate AND Date<@EndDate

За ідентифікатором:

DECLARE @CardID AS uniqueidentifier

SET @ CardID = “FF841489-E3DC-4E5C-96A8-01B1609EBC47” – ідентифікатор картки

SELECT AccountName,Date,ComputerName, InstanceID,Description FROM dvsys_log AS L
INNER JOIN dvsys_users as U
ON L.UserID=U.UserID
INNER JOIN dvsys_instances AS I
ON L.ResourceID=I.InstanceID
WHERE Operation=3
AND ResourceID=@CardID

8. Отримання ідентифікатора сильного ярлика картки.

DECLARE @CardID uniqueidentifier
SET @ CardID = “19C91B93-A195-41AD-B4C1-831DCB191A02” – ідентифікатор картки

SELECT RowID FROM [dbo].[dvtable_{EB1D77DD-45BD-4A5E-82A7-A0E3B1EB1D74}]
WHERE HardCardID=@CardID

9. Отримання списку папок на яких стоять обмеження на створення певних типів карток.

SELECT Folders.RowID,Folders.[Name]
FROM dbo.[dvtable_{5B7091C7-18DA-4E82-9C62-883F5237EED2}] AS Types
LEFT JOIN dbo.[dvtable_{FE27631D-EEEA-4E2E-A04C-D4351282FB55}] AS Folders
ON Types.ParentRowID=Folders.RowID

10. Знімаємо блокування від користувачів, сесій яких більше немає

– Видаляємо старі сесії
DECLARE @RC int
EXECUTE @RC = [dbo].[dvsys_session_clear_old]

– Знімаємо блокування з об’єктів, сесій яких вже не існує
DELETE FROM dvsys_locks
WHERE (LockOwnerID NOT IN (SELECT UserID FROM dvsys_sessions))

Якщо потрібно зняти блокування тільки з файлів, то запит повинен бути таким. Увага, користувачі можуть вивантажувати файли (CheckOut) в роботу. Автоматично знімати блокування з файлів не зовсім коректно.

DELETE FROM dvsys_locks
WHERE (ResourceType=2 AND LockOwnerID NOT IN (SELECT UserID FROM dvsys_sessions))

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*