Your IP : 172.28.240.42


Current Path : /var/www/html/clients/wiki.e-nk.ru/data/cache/0/
Upload File :
Current File : /var/www/html/clients/wiki.e-nk.ru/data/cache/0/0b1791c82e0e2843e1942b714497d086.xhtml

<h3 class="sectionedit1" id="рассылка_уведомлений_через_роль_при_изменении_данных_справочника">Рассылка уведомлений через роль, при изменении данных справочника</h3>
<div class="level3">

<p>
<strong>Краткое описание:</strong>
</p>
<pre class="code">Рассылка уведомлений через роль, если в справочнике ДОГОВОРЫ, 
изменилось поле статус на: &quot;Документ подписан с двух сторон&quot;.</pre>

<p>
<strong>Событие: «Показ формы»</strong>
</p>
<pre class="code">//Первоначальный статус заносится в константу
str=format(&quot;%s|%s&quot;;arrayof(object.Requisites(&#039;SpisokStatus&#039;).displaytext;object.ID))
Конст(&#039;dgvstate&#039;;str)
//showmessage(&quot;Считываю данные в начале: &quot;&amp;Конст(&#039;dgvstate&#039;;str))
//showmessage(&quot;Название документа: &quot;&amp;object.Requisites(&#039;LongString&#039;).DisplayText&amp;CR&amp;&quot;Вид: //&quot;&amp;object.Requisites(&#039;RegisteringContractDocKind&#039;).DisplayText&amp;CR&amp;&quot;Статус: &quot;&amp;Конст(&#039;dgvstate&#039;)&amp;CR&amp;object.ID)</pre>

<p>
<strong>Событие: «Сохранение После»</strong>
</p>
<pre class="code">//-------- Уведомление о изменении статуса------- 
status_from_const=SubString(Конст(&#039;dgvstate&#039;);&quot;|&quot;;1)
object_id=SubString(Конст(&#039;dgvstate&#039;);&quot;|&quot;;2)
record=references.ДГВ.getobjectbyid(object_id)
objectinfo=references.ДГВ.ObjectInfoByCode(record.Requisites(&#039;Код&#039;).asstring)

state=record.Requisites(&#039;SpisokStatus&#039;).displaytext
//showmessage(Конст(&#039;dgvstate&#039;))
//showmessage(status_from_const&amp;CR&amp;object_id&amp;CR&amp;state)
if status_from_const&lt;&lt;&gt;&gt;state
  if state==&quot;Документ подписан с двух сторон&quot;
    RoleUser = ServiceFactory.GetRoleByName(&#039;Экономист&#039;)
    PerformerUserList = ServiceFactory.GetRoleMembers(RoleUser;nil)
    ContractName=record.Requisites(&#039;LongString&#039;).DisplayText
//    showmessage(&quot;Название договора: &quot;&amp;record.Requisites(&#039;LongString&#039;).DisplayText&amp;CR&amp;&quot;Вид: //&quot;&amp;record.Requisites(&#039;RegisteringContractDocKind&#039;).DisplayText&amp;CR&amp;&quot;Статус: &quot;&amp;Конст(&#039;dgvstate&#039;)&amp;CR&amp;record.ID)
//    showmessage(&quot;Отсылаю уведомление...&quot;)

    task=tasks.createnew()
    task.requisites(&#039;Subject&#039;).value= ContractName&amp;&quot; подписан с двух сторон&quot;
    i=1
    foreach x in PerformerUserList
      routestep = tasks.createroutestep(i;x;jkNotice;&quot;&quot;;&quot;&quot;;&quot;&quot;)
      task.route.add(routestep)
      i=i+1
    endforeach
    Task.CheckedTask = NO_VALUE
    attlist=task.getattachments(false)
    attlist.add(objectinfo)
    task.start()  
    else
//    showmessage(&quot;Не уведомлять&quot;)
  endif
endif                                             
//--------------------------------------------------</pre>

</div>