вторник, 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