вторник, 14 апреля 2020 г.

Как в Web клиенте заполнить поле пользователь в javascript

//Скрипт записывает пользователя, жестко заданного в скрипте в виде json, в поле employee1

var extensionManager = require("@docsvision/webclient/System/ExtensionManager").extensionManager;

function validateOnStateChanging(sender, args) {
 let layout = sender.layout;
 let employee1 = layout.controls.employee1;

var toempl={id: "64dcbcb8-a503-40ba-a0a5-a9919c759843", isCurrent: false, displayName: "Администратор К. О.", firstName: "Крас", lastName: "Администратор", middleName: "Офис", position: null, fieldPath: null, unitId: "c51f9dd1-5058-4f69-ae3d-9c3fc24e97c6", pathInDirectory: null,
dataType: 64};

let jsonstr = JSON.stringify(toempl)
employee1.params.value=JSON.parse(jsonstr);
    MessageBox.ShowWarning(jsonstr);
}

// Регистрируем расширение и все его обработчики
extensionManager.registerExtension({
    name: "Дополнения к УД",
    version: "5.5.14",
    globalEventHandlers: [{ validateOnStateChanging: validateOnStateChanging }]
});

пятница, 24 января 2020 г.

Ошибки в консоли настройки Docsvision 5.4. Решения

При открытии вкладки Модули расширения\Управление процессами возникает ошибка доступа и вкладка становится неактивной.
Решение: При добавлении пользователя под которым запускается консоль настройки в пользователи SQL сервера ошибка не исчезает, но вкладка остается активной  с доступной кнопкой Настройка почты. При добавлении пользователю SQL сервера роли sysadmin ошибки при открытии вкладки не возникает.
Так же решается ошибка доступа при открытии настройки  базы данных по кнопке Настройка на вкладке Базы данных


вторник, 18 сентября 2018 г.

Функция получения полного регистрационного номера из документа

//Данная функция по объекту типа Document получает из него нолный номер, присвоенный этому документу.

private string getRegNumber(Document doc)
{
BaseCardNumber bsnumber=null;
bsnumber = doc.Numbers.SingleOrDefault<BaseCardNumber>(t => t.GetObjectId()==doc.MainInfo.GetGuid("RegNumber"));
if (bsnumber==null)
return "";
else
return bsnumber.Number;
}

Определение текущего года с помощью javascript в xslt преобразовании для префикса номера в конструкторе правил нумерации Docsvision 5.4

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:ms="urn:schemas-microsoft-com:xslt"
  xmlns:my="http://sib-intel.com/my"
  exclude-result-prefixes="ms my">

  <ms:script language="JScript" implements-prefix="my">
  <![CDATA[
  function getCurrDate () {
    var mdate = new Date()
    return mdate.getFullYear().toString().substr(-2);
  }
  ]]>
  </ms:script>

<xsl:template match="/">
<xsl:text>ТТК-К-</xsl:text>
<xsl:value-of select="my:getCurrDate()"/>
<xsl:text>-</xsl:text>
</xsl:template>
</xsl:stylesheet>

суббота, 28 апреля 2018 г.

Удаление бизнес-процессов, приостановившихся по ошибке с определенным именем с помощью SQL скрипта

/*
Данный скрипт был применен в DocsVision версии 5.4
*/
declare @cid uniqueidentifier
declare @UserID uniqueidentifier
declare @SessionID uniqueidentifier

set @UserID =(select top 1 UserID from dbo.dvsys_users where AccountName ='domain\hyper')
set @SessionID = (select top 1 SessionID from  dbo.dvsys_sessions where UserID = @USerID)

if (@UserID is not null) and (@SessionID is not null)
begin
      declare cur cursor for
      select InstanceID from
      dbo.[dvtable_{0EF6BCCA-7A09-4027-A3A2-D2EEECA1BF4D}]
      where State=3 and Name like '%Экземпляр подпроцесса УД Отправка почтовых уведомлений%'
      open cur
      fetch next from cur into @cid
      while @@fetch_status=0
      begin  
EXEC [dbo].[dvsys_card_delete] @UserID,@SessionID, @cid,1
         fetch next from cur into @cid
      end
      close cur
      deallocate cur
end 

вторник, 10 октября 2017 г.

Как в оперативной памяти создать объект XMLDocument

//Создает поток в памяти
MemoryStream ms = new MemoryStream();

//Делаем экспорт в виде XML карточки cdLastReconciliation типа CardData в поток
cdLastReconciliation.SaveXml(ms);
StreamReader reader = new StreamReader(ms);
ms.Position=0;

XmlDocument xmldoc = new XmlDocument();
xmldoc.LoadXml(reader.ReadToEnd());

вторник, 25 октября 2016 г.

DV 5.4.2642 НО6 Ошибки в БП КС Основной процесс (CU6) Не удалось выполнить операцию: Создание новой версии основного файла

В БП на кубике-сценарии 'Согласование завершено' происходила ошибка:
Не удалось выполнить операцию: Создание новой версии основного файла

Оказалось, что это было из-за того, что в конструкторе состояний для состояния На регистрации  и Зарегистрирован не была сделана доступной операция редактирования:
- Создание новой версии основного файла.
И соответственно она не была доступна в конструкторе ролей для системной учетной записи workflow