{"id":278646,"date":"2016-04-20T08:10:02","date_gmt":"2016-04-20T04:10:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=278646"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=278646","title":{"rendered":"\u041e\u043f\u044b\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0435\u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u043a\u0438 (\u0427\u0430\u0441\u0442\u044c 2. \u0418\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0439)"},"content":{"rendered":"<p>       \u0425\u043e\u0447\u0443 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0441\u0432\u043e\u0435\u0433\u043e \u043e\u043f\u044b\u0442\u0430 \u0443\u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u043a\u043e\u0440\u0440\u0435\u0441\u043f\u043e\u043d\u0434\u0435\u043d\u0446\u0438\u0439 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u043d\u043e\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438, \u043d\u0430\u0447\u0430\u0442\u044b\u0439 \u0432 <a href=\"https:\/\/habrahabr.ru\/company\/easla\/blog\/281839\/\">\u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435<\/a>. \u041d\u0430\u043f\u043e\u043c\u043d\u044e, \u0447\u0442\u043e \u0432\u043c\u0435\u0441\u0442\u043e elma \u0431\u044b\u043b\u0430 \u0432\u044b\u0431\u0440\u0430\u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 easla.com \u0438 \u0432 \u043d\u0435\u0439 \u0443\u0436\u0435 \u0431\u044b\u043b\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430.<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/231\/b6c\/dc6\/231b6cdc68f040ff9e6897ae3d3c62a4.png\"\/><br \/>  \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0448\u0430\u0433\u043e\u043c \u043a \u0446\u0435\u043b\u0438 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430. \u0422\u043e \u0431\u044b\u043b\u0438 \u0446\u0432\u0435\u0442\u043e\u0447\u043a\u0438\u2026 \u043f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c \u0435\u0449\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0442\u0435\u043a\u0441\u0442\u0430 \u0438 \u043a\u043e\u0434\u0430.<br \/>  <a name=\"habracut\"><\/a><br \/>  \u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u043c\u0443 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0443 \u043e\u043a\u0430\u0437\u0430\u043b\u0438\u0441\u044c \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u0435\u0435, \u0447\u0435\u043c \u043a \u0432\u0445\u043e\u0434\u044f\u0449\u0435\u043c\u0443. \u0415\u0441\u043b\u0438 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0432\u043e\u0434\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a, \u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f:  <\/p>\n<ul>\n<li>\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u043b\u044e\u0431\u044b\u043c \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u043c \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438<\/li>\n<li>\u0421\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u0430\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0438\u0441\u044c\u043c\u0430 (\u0440\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u043d\u0435 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e, \u043d\u043e \u0432 \u043e\u0434\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435)<\/li>\n<li>\u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0438\u0441\u044c\u043c\u0430<\/li>\n<li>\u0425\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u0444\u043e\u0440\u043c\u0430\u0442\u0430\u0445<\/li>\n<li>\u0425\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0430\u0440\u0445\u0438\u0432\u043d\u044b\u0445 (<a href=\"https:\/\/ru.wikipedia.org\/wiki\/ZIP\">zip<\/a>) \u0444\u0430\u0439\u043b\u043e\u0432 \u0441 \u043f\u0440\u043e\u0435\u043a\u0442\u043d\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0435\u0439 (\u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439 \u0438\u0437 <a href=\"http:\/\/www.tdms.ru\/\">TDMS<\/a> \u0438 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435\u043c \u0434\u043e\u043f. \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u0441\u0432\u044f\u0437\u0438 \u0441 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c\u0438)<\/li>\n<li>\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438 (\u044d\u043b. \u043f\u043e\u0447\u0442\u043e\u0439 \u043a\u0430\u043a \u0435\u0441\u0442\u044c, \u043e\u0434\u043d\u0438\u043c \u0430\u0440\u0445\u0438\u0432\u043e\u043c, \u043c\u043d\u043e\u0433\u043e\u0442\u043e\u043c\u043d\u044b\u043c \u0430\u0440\u0445\u0438\u0432\u043e\u043c, \u0440\u0430\u0441\u0448\u0430\u0440\u0438\u0432\u0430\u043d\u0438\u0435\u043c, \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439 \u043d\u0430 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/FTP\">ftp<\/a> \u0438 \u0442.\u043f.)<\/li>\n<\/ul>\n<p>  \u041a\u0430\u043a \u0432\u0438\u0434\u0438\u0442\u0435, \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0435\u043f\u0440\u043e\u0441\u0442\u044b\u0435. \u0418\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0442\u0430\u043a \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0442\u043d\u0435\u0441\u0441\u044f \u043a \u0432\u044b\u0431\u043e\u0440\u0443 \u043d\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0441\u044f \u043d\u0430 <a href=\"http:\/\/easla.com\">easla.com<\/a>. \u041d\u043e, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043f\u043e-\u043f\u043e\u0440\u044f\u0434\u043a\u0443.<br \/>  \u041d\u0430\u0447\u0430\u043b \u044f \u0441 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u00ab\u041f\u0435\u0440\u0435\u043f\u0438\u0441\u043a\u0430\u00bb \u0441\u043e\u0437\u0434\u0430\u043b \u043e\u0431\u044a\u0435\u043a\u0442 \u00ab\u0418\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u00bb \u0438 \u043f\u0435\u0440\u0435\u0448\u0435\u043b \u043a \u043d\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044e \u0435\u0433\u043e \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430\u043c\u0438. \u0418\u0445 \u0435\u0449\u0435 \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u0432\u043e \u0432\u0445\u043e\u0434\u044f\u0449\u0435\u043c!  <\/p>\n<h4>\u0410\u0442\u0440\u0438\u0431\u0443\u0442\u044b<\/h4>\n<p>  <\/p>\n<h5>\u041a\u043e\u043d\u0442\u0440\u0430\u0433\u0435\u043d\u0442<\/h5>\n<p>  \u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442 \u00ab\u041a\u043e\u043d\u0442\u0440\u0430\u0433\u0435\u043d\u0442\u00bb \u0438\u0437 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u00ab\u0417\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0438\u00bb. \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u00ab\u041f\u043e\u0441\u043b\u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u00bb:  <\/p>\n<pre><code class=\"php\">cobjectref()-&gt;attributeref('crs_management_outgoing_contragent')-&gt;values = prepareOutgoingContragents(); <\/code><\/pre>\n<p>  \u0412\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f prepareOutgoingContragents \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0430 \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u00ab\u0414\u043e \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u00bb:  <\/p>\n<pre><code class=\"php\">function prepareOutgoingContragents() {     $src_contragents = selectAll(       'crm_management',       'crm_management_contragent'     );     $end_contragents = array();     foreach ($src_contragents as $s)       $end_contragents += array($s['id'] =&gt; $s['description']);     asort($end_contragents);     return $end_contragents; } <\/code><\/pre>\n<p>  \u0412 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0440\u0430\u0433\u0435\u043d\u0442\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043e\u0432 \u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c\u043e\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u043f\u0438\u0441\u044c\u043c\u0430. \u0418 \u0435\u0441\u043b\u0438 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0441 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0430\u043c\u0438 \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u0432\u0441\u0435\u043c, \u0442\u043e \u0441 \u043f\u0440\u0430\u0432\u0438\u043b\u043e\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u2014 \u043d\u0435 \u043a\u0430\u0436\u0434\u043e\u043c\u0443. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043d\u0430\u0448\u0438 \u043a\u043e\u043d\u0442\u0440\u0430\u0433\u0435\u043d\u0442\u044b, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0438, \u043e\u0447\u0435\u043d\u044c \u043a\u0430\u043f\u0440\u0438\u0437\u043d\u044b \u0432 \u0447\u0430\u0441\u0442\u0438 \u043f\u0440\u0438\u0435\u043c\u0430 \u044d\u043b. \u043f\u043e\u0447\u0442\u044b. \u041c\u043d\u0435 \u0441\u043b\u043e\u0436\u043d\u043e \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u044c \u043f\u0440\u0438\u0447\u0438\u043d\u044b \u0442\u0430\u043a\u043e\u0433\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f, \u043d\u043e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043e\u0434\u043d\u0438 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0438 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442 \u044d\u043b. \u043f\u0438\u0441\u044c\u043c\u0430 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c \u043e\u0431\u044a\u0435\u043c\u043e\u043c 3\u041c\u0431 \u0438 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0442\u0440\u0435\u0431\u0443\u044e\u0442, \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u044e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0431\u044a\u0435\u043c\u043e\u043c \u0438 100\u041c\u0431, \u0438\u043c \u043f\u0440\u0438\u0441\u044b\u043b\u0430\u043b\u0438 \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e \u044d\u043b. \u043f\u043e\u0447\u0442\u0435. \u0414\u0440\u0443\u0433\u0438\u0435 \u0434\u043e\u043f\u0443\u0441\u043a\u0430\u044e\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0443 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0432\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0432 \u044d\u043b. \u043f\u0438\u0441\u044c\u043c\u0430\u0445, \u0441\u043a\u0430\u0436\u0435\u043c, \u043f\u043e\u0440\u044f\u0434\u043a\u0430 10-15\u041c\u0431, \u043d\u043e \u0442\u0440\u0435\u0431\u0443\u044e\u0442, \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 zip \u0438 \u043d\u0438 \u0432 \u043a\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435 \u043c\u043d\u043e\u0433\u043e\u0442\u043e\u043c\u043d\u044b\u043c \u0430\u0440\u0445\u0438\u0432\u043e\u043c. \u0422\u0440\u0435\u0442\u044c\u0438 \u043d\u0430\u0441\u0442\u0430\u0438\u0432\u0430\u044e\u0442 \u043d\u0430 \u0442\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043f\u0438\u0441\u044c\u043c\u043e \u0431\u044b\u043b\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e \u044d\u043b. \u043f\u043e\u0447\u0442\u043e\u0439 \u043d\u0430 \u0438\u0445 \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441, \u0430 \u0432\u0441\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0431\u044b\u043b\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u044b \u0438\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0438 \u0434\u0440\u0443\u0433\u0438\u043c \u0430\u0434\u0440\u0435\u0441\u0430\u0442\u0430\u043c. \u0427\u0435\u0442\u0432\u0435\u0440\u0442\u044b\u0435 \u043f\u0440\u043e\u0441\u044f\u0442 \u0432\u044b\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043a \u043f\u0438\u0441\u044c\u043c\u0430\u043c \u043d\u0430 \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u0443\u044e \u00ab\u0448\u0430\u0440\u0443\u00bb, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0438 \u043c\u043e\u0433\u043b\u0438 \u043e\u0442\u0442\u0443\u0434\u0430 \u0432\u0441\u0435 \u0441\u043a\u0430\u0447\u0430\u0442\u044c. \u041f\u0430\u0440\u0443 \u043d\u0435\u0434\u0435\u043b\u044c \u043d\u0430\u0437\u0430\u0434, \u043e\u0434\u0438\u043d \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u043b \u043f\u0440\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435 \u043f\u0438\u0441\u044c\u043c\u0430 \u0432\u0441\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u043d\u0430 \u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u044b\u0439 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/FTP\">FTP<\/a>, \u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b, \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438 \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043f\u0438\u0441\u044c\u043c\u043e \u0437\u0430\u043a\u0430\u0447\u0438\u0432\u0430\u043b\u043e\u0441\u044c \u043a \u043d\u0438\u043c \u043d\u0430 \u043f\u043e\u0440\u0442\u0430\u043b \u043f\u043e\u0434\u043d\u044f\u0442\u044b\u0439 \u043d\u0430 FrontPage \u0438 \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u043b\u043e\u0441\u044c \u043f\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u043c \u043f\u0430\u043f\u043a\u0430\u043c.<br \/>  \u0411\u044b\u043b\u043e \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u043f\u0440\u0438 \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u043a\u0435, \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u044f\u0442\u044c \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0441\u0435\u0445 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u043e\u0432 \u043f\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435 \u043f\u0438\u0441\u0435\u043c \u0431\u0443\u0434\u0435\u0442 \u0441\u043b\u043e\u0436\u043d\u043e. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043d\u043e \u043e\u0447\u0435\u043d\u044c \u0441\u043b\u043e\u0436\u043d\u043e. \u041f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u0443 \u043f\u043e \u0434\u0435\u043b\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0443, \u0438 \u0413\u0418\u041f\u0430\u043c \u043f\u043e\u043c\u043d\u0438\u0442\u044c, \u0432 \u043a\u0430\u043a\u043e\u043c \u0438\u043c\u0435\u043d\u043d\u043e \u0432\u0438\u0434\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u0438\u0441\u044c\u043c\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c\u0443 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0443. \u0418\u0437\u0434\u0435\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e, \u0430 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430!<br \/>  \u041c\u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u043e\u043c\u0430\u0442\u044c \u0441\u0435\u0431\u0435 \u0433\u043e\u043b\u043e\u0432\u0443, \u043a\u0430\u043a \u0431\u044b \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432\u0441\u0435 \u044d\u0442\u0438 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u0432 <a href=\"http:\/\/easla.com\">easla.com<\/a>, \u0447\u0442\u043e\u0431\u044b \u043e\u0431\u043b\u0435\u0433\u0447\u0438\u0442\u044c \u0442\u0440\u0443\u0434 \u0432\u0441\u0435\u0445 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430. \u0412 \u0438\u0442\u043e\u0433\u0435, \u044f \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u043b \u043e\u0431\u044a\u0435\u043a\u0442 \u00ab\u041a\u043e\u043d\u0442\u0440\u0430\u0433\u0435\u043d\u0442\u00bb \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u00ab\u0417\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0438\u00bb \u043f\u0443\u0442\u0435\u043c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a \u043d\u0435\u043c\u0443 \u0434\u0432\u0443\u0445 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432: \u043e\u0434\u0438\u043d \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c\u043e\u0433\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 (\u043e \u043d\u0435\u043c \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043d\u0438\u0436\u0435), \u0432\u0442\u043e\u0440\u043e\u0439 \u0434\u043b\u044f \u0441\u043f\u0438\u0441\u043a\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043e\u0432 (\u043e \u043d\u0435\u043c \u0442\u043e\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435).<br \/>  \u041a\u043e\u0440\u043e\u0447\u0435, \u0441\u043a\u0440\u0438\u043f\u0442 \u00ab\u041f\u0440\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438\u00bb \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u043c \u043a\u043e\u043d\u0442\u0440\u0430\u0433\u0435\u043d\u0442\u043e\u043c:  <\/p>\n<pre><code class=\"php\">if (!empty(cattributeref()-&gt;value)) {     $contacts = cobjectref()-&gt;prepareOutgoingContacts(cattributeref()-&gt;value);     cobjectref()-&gt;attributeref('crs_management_outgoing_contact')-&gt;values = $contacts;          $contracts = cobjectref()-&gt;prepareContracts(cattributeref()-&gt;value);     if (empty($contracts))         $contracts = cobjectref()-&gt;prepareContracts();     cobjectref()-&gt;attributeref('crs_management_outgoing_contract')-&gt;values = $contracts;          $default_rule = cobjectref()-&gt;calcContragentOutgoingRule(cattributeref()-&gt;value);     if (!empty($default_rule))         cobjectref()-&gt;attributeref('crs_management_outgoing_rule')-&gt;value = $default_rule;          $default_notifiers = cobjectref()-&gt;calcContragentOutgoingNotifiers(cattributeref()-&gt;value);     if (!empty($default_notifiers))         cobjectref()-&gt;attributeref('crs_management_outgoing_notifiers')-&gt;value = $default_notifiers;              \/\/if (cobjectref()-&gt;attributeref('crs_management_outgoing_contragent')-&gt;value == 45410)      } cobjectref()-&gt;attributeref('crs_management_outgoing_cntnum')-&gt;value = cobjectref()-&gt;updateDocumentCntNum(); cobjectref()-&gt;attributeref('crs_management_outgoing_regnum')-&gt;value = cobjectref()-&gt;calcOutgoingCode(); <\/code><\/pre>\n<p>  \u041a\u0441\u0442\u0430\u0442\u0438, \u0434\u0432\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0441\u0442\u0440\u043e\u0447\u043a\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0442\u043e\u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u043d\u0435\u0434\u0430\u0432\u043d\u043e. \u0421\u0432\u044f\u0437\u0430\u043d\u043e \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u043e\u0434\u0438\u043d \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b \u043e\u0442 \u043d\u0430\u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0441\u0432\u043e\u0438 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0435 \u043e\u0442 \u043d\u0430\u0448\u0438\u0445. \u0412\u043e\u0442 \u0442\u0430\u043a\u0438\u0435 \u043e\u043d\u0438 \u2013 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0438!<\/p>\n<h5>\u041a\u043e\u043d\u0442\u0430\u043a\u0442<\/h5>\n<p>  \u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442 \u00ab\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u00bb \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u00ab\u0417\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0438\u00bb. \u041a\u0430\u043a \u0438 \u0441\u043f\u0438\u0441\u043e\u043a \u043a\u043e\u043d\u0442\u0440\u0430\u0433\u0435\u043d\u0442\u043e\u0432, \u0441\u043f\u0438\u0441\u043e\u043a \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043e\u0432 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u00ab\u041f\u043e\u0441\u043b\u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u00bb:  <\/p>\n<pre><code class=\"php\">$contacts = prepareOutgoingContacts(); cobjectref()-&gt;attributeref('crs_management_outgoing_contact')-&gt;values = $contacts; <\/code><\/pre>\n<p>  \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f prepareOutgoingContacts \u0442\u043e\u0447\u043d\u043e \u0442\u0430\u043a\u0436\u0435 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0430 \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u00ab\u0414\u043e \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u00bb:  <\/p>\n<pre><code class=\"php\">function prepareOutgoingContacts($contragent = null) {     if (empty($contragent))         $src_contacts = selectAll(           'crm_management',           'crm_management_contact',           array('crm_management_contact_contragent.description'),           null         );     else         $src_contacts = selectAll(           'crm_management',           'crm_management_contact',           array('crm_management_contact_contragent.description'),           array('crm_management_contact_contragent'=&gt;$contragent)         );          $end_contacts = array();     $processed_contact = array();      $processed_description = array();     foreach ($src_contacts as $s)     {         $e = array_search($s['description'], $processed_description);         if($e === false) {             $processed_contact += array($s['id'] =&gt; $s);             $processed_description += array($s['id'] =&gt; $s['description']);             $end_contacts += array($s['id'] =&gt; $s['description']);         } else {             $end_contacts[$e] = $processed_contact[$e]['description'].' ['.trim($processed_contact[$e]['crm_management_contact_contragent.description']).']';             $end_contacts += array($s['id'] =&gt; $s['description'].' ['.trim($s['crm_management_contact_contragent.description']).']');         }     }     unset($processed_contact,$processed_description);     asort($end_contacts);     return $end_contacts; } <\/code><\/pre>\n<p>  \u0424\u0443\u043d\u043a\u0446\u0438\u044f, \u043a\u0430\u043a \u0438 \u0435\u0435 \u00ab\u0441\u0435\u0441\u0442\u0440\u0430\u00bb \u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u0435 \u00ab\u0412\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u00bb, \u043a\u043e \u0432\u0441\u0435\u043c \u043f\u043e\u043b\u043d\u044b\u043c \u0442\u0435\u0437\u043a\u0430\u043c \u0434\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043e\u043d\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442, \u0447\u0442\u043e\u0431\u044b \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043e\u0442\u043b\u0438\u0447\u0438\u0442\u044c.<br \/>  \u0420\u0430\u0434\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430, \u0441\u043a\u0440\u0438\u043f\u0442 \u00ab\u041f\u0440\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438\u00bb \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0430 \u0438 \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c \u043a\u043e\u043d\u0442\u0440\u0430\u0433\u0435\u043d\u0442\u0435, \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0443\u0436\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0440\u0430\u0433\u0435\u043d\u0442\u0430 \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0445 \u043e\u0442 \u043d\u0435\u0433\u043e \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432:  <\/p>\n<pre><code class=\"php\">if (empty(cobjectref()-&gt;attributeref('crs_management_outgoing_contact')-&gt;value))     return;      if (empty(cobjectref()-&gt;attributeref('crs_management_outgoing_contragent')-&gt;value)) {     $contact = select(cobjectref()-&gt;attributeref('crs_management_outgoing_contact')-&gt;value);          if (empty($contact))         return;          $contragent_id = $contact-&gt;attributeref('crm_management_contact_contragent')-&gt;value;     cobjectref()-&gt;attributeref('crs_management_outgoing_contragent')-&gt;value = $contragent_id;          $contracts = cobjectref()-&gt;prepareContracts($contragent_id);     if (empty($contracts))         $contracts = cobjectref()-&gt;prepareContracts();     cobjectref()-&gt;attributeref('crs_management_outgoing_contract')-&gt;values = $contracts;          $default_rule = cobjectref()-&gt;calcContragentOutgoingRule($contragent_id);     if (!empty($default_rule))         cobjectref()-&gt;attributeref('crs_management_outgoing_rule')-&gt;value = $default_rule;          $default_notifiers = cobjectref()-&gt;calcContragentOutgoingNotifiers($contragent_id);     if (!empty($default_notifiers))         cobjectref()-&gt;attributeref('crs_management_outgoing_notifiers')-&gt;value = $default_notifiers; } cobjectref()-&gt;attributeref('crs_management_outgoing_cntnum')-&gt;value = cobjectref()-&gt;updateDocumentCntNum(); cobjectref()-&gt;attributeref('crs_management_outgoing_regnum')-&gt;value = cobjectref()-&gt;calcOutgoingCode(); <\/code><\/pre>\n<p>  \u0412\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a:<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/860\/b3e\/f05\/860b3ef051984c978cd3c095efed9246.png\"\/><\/p>\n<h5>\u0414\u043e\u043f. \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u044b<\/h5>\n<p>  \u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442 \u00ab\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u00bb \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u00ab\u0417\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0438\u00bb. \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u0432 \u043a\u043e\u043f\u0438\u044e \u043f\u0440\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435 \u043f\u0438\u0441\u044c\u043c\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u0430\u0434\u0440\u0435\u0441\u0430\u0442\u0430\u043c. \u041a\u0430\u043a \u0440\u0430\u0437 \u0432 \u044d\u0442\u043e\u0442 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u044b, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0435 \u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u0435 \u00ab\u041a\u043e\u043d\u0442\u0440\u0430\u0433\u0435\u043d\u0442\u00bb, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043a\u043e\u043f\u0438\u0438 \u043f\u0438\u0441\u044c\u043c\u0430, \u0435\u0441\u043b\u0438 \u043e\u043d\u043e \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c\u0443 \u043a\u043e\u043d\u0442\u0440\u0430\u0433\u0435\u043d\u0442\u0443.<br \/>  \u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430\u0441\u044c \u043e\u0447\u0435\u043d\u044c \u0443\u0434\u043e\u0431\u043d\u0430\u044f, \u0442.\u043a. \u0440\u0430\u043d\u044c\u0448\u0435, \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442 \u043f\u043e \u0434\u0435\u043b\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0443 \u0438 \u0413\u0418\u041f\u044b \u043e\u0431\u043a\u043b\u0435\u0438\u0432\u0430\u043b\u0438 \u0441\u0432\u043e\u0438 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u044b \u043b\u0438\u043f\u043a\u0438\u043c\u0438 \u0431\u0443\u043c\u0430\u0436\u043a\u0430\u043c\u0438, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u044b\u043b\u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0430 \u0438 \u0441\u043f\u0438\u0441\u043e\u043a \u043b\u0438\u0446, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043a\u043e\u043f\u0438\u0438 \u043f\u0438\u0441\u0435\u043c. \u0412\u043c\u0435\u0441\u0442\u043e \u0431\u0443\u043c\u0430\u0436\u0435\u043a \u0442\u0435\u043f\u0435\u0440\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f <a href=\"http:\/\/easla.com\">easla.com<\/a> \u0438 \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0435\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u044b \u0432 \u043a\u043e\u043f\u0438\u0438.<\/p>\n<h5>\u0414\u043e\u043f. \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u044f\u0442\u044c \u043f\u043e \u044d\u043b. \u043f\u043e\u0447\u0442\u0435<\/h5>\n<p>  \u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442 \u00ab\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u00bb \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u00ab\u0417\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0438\u00bb. \u041e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u043f. \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0430\u0434\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043e\u043f\u043e\u0432\u0435\u0449\u0430\u0442\u044c \u043a\u043e\u043f\u0438\u0435\u0439 \u043f\u0438\u0441\u044c\u043c\u0430. \u0417\u0430\u0447\u0430\u0441\u0442\u0443\u044e \u044d\u0442\u043e \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0434\u0430\u0436\u0435 \u043d\u0435 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0438 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0430, \u0430 \u0441\u043a\u0430\u0436\u0435\u043c, \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0438 \u0433\u043e\u043b\u043e\u0432\u043d\u043e\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0438\u043b\u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0443\u044e\u0449\u0435\u0433\u043e \u043e\u0440\u0433\u0430\u043d\u0430.<\/p>\n<h5>\u041f\u0440\u0430\u0432\u0438\u043b\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438<\/h5>\n<p>  \u041a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u043f\u0438\u0441\u044c\u043c\u0430 \u0430\u0434\u0440\u0435\u0441\u0430\u0442\u0443. \u041d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0438\u0439 \u0434\u0435\u043d\u044c \u0443 \u043d\u0430\u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f 16 \u043f\u0440\u0430\u0432\u0438\u043b \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438. \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0446\u0438\u0444\u0440\u0430\u0445, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:  <\/p>\n<ul>\n<li>\u0412\u0441\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0432\u0441\u0435\u043c (\u043f\u0438\u0441\u044c\u043c\u043e \u043d\u0435 \u0431\u043e\u043b\u0435\u0435 3\u041c\u0431) <\/li>\n<li>\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u043e\u0441\u043d. \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0443, \u0432\u0441\u0435 \u0432\u0441\u0435\u043c \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c (\u0431\u043e\u043b\u044c\u0448\u0435 5\u041c, \u0430\u0440\u0445\u0438\u0432\u044b \u043f\u043e 4.5\u041c)<\/li>\n<li>\u0412\u0441\u0435\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u0430\u0440\u0445\u0438\u0432 \u0441 \u043f\u0438\u0441\u044c\u043c\u043e\u043c \u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438<\/li>\n<li>\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u043e\u0441\u043d. \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0443, \u0432\u0441\u0435\u043c \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u0430\u0440\u0445\u0438\u0432 \u0441 \u043f\u0438\u0441\u044c\u043c\u043e\u043c \u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438<\/li>\n<li>\u0412\u0441\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0432\u0441\u0435\u043c (\u0431\u043e\u043b\u044c\u0448\u0435 3\u041c, \u0430\u0440\u0445\u0438\u0432\u044b \u043f\u043e 2.5\u041c)<\/li>\n<li>\u0412\u0441\u0435 \u043f\u0435\u0440\u0435\u043b\u043e\u0436\u0438\u0442\u044c \u043d\u0430 ftp.sngp.ru \u0434\u043b\u044f \u041e\u041e\u041e \u00ab\u0417\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u00bb<\/li>\n<li>\u0412\u0441\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043a\u0430\u043a \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u043f\u043e\u0440\u0442\u0430\u043b pro.blablabla.ru<\/li>\n<\/ul>\n<p>  \u0421\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 \u00ab\u041f\u0440\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438\u00bb:  <\/p>\n<pre><code class=\"php\">$src_classificators = classificatorChilds('crs_outgoing_rule'); $end_classificators = array(); $default = 'crs_outgoing_rule_asis_max5'; $default_index = null; foreach($src_classificators as $c) {   $end_classificators += array($c['id']=&gt;$c['name']);   if ($c['code'] == $default)     $default_index = $c['id']; } if (count($end_classificators) &gt; 0) {   cattributeref()-&gt;values=$end_classificators;   cattributeref()-&gt;value = is_null($default_index) ? key($end_classificators) : $default_index; } <\/code><\/pre>\n<p>  \u041f\u043e\u043b\u0435\u0437\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f classificatorChilds \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043f\u0440\u044f\u043c\u044b\u0445 \u043f\u043e\u0442\u043e\u043c\u043a\u043e\u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430. \u041e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0435\u0431\u0440\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u0430\u0441\u0441\u0438\u0432 \u0438 \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u0442\u044c \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0443.<br \/>  \u041f\u0440\u0430\u0432\u0438\u043b\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0432 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0438 \u00ab\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043f\u043e \u044d\u043b. \u043f\u043e\u0447\u0442\u0435\u00bb, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0431\u0443\u0434\u0435\u0442 \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u043d\u0438\u0436\u0435.<\/p>\n<h5>\u0414\u0430\u0442\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438<\/h5>\n<p>  \u041e\u0447\u0435\u0432\u0438\u0434\u043d\u043e \u0438\u0437 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f, \u0447\u0442\u043e \u0445\u0440\u0430\u043d\u0438\u0442 \u0434\u0430\u0442\u0443 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430. \u0418\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0434\u0430\u0442\u0435 \u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 \u00ab\u041f\u0440\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438\u00bb:  <\/p>\n<pre><code class=\"php\">cobjectref()-&gt;attributeref('crs_management_outgoing_regdate')-&gt;value = currentDateTime(); <\/code><\/pre>\n<h5>\u0414\u0430\u0442\u0430 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438<\/h5>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u0438\u0437 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f, \u0447\u0442\u043e \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0445\u0440\u0430\u043d\u0438\u0442 \u0434\u0430\u0442\u0443 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438. \u041e\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f, \u0442.\u0435. \u0441\u0430\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0435\u0433\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c. \u0412 \u0440\u0435\u0436\u0438\u043c \u00ab\u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f\u00bb \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u00ab\u041f\u0440\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438\u00bb:  <\/p>\n<pre><code class=\"php\">cattributeref()-&gt;readonly = true; <\/code><\/pre>\n<h5>\u0418\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u0438<\/h5>\n<p>  \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 (\u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0438) \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438, \u0443\u0447\u0430\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043f\u0438\u0441\u044c\u043c\u0430. \u0410\u0442\u0440\u0438\u0431\u0443\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439, \u0442\u0430\u043a \u043a\u0430\u043a \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043f\u0438\u0441\u044c\u043c\u0430 \u043c\u043e\u0436\u0435\u0442 \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432. \u0412\u043e \u0432\u0440\u0435\u043c\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 (\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f) \u043f\u0438\u0441\u044c\u043c\u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438, \u0435\u0441\u043b\u0438 \u043e\u043d \u043d\u0435 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a \u0443\u0437\u043a\u043e\u043c\u0443 \u043a\u0440\u0443\u0433\u0443 \u043b\u0438\u0446, \u043e\u0447\u0435\u0440\u0447\u0435\u043d\u043d\u043e\u043c\u0443 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c\u0438 \u0432 \u043a\u043e\u0434\u0435 \u0433\u0440\u0443\u043f\u043f\u0430\u043c\u0438, \u0442\u043e \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430. \u041a\u0430\u0436\u0434\u044b\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u0430\u043c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u0435\u0431\u044f \u0432 \u0441\u043f\u0438\u0441\u043e\u043a \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u0435\u0439, \u0435\u0441\u043b\u0438 \u0445\u043e\u0447\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e\u0431 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435 \u043f\u0438\u0441\u044c\u043c\u0430. \u041a\u0441\u0442\u0430\u0442\u0438, \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0438 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0431\u043b\u0430\u043d\u043a\u0430 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u043f\u0438\u0441\u044c\u043c\u0430 \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c \u0438\u0445 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u043e\u0432 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u0438.<br \/>  \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u00ab\u041f\u0440\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438\u00bb:  <\/p>\n<pre><code class=\"php\">$src_users = corganization()-&gt;allUsers(); $end_users = array(); foreach($src_users as $u)      if ($u['islocked'] == 0)         $end_users += array($u['id']=&gt;$u['description']); asort($end_users); cobjectref()-&gt;attributeref('crs_management_outgoing_performers')-&gt;values = $end_users; if (!empty(cuser()))  {     $rsp_users = corganization()-&gt;allUsersByGroups(array(         'group_general_manager',         'group_general_engineer',         'group_general_manager_operations',         'group_general_manager_economics',         'group_gip',         'group_hr',         'group_dp'         ), null);     $f = true;     foreach($rsp_users as $u)         if ($u['id'] == cuser()-&gt;id) {             $f = false;             break;         }     if ($f) {         cobjectref()-&gt;attributeref('crs_management_outgoing_performers')-&gt;value = cuser()-&gt;id;         cobjectref()-&gt;updateResponsibleGroup();     } } <\/code><\/pre>\n<p>  \u0412\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f updateResponsibleGroup \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0430 \u0434\u043b\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 \u00ab\u041e\u0442\u0432. \u043f\u043e\u0434\u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435\u00bb \u0438 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0430 \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u00ab\u0414\u043e \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u00bb:  <\/p>\n<pre><code class=\"php\">function updateResponsibleGroup() {     if (empty(cobjectref()-&gt;attributeref('crs_management_outgoing_performers')-&gt;value))         return;              if (empty(cobjectref()-&gt;attributeref('crs_management_outgoing_responsiblegroup')-&gt;value))     {         $performers = cobjectref()-&gt;attributeref('crs_management_outgoing_performers')-&gt;value;         $user = corganization()-&gt;user($performers[0]);         if (empty($user))             return;                      $groups = $user-&gt;groups();         foreach($groups as $group)         if (!empty($group['data_one']))         {             cobjectref()-&gt;attributeref('crs_management_outgoing_responsiblegroup')-&gt;value = $group['id'];             break;         }     } } <\/code><\/pre>\n<p>  \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0441\u043a\u0440\u0438\u043f\u0442 \u00ab\u041f\u0440\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438\u00bb, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u043f\u043e\u0434\u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0432 \u0444\u043e\u0440\u043c\u0435 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430:  <\/p>\n<pre><code class=\"php\">if (!empty(cobjectref()-&gt;attributeref('crs_management_outgoing_performers')-&gt;value) && empty(cobjectref()-&gt;attributeref('crs_management_outgoing_responsiblegroup')-&gt;value))     cobjectref()-&gt;updateResponsibleGroup(); <\/code><\/pre>\n<h5>\u041e\u0442\u0432. \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a<\/h5>\n<p>  \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 (\u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0438) \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0435 \u043f\u0438\u0441\u044c\u043c\u043e. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0438\u0441\u044c\u043c\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u044b\u0441\u0448\u0438\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0438, \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0438\u043a \u043e\u0442\u0434\u0435\u043b\u0430 \u043a\u0430\u0434\u0440\u043e\u0432 \u0438 \u0413\u0418\u041f\u044b. \u041f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0445 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u00ab\u041f\u0440\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438\u00bb:  <\/p>\n<pre><code class=\"php\">$src_users = corganization()-&gt;allUsersByGroups(array(     'group_general_manager',     'group_general_engineer',     'group_general_manager_operations',     'group_general_manager_economics',     'group_gip_only',     'group_hr'     ), null);      $end_users = array(); foreach($src_users as $u)      if ($u['islocked'] == 0)         $end_users += array($u['id']=&gt;$u['description']); asort($end_users); cobjectref()-&gt;attributeref('crs_management_outgoing_responsibleuser')-&gt;values = $end_users; <\/code><\/pre>\n<p>  \u0424\u0443\u043d\u043a\u0446\u0438\u044f allUsersByGroups \u043f\u0440\u043e\u0441\u0442\u043e \u00ab\u043f\u0430\u043b\u043e\u0447\u043a\u0430-\u0432\u044b\u0440\u0443\u0447\u0430\u043b\u043e\u0447\u043a\u0430\u00bb, \u043a\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u0433\u0440\u0443\u043f\u043f\u044b \u0438\u043b\u0438 \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442.<br \/>  \u041f\u0440\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430\u043b\u0438\u0447\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0435 \u00ab\u041e\u0442\u0432. \u043f\u043e\u0434\u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435\u00bb. \u0412 \u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u043e\u043d\u043e \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442, \u0442.\u0435. \u0432 \u043f\u0438\u0441\u044c\u043c\u0435 \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c, \u0432 \u043d\u0435\u0433\u043e \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435, \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043e\u0442\u0432. \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a:  <\/p>\n<pre><code class=\"php\">if (!empty(cattributeref()-&gt;value) && empty(cobjectref()-&gt;attributeref('crs_management_outgoing_responsiblegroup')-&gt;value)) {     $user = corganization()-&gt;user(cattributeref()-&gt;value);     $groups = $user-&gt;groups();     foreach ($groups as $group)         if (is_numeric($group-&gt;data_one))         {             cobjectref()-&gt;attributeref('crs_management_outgoing_responsiblegroup')-&gt;value = $group-&gt;id;             break;         } } cobjectref()-&gt;attributeref('crs_management_outgoing_regnum')-&gt;value = cobjectref()-&gt;calcOutgoingCode(); <\/code><\/pre>\n<p>  \u041e\u0447\u0435\u043d\u044c \u0440\u0430\u0434\u0443\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0442\u0430\u043a\u0438\u0435 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0444\u043e\u0440\u043c\u044b \u0432 easla.com. \u0418\u0437\u043c\u0435\u043d\u044f\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043e\u0434\u043d\u0438\u0445 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432, \u043c\u043e\u0433\u0443 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u0432 \u043b\u044e\u0431\u043e\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438! \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u0430\u043a\u043e\u0435 \u0436\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 Sharepoint.<\/p>\n<h5>\u041e\u0442\u0432. \u043f\u043e\u0434\u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435<\/h5>\n<p>  \u0413\u0440\u0443\u043f\u043f\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u2013 \u043f\u043e\u0434\u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430. <br \/>  \u0412\u0441\u0435 \u043f\u043e\u0434\u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0432 \u043d\u0430\u0448\u0435\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0438\u043c\u0435\u044e\u0442 \u0441\u0432\u043e\u0438 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0435 (\u0434\u0440\u043e\u0431\u043d\u044b\u0435) \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u043d\u044b\u0435 \u043e\u0442\u0434\u0435\u043b\u043e\u043c \u043a\u0430\u0434\u0440\u043e\u0432. \u041d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u043e\u043d\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0433\u0434\u0435-\u0442\u043e \u0435\u0449\u0435, \u043d\u043e \u0432 \u043c\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u043e\u043d\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0434\u043b\u044f \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u043f\u0438\u0441\u044c\u043c\u0430. \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u043a\u043e\u0433\u0434\u0430 \u044f \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b \u0433\u0440\u0443\u043f\u043f\u044b \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432 easla.com, \u0432 \u0442\u0430\u043a \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0435 \u00ab\u043f\u0435\u0440\u0432\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435\u00bb \u0432\u043f\u0438\u0441\u0430\u043b \u0438 \u044d\u0442\u0438 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b.<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/978\/8cc\/c60\/9788ccc60f7a4813b62f0fd84f4294d6.png\"\/><br \/>  \u041f\u0440\u0438 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0441\u043f\u0438\u0441\u043a\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u043e\u0442\u0432. \u043f\u043e\u0434\u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u00ab\u041f\u0440\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438\u00bb \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u00ab\u043f\u0435\u0440\u0432\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445\u00bb \u0438 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0433\u0440\u0443\u043f\u043f\u044b \u0432 \u0441\u043f\u0438\u0441\u043e\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u0438\u0445 \u043d\u0430\u043b\u0438\u0447\u0438\u0438:  <\/p>\n<pre><code class=\"php\">$src_groups = corganization()-&gt;groups(); $end_groups = array(); foreach($src_groups as $g)      if (!empty($g['data_one']))         $end_groups += array($g['id']=&gt;$g['name']); asort($end_groups); cobjectref()-&gt;attributeref('crs_management_outgoing_responsiblegroup')-&gt;values = $end_groups; <\/code><\/pre>\n<p>  \u041f\u0440\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u043e\u0442\u0432. \u043f\u043e\u0434\u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u043d\u043e\u043c\u0435\u0440\u0430 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430:  <\/p>\n<pre><code class=\"php\">cobjectref()-&gt;attributeref('crs_management_outgoing_regnum')-&gt;value = cobjectref()-&gt;calcOutgoingCode(); <\/code><\/pre>\n<p>  \u0412\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f calcOutgoingCode \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0430 \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u00ab\u0414\u043e \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u00bb:  <\/p>\n<pre><code class=\"php\">function calcOutgoingCode() {     if (empty(cobjectref()-&gt;attributeref('crs_management_outgoing_contragent')-&gt;value))         return;              if (empty(cobjectref()-&gt;attributeref('crs_management_outgoing_cntnum')-&gt;value))         return;          if (!empty(cobjectref()-&gt;attributeref('crs_management_outgoing_content')-&gt;value) &&         cobjectref()-&gt;attributeref('crs_management_outgoing_contragent')-&gt;value == 45410 &&         cobjectref()-&gt;attributeref('crs_management_outgoing_content')-&gt;value == 1192) {         \/\/This is ZapSib-2 Project                  if (empty(cobjectref()-&gt;attributeref('crs_management_outgoing_content')-&gt;value))             return;                      $content = classificator(cobjectref()-&gt;attributeref('crs_management_outgoing_content')-&gt;value);                  if (empty($content))             return;                  $content_code = $content['data_one'];                  if (empty($content_code))             return;                  \/\/TRANSMITTAL         return sprintf('TNGP-NPG-ZS2-0311-%s-%05d',              $content_code,             cobjectref()-&gt;attributeref('crs_management_outgoing_cntnum')-&gt;value         );     }          if (empty(cobjectref()-&gt;attributeref('crs_management_outgoing_responsibleuser')-&gt;value))         return;          if (empty(cobjectref()-&gt;attributeref('crs_management_outgoing_responsiblegroup')-&gt;value))         return;              $group_code = str_replace('.','-',corganization()-&gt;group(cobjectref()-&gt;attributeref('crs_management_outgoing_responsiblegroup')-&gt;value)-&gt;data_one);     $user_code = mb_substr(corganization()-&gt;allUser(cobjectref()-&gt;attributeref('crs_management_outgoing_responsibleuser')-&gt;value)-&gt;lastname, 0, 2);          return sprintf(         '%s\/%s-%s',         $group_code,         $user_code,         cobjectref()-&gt;attributeref('crs_management_outgoing_cntnum')-&gt;value     ); } <\/code><\/pre>\n<p>  \u0414\u043e \u043d\u0435\u0434\u0430\u0432\u043d\u0435\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0431\u044b\u043b\u0430 \u043a\u0443\u0434\u0430 \u043f\u0440\u043e\u0449\u0435, \u043d\u043e \u0438\u0437-\u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439, \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0432\u043d\u0435\u0441\u0442\u0438 \u0432 \u043d\u0435\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0430 \u0438 \u0442\u0438\u043f \u043f\u0438\u0441\u044c\u043c\u0430. \u0412 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u043c\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430\u043c\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430.<\/p>\n<h5>\u041f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440<\/h5>\n<p>  \u041f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0441\u0432\u043e\u044e \u043d\u0443\u043c\u0435\u0440\u0430\u0446\u0438\u044e \u043a\u0430\u0436\u0434\u044b\u0439 \u0433\u043e\u0434 \u0437\u0430\u043d\u043e\u0432\u043e. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0432 <a href=\"http:\/\/easla.com\">easla.com<\/a> \u043d\u0443\u043c\u0435\u0440\u0430\u0442\u043e\u0440 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c. \u041f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0432\u043e\u0439.<br \/>  \u041a\u0440\u043e\u043c\u0435 \u044d\u0442\u043e\u0433\u043e, \u043e\u0434\u0438\u043d \u0438\u0437 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u043e\u0432 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u0432\u043e\u0437\u043d\u0443\u044e \u043d\u0443\u043c\u0435\u0440\u0430\u0446\u0438\u044e \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u0441\u0432\u043e\u0438\u0445 \u043f\u0438\u0441\u0435\u043c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0443\u043c\u0435\u0440\u0430\u0446\u0438\u044f \u0443 \u043d\u0430\u0441 \u043a\u0430\u043a \u0431\u044b \u0434\u0432\u043e\u0439\u043d\u0430\u044f. \u041e\u0431\u044b\u0447\u043d\u0430\u044f \u0434\u043b\u044f \u043f\u0438\u0441\u0435\u043c \u0441 \u043d\u0430\u0448\u0438\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u043d\u043e\u043c\u0435\u0440\u043e\u043c \u0438 \u043d\u0435\u043e\u0431\u044b\u0447\u043d\u0430\u044f \u0434\u043b\u044f \u043f\u0438\u0441\u0435\u043c \u0441 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u043d\u043e\u043c\u0435\u0440\u043e\u043c \u0437\u0430\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u043e\u043c.<br \/>  \u041f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u043e\u0433\u043e \u043d\u043e\u043c\u0435\u0440\u0430:  <\/p>\n<pre><code class=\"php\">cattributeref()-&gt;value = cobjectref()-&gt;updateDocumentCntNum(); <\/code><\/pre>\n<p>  \u0412\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f updateDocumentCntNum \u0442\u0430\u043a\u0436\u0435 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0430 \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u00ab\u0414\u043e \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u00bb:  <\/p>\n<pre><code class=\"php\">function updateDocumentCntNum() {     if (cobjectref()-&gt;isNewRecord || empty(cobjectref()-&gt;attributeref('crs_management_outgoing_cntnum')-&gt;value))     {         if (!empty(cobjectref()-&gt;attributeref('crs_management_outgoing_contragent')-&gt;value) &&              !empty(cobjectref()-&gt;attributeref('crs_management_outgoing_content')-&gt;value) &&             cobjectref()-&gt;attributeref('crs_management_outgoing_contragent')-&gt;value == 45410 &&             cobjectref()-&gt;attributeref('crs_management_outgoing_content')-&gt;value == 1192)         {             $num = selectAggregateAll(                 'max',                 'crs_management',                 'crs_management_outgoing',                 'crs_management_outgoing_cntnum',                 array(                     'crs_management_outgoing_contragent'=&gt;array('id',cobjectref()-&gt;attributeref('crs_management_outgoing_contragent')-&gt;value),                     'crs_management_outgoing_content'=&gt;array('id',cobjectref()-&gt;attributeref('crs_management_outgoing_content')-&gt;value)                 )             );             return $num + 1;         }              $year = date_format(currentDateTime(), 'Y');              $condition = array(             'crs_management_outgoing_regdate'=&gt;array('between', $year.'-01-01', $year.'-12-31'),         );         switch ($year) {             case '2016':                 $condition['crs_management_outgoing_cntnum'] = '&lt;4489';                 $tmp = selectAggregateAll(                     'max',                     'crs_management',                     'crs_management_outgoing',                     'crs_management_outgoing_cntnum',                     $condition                 );                 if ($tmp == 4488) {                     unset($condition['crs_management_outgoing_cntnum']);                 } else {                     return $tmp + 1;                 }                 break;         }              $num = selectAggregateAll(             'max',             'crs_management',             'crs_management_outgoing',             'crs_management_outgoing_cntnum',             $condition         );         return $num + 1;     } else {         return cobjectref()-&gt;attributeref('crs_management_outgoing_cntnum')-&gt;value;     } } <\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u044b \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043d\u0430 \u043a\u043e\u0434, \u0442\u043e \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u0441\u0442\u0440\u0430\u043d\u043d\u043e\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 case &#8216;2016&#8217;. \u042d\u0442\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043d\u0430\u0448\u0438\u0445 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c. \u0423 \u043d\u0430\u0441 \u0442\u043e\u0436\u0435 \u0431\u044b\u0432\u0430\u0435\u0442 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u00ab\u0437\u0430\u0434\u043d\u0438\u043c \u0447\u0438\u0441\u043b\u043e\u043c\u00bb, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 <a href=\"http:\/\/easla.com\">easla.com<\/a> \u044f \u043d\u0435 \u0441\u0442\u0430\u043b \u0434\u0435\u043b\u0430\u0442\u044c \u00ab\u043e\u0442\u0441\u0435\u0447\u043a\u0443\u00bb \u043d\u0430 \u043f\u043e\u043f\u044b\u0442\u043a\u0443 \u043e\u0431\u043c\u0430\u043d\u0430. \u041a\u0430\u043a \u0431\u044b, \u0432\u0441\u0435 \u043d\u0430 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f. \u0412\u043e\u0442 \u0438 \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0433\u043e\u0434\u0430 \u043f\u0438\u0441\u044c\u043c\u0430 \u0441 \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e\u0434\u043d\u0438\u043c\u0438 \u043d\u043e\u043c\u0435\u0440\u0430\u043c\u0438. \u0418 \u0434\u0430\u0436\u0435 \u0443\u0441\u043f\u0435\u043b\u0438 \u0438\u0445 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c! \u041f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0438 \u043e\u0442\u0441\u0435\u043a\u0430\u0442\u044c \u0442\u0430\u043a\u0438\u0435 \u043f\u0438\u0441\u044c\u043c\u0430, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043d\u0443\u043c\u0435\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0438\u0441\u044c\u043c\u0430 \u0432 \u043d\u044b\u043d\u0435\u0448\u043d\u0435\u043c \u0433\u043e\u0434\u0443.<br \/>  \u041e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043e\u0431\u0440\u0430\u0449\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044e selectAggregateAll. \u041e\u043d\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0432 \u043c\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e\u0432\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 &#8216;crs_management_outgoing_cntnum&#8217; \u043e\u0431\u044a\u0435\u043a\u0442\u0430 &#8216;crs_management_outgoing&#8217; \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 &#8216;crs_management&#8217;. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u043f\u043e\u0438\u0441\u043a\u0430 $condition, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0432\u044b\u0448\u0435.<\/p>\n<p>  \u0412 \u0442\u043e\u0439 \u0436\u0435 elma \u043c\u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043e\u0442\u043a\u0430\u0437\u0430\u0442\u044c \u043e\u0442 \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430 \u0432 \u043f\u043e\u043b\u044c\u0437\u0443 \u043e\u0431\u0445\u043e\u0434\u043d\u043e\u0433\u043e. \u0412\u043e\u0442 \u043a\u0430\u043a \u0431\u044b\u043b\u043e:  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439, \u043d\u043e \u0442\u043e\u0440\u043c\u043e\u0437\u043d\u043e\u0439 \u043a\u043e\u0434 \u0432 elma<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cs\">var manager = EntityManager&lt;IOutgoingDoc&gt;.Instance; DateTime startdate = new DateTime(entity.RegDate.Value.Year, 1, 1); DateTime enddate = new DateTime(entity.RegDate.Value.Year, 12, 31); var allInYear = from d in manager.FindAll() \twhere d.RegDate.Value &gt;= startdate && d.RegDate.Value &lt;= enddate \torderby d.CntNum \tselect d; if (allInYear.Count() == 0) \tentity.CntNum = 1; else entity.CntNum = allInYear.Last().CntNum + 1; <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0412\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e \u0434\u043e \u043f\u043e\u0440\u044b \u0434\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043d\u043e \u043f\u043e\u0442\u043e\u043c \u043d\u0430\u0447\u0430\u043b\u043e \u0442\u0430\u043a \u0441\u0438\u043b\u044c\u043d\u043e \u0442\u043e\u0440\u043c\u043e\u0437\u0438\u0442\u044c, \u0447\u0442\u043e \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0438\u0441\u043a\u0430\u0442\u044c \u0443\u0437\u043a\u0438\u0435 \u043c\u0435\u0441\u0442\u0430. \u0412\u044b\u044f\u0441\u043d\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u043e\u0434\u043d\u0438\u043c \u0442\u0430\u043a\u0438\u043c \u043c\u0435\u0441\u0442\u043e\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u043e\u0433\u043e \u043d\u043e\u043c\u0435\u0440\u0430. \u041f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0434\u043e\u043f. \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0438 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u043a\u043e\u0434, \u0447\u0442\u043e\u0431\u044b \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432 \u0446\u0435\u043b\u043e\u043c:  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041e\u0431\u0445\u043e\u0434\u043d\u043e\u0439 \u043c\u0430\u043d\u0435\u0432\u0440 \u0432 elma<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cs\">string ConString = &quot;Data Source=ss2;Initial Catalog=ELMA;User ID=sa;Password=password;&quot;; using (SqlConnection connection = new SqlConnection(ConString)) { \tusing (SqlCommand command = connection.CreateCommand()) \t{ \t\tvar year = entity.RegDate.Value.Year; \t\t \t\tcommand.CommandText = &quot;SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; SELECT TOP 1 cntNum FROM [ELMA].[dbo].[OutgoingDoc] WHERE (RegDate &gt;= CAST('&quot; + year.ToString() + &quot;-01-01 00:00:00' AS datetime)) AND (RegDate &lt; CAST('&quot; + year.ToString() + &quot;-12-31 23:59:59' AS datetime)) ORDER BY cntNum DESC&quot;; \t\tconnection.Open(); \tSqlDataReader reader = command.ExecuteReader(); \tvar cntNum = 0; \tif (reader.Read()) \t\tcntNum = int.Parse(reader[0].ToString()); \t \tconnection.Close(); \t \tcommand.CommandText = &quot;SELECT TOP 1 reservedNum FROM [TNGP].[dbo].[ElmaReservedNums] WHERE docType = '&quot;  entity.TypeUid + &quot;' ORDER BY reservedNum DESC&quot;; \tconnection.Open(); \treader = command.ExecuteReader(); \tvar reservedNum = 0; \tif (reader.Read()) \t\treservedNum = int.Parse(reader[0].ToString()); \tconnection.Close(); \t \tif (cntNum &lt; reservedNum) \t\tcntNum = reservedNum; \t \tif (cntNum == 0) \t\tcntNum = 1; \telse \t\tcntNum++; \t \tcommand.CommandText = &quot;INSERT INTO [TNGP].[dbo].[ElmaReservedNums](reservedNum, docType) VALUES (&quot; + cntNum.ToString() + &quot;,'&quot; + entity.TypeUid + &quot;')&quot;; \tconnection.Open(); \tcommand.ExecuteNonQuery(); \tconnection.Close(); \t \tentity.CntNum = cntNum; \t} } <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0420\u0430\u0437\u0432\u0435 \u044d\u0442\u043e \u0434\u0435\u043b\u043e?!<\/p>\n<h5>\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440<\/h5>\n<p>  \u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f. \u0425\u0440\u0430\u043d\u0438\u0442 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430. \u0412\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438:  <\/p>\n<pre><code class=\"php\">cattributeref()-&gt;readonly = true; cattributeref()-&gt;value = cobjectref()-&gt;calcOutgoingCode(); <\/code><\/pre>\n<p>  \u041e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432, \u0447\u044c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432\u043b\u0438\u044f\u044e\u0442 \u043d\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430.<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/71c\/a86\/9ea\/71ca869ea1b34b0889ecd13be4de86d5.png\"\/><\/p>\n<h5>\u0422\u0435\u043c\u0430<\/h5>\n<p>  \u041e\u0431\u044b\u0447\u043d\u044b\u0439 \u043c\u043d\u043e\u0433\u043e\u0441\u0442\u0440\u043e\u0447\u043d\u044b\u0439 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442.<\/p>\n<h5>\u0422\u0438\u043f \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f<\/h5>\n<p>  \u041a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0442\u0438\u043f \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f \u043f\u0438\u0441\u044c\u043c\u0430. \u0422\u043e\u0447\u043d\u043e \u0442\u0430\u043a\u043e\u0439 \u0436\u0435, \u043a\u0430\u043a \u0438 \u0443 \u0432\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430. \u0421\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u00ab\u041f\u0440\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438\u00bb:  <\/p>\n<pre><code class=\"php\">$src_classificators = classificatorChilds('crs_content'); $end_classificators = array(); foreach($src_classificators as $c) {   $end_classificators += array($c['id']=&gt;$c['name']);   if ($c['code'] == 'crs_content_other')     $default = $c['id']; } if (count($end_classificators) &gt; 0) {   cattributeref()-&gt;values=$end_classificators;   cattributeref()-&gt;value = isset($default) ? $default : $c['id']; } <\/code><\/pre>\n<p>  \u0421\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u043e\u0433\u043e \u0438, \u043a\u0430\u043a \u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0435, \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u043d\u043e\u043c\u0435\u0440\u0430.  <\/p>\n<pre><code class=\"php\">if (cobjectref()-&gt;attributeref('crs_management_outgoing_contragent')-&gt;value == 45410)     cobjectref()-&gt;attributeref('crs_management_outgoing_cntnum')-&gt;value = cobjectref()-&gt;updateDocumentCntNum();          cobjectref()-&gt;attributeref('crs_management_outgoing_regnum')-&gt;value = cobjectref()-&gt;calcOutgoingCode(); <\/code><\/pre>\n<h5>\u0412 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0435<\/h5>\n<p>  \u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u00ab\u0412\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u00bb \u044d\u0442\u043e\u0433\u043e \u0436\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430. \u0422\u0430\u043a\u043e\u0439 \u0436\u0435 \u0432\u0430\u0436\u043d\u044b\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442, \u043a\u0430\u043a \u0438 &quot;<a href=\"https:\/\/habrahabr.ru\/company\/easla\/blog\/281839#incoming1\">\u0412 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0435<\/a>&quot; \u0434\u043b\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u00ab\u0412\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u00bb. \u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u044b\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0446\u0435\u043f\u043e\u0447\u043a\u0443 \u043f\u0438\u0441\u0435\u043c \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0439-\u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0439-\u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0439-\u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0438 \u0442.\u0434. <br \/>  \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u043f\u043e\u043c\u0438\u043c\u043e \u0446\u0435\u043f\u043e\u0447\u043a\u0438 \u043f\u0438\u0441\u0435\u043c, \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 \u0432\u043b\u0438\u044f\u0435\u0442 \u0435\u0449\u0435 \u0438 \u043d\u0430 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u043e\u0442\u043c\u0435\u0442\u043e\u043a \u0432 \u0437\u0430\u0434\u0430\u0447\u0430\u0445, \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u043e\u0442\u0432\u0435\u0442\u0430 \u043d\u0430 \u0432\u0445\u043e\u0434\u044f\u0449\u0435\u0435 \u043f\u0438\u0441\u044c\u043c\u043e. \u041d\u043e \u043e\u0431 \u044d\u0442\u043e\u043c \u043d\u0430\u0434\u043e \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u0440\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u00ab\u0417\u0430\u0434\u0430\u0447\u0438\u00bb.<br \/>  \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u043f\u0438\u0441\u043a\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u043f\u0438\u0441\u0435\u043c \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 \u00ab\u041f\u0440\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438\u00bb:  <\/p>\n<pre><code class=\"php\">cattributeref()-&gt;values = cobjectref()-&gt;prepareIncomings(); <\/code><\/pre>\n<p>  \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f prepareIncomings \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u0430\u044f \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u00ab\u0414\u043e \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u00bb:  <\/p>\n<pre><code class=\"php\">function prepareIncomings() {     $src_documents = selectAll(       'crs_management',       'crs_management_incoming',       array('crs_management_incoming_contragent_regnum')     );              $end_documents = array();     foreach ($src_documents as $d)       $end_documents += array($d['id'] =&gt; $d['crs_management_incoming_contragent_regnum'].' ['.$d['description'].']');     asort($end_documents);     return $end_documents; } <\/code><\/pre>\n<h5>\u0414\u043e\u0433\u043e\u0432\u043e\u0440<\/h5>\n<p>  \u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442 \u00ab\u0414\u043e\u0433\u043e\u0432\u043e\u0440\u00bb \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u00ab\u0414\u043e\u0433\u043e\u0432\u043e\u0440\u044b\u00bb. \u041e\u043f\u044f\u0442\u044c \u0436\u0435, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u043b\u043d\u044b\u043c \u0430\u043d\u0430\u043b\u043e\u0433\u043e\u043c \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 &quot;<a href=\"https:\/\/habrahabr.ru\/company\/easla\/blog\/281839#incoming2\">\u0414\u043e\u0433\u043e\u0432\u043e\u0440<\/a>&quot; \u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u0435 \u00ab\u0412\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u00bb.<br \/>  \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u043f\u0438\u0441\u043a\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u043e\u0432 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u00ab\u041f\u043e\u0441\u043b\u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u00bb, \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u043f\u0438\u0441\u043a\u0430 \u043a\u043e\u043d\u0442\u0440\u0430\u0433\u0435\u043d\u0442\u043e\u0432 \u0438 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043e\u0432:  <\/p>\n<pre><code class=\"php\">cobjectref()-&gt;attributeref('crs_management_outgoing_contract')-&gt;values = prepareContracts(); <\/code><\/pre>\n<p>  \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u043e\u0432 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043f\u0440\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432, \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u043d\u0442\u0440\u0430\u0433\u0435\u043d\u0442\u0430.<\/p>\n<h5>\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044f<\/h5>\n<p>  \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u0443\u0441\u0442\u043e\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442, \u0442.\u043a. \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u043d\u043e\u043c\u0435\u0440\u0430 \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u043d\u043e\u0433\u043e \u043d\u0430\u0448\u0435\u043c\u0443 \u043f\u0438\u0441\u044c\u043c\u0443 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044f, \u0442.\u0435. \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0430. \u041d\u043e \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0438 \u043d\u0435 \u0442\u043e\u0440\u043e\u043f\u044f\u0442\u0441\u044f \u0435\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0430\u0442\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443, \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442 \u043f\u043e \u0434\u0435\u043b\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0443 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u0433\u0434\u0430, \u043a\u043e\u0433\u0434\u0430 \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0438 \u043a\u0442\u043e-\u0442\u043e \u0434\u0440\u0443\u0433\u043e\u0439 \u0438\u0437 \u0432\u044b\u0441\u0448\u0435\u0433\u043e \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0430.<\/p>\n<h5>\u0414\u0430\u0442\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f<\/h5>\n<p>  \u0414\u043e\u043b\u0436\u0435\u043d \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u043d\u043e\u043c\u0435\u0440\u043e\u043c \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044f. \u041d\u0443 \u0432\u044b \u043f\u043e\u043d\u044f\u043b\u0438\u2026<\/p>\n<h5>\u0424\u0430\u043c\u0438\u043b\u0438\u044f \u0418.\u041e. \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044f<\/h5>\n<p>  \u0414\u043e\u043b\u0436\u0435\u043d \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u043d\u043e\u043c\u0435\u0440\u043e\u043c \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044f \u0438 \u0434\u0430\u0442\u043e\u0439 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f. \u0414\u0430\u0436\u0435 \u043d\u0435 \u0437\u043d\u0430\u044e, \u0447\u0442\u043e \u0435\u0449\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c. \u0418\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044d\u0442\u0438 \u0442\u0440\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 \u0432\u044b\u043d\u0435\u0441\u0435\u043d\u044b \u0432 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u043c \u0441\u0447\u0435\u0442\u0435 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0444\u043e\u0440\u043c\u0443.<\/p>\n<h5>\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442<\/h5>\n<p>  \u0412\u043e\u0442 \u0432 \u044d\u0442\u043e\u043c \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441\u0430\u043c \u0444\u0430\u0439\u043b \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430. \u041f\u0440\u0438\u0447\u0435\u043c, \u0441\u043b\u0435\u0434\u0443\u044f \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0430, \u043e\u043d \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0432\u0441\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u0444\u0430\u0439\u043b\u0430.<br \/>  \u0412\u0441\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u00ab\u041f\u0440\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438\u00bb:  <\/p>\n<pre><code class=\"php\">cattributeref()-&gt;revMode = true; cattributeref()-&gt;canScan = true; cattributeref()-&gt;fileLinks = 3;\/\/1;\/\/2; <\/code><\/pre>\n<p>  \u041e\u0431\u0430\u043b\u0434\u0435\u043d\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442. \u0412\u043a\u043b\u044e\u0447\u0438\u043b revMode \u0438 \u0432\u0443\u0430\u043b\u044f, \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435\/\u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u0444\u0430\u0439\u043b\u0430 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u0435\u0433\u043e \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f (\u0440\u0435\u0432\u0438\u0437\u0438\u044f).<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/a5c\/68a\/dcf\/a5c68adcf534453b9864ab3953f477eb.png\"\/><\/p>\n<p>  \u0412\u043a\u043b\u044e\u0447\u0438\u043b canScan \u0438 \u0432\u0443\u0430\u043b\u044f, \u043f\u043e\u0434 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u043c \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u043a\u043d\u043e\u043f\u043a\u0430 \u0434\u043b\u044f \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 \u043e\u0431\u044a\u0435\u043a\u0442.<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/992\/c7d\/b1f\/992c7db1fc0c4e21a67e1750f8744515.png\"\/><\/p>\n<p>  \u0412\u043a\u043b\u044e\u0447\u0438\u043b \u0440\u0435\u0436\u0438\u043c fileLinks=3 \u0438 \u0432\u0443\u0430\u043b\u044f, \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0438 \u043a\u043b\u0438\u043a\u0435 \u043d\u0430 \u0444\u0430\u0439\u043b\u0435 \u043e\u043d \u043d\u0435 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f, \u0430 \u0441\u0440\u0430\u0437\u0443 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 (\u043f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0433\u043e <a href=\"http:\/\/easla.com\/ru\/site\/page\/view\/tools\">Easla Agent<\/a>). \u041d\u0430\u0440\u043e\u0447\u043d\u043e \u043d\u0435 \u0441\u0442\u0430\u043b \u0443\u0431\u0438\u0440\u0430\u0442\u044c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0441\u0442\u0440\u043e\u043a\u0438, \u043e\u043d \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442 \u043c\u043d\u0435 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043f\u043e\u0441\u0442\u0435\u043f\u0435\u043d\u043d\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043f\u0440\u0438\u0432\u044b\u043a\u0430\u043b\u0438 \u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044e \u0441\u0441\u044b\u043b\u043a\u0438. \u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u043b \u0440\u0435\u0436\u0438\u043c 0, \u0442.\u0435. \u043e\u0431\u044b\u0447\u043d\u044b\u0439, \u043a\u043e\u0433\u0434\u0430 \u043a\u043b\u0438\u043a \u043f\u043e \u0444\u0430\u0439\u043b\u0443 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043b \u043a \u0435\u0433\u043e \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044e. \u041f\u043e\u0442\u043e\u043c \u0432\u043a\u043b\u044e\u0447\u0438\u043b \u0440\u0435\u0436\u0438\u043c 1 \u2013 \u0444\u0430\u0439\u043b \u0441\u0442\u0430\u043b \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438, \u0430 \u043d\u0435 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c\u0441\u044f. \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u044d\u0442\u043e \u043d\u0435 \u0443\u0441\u0442\u0440\u043e\u0438\u043b\u043e, \u0442.\u043a. \u0438\u043d\u043e\u0433\u0434\u0430 \u0444\u0430\u0439\u043b \u043d\u0430\u0434\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c, \u0430 \u043d\u0435 \u043e\u0442\u043a\u0440\u044b\u0442\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u043a\u043b\u044e\u0447\u0438\u043b \u0440\u0435\u0436\u0438\u043c 2 \u2013 \u043f\u0440\u0438 \u043a\u043b\u0438\u043a\u0435 \u043d\u0430 \u0444\u0430\u0439\u043b\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435, \u043d\u043e \u0441\u043f\u0440\u0430\u0432\u0430 \u043e\u0442 \u0444\u0430\u0439\u043b\u0430 \u0434\u043e\u043f. \u043a\u043d\u043e\u043f\u043a\u0430 \u0434\u043b\u044f \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u044f. \u0418 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0442\u043e\u043c \u0432\u043a\u043b\u044e\u0447\u0438\u043b \u0440\u0435\u0436\u0438\u043c 3 \u2013 \u043f\u0440\u0438 \u043a\u043b\u0438\u043a\u0435 \u043d\u0430 \u0444\u0430\u0439\u043b\u0435 \u043e\u043d \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438, \u0430 \u0440\u044f\u0434\u043e\u043c \u0441 \u0444\u0430\u0439\u043b\u043e\u043c \u043a\u043d\u043e\u043f\u043a\u0430 \u0434\u043b\u044f \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f (\u0441\u043c. \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443 \u0432\u044b\u0448\u0435).<\/p>\n<p>  \u041f\u043e\u043c\u0438\u043c\u043e \u044d\u0442\u043e\u0433\u043e, \u0432 <a href=\"http:\/\/easla.com\">easla.com<\/a> \u043b\u044e\u0431\u043e\u0439 \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u043c\u043e\u0436\u0435\u0442 \u043e\u0431\u043b\u0430\u0434\u0430\u0442\u044c \u0448\u0430\u0431\u043b\u043e\u043d\u0430\u043c\u0438 \u0444\u0430\u0439\u043b\u043e\u0432. \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0448\u0430\u0431\u043b\u043e\u043d \u043d\u0430 \u0444\u043e\u0440\u043c\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0438 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b \u0432 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0435. \u041e\u0434\u0438\u043d \u0438\u0437 \u043f\u043e\u043c\u043e\u0449\u043d\u0438\u043a\u043e\u0432 \u0413\u0418\u041f\u0430 \u043f\u043e \u043f\u043e\u0440\u0443\u0447\u0435\u043d\u0438\u044e \u0433\u043b\u0430\u0432\u043d\u043e\u0433\u043e \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u043f\u0438\u0441\u0435\u043c \u0441 \u0433\u043e\u0442\u043e\u0432\u044b\u043c\u0438 \u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u043a\u0430\u043c\u0438. \u0421\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0442\u0435\u043a\u0441\u0442 \u043f\u0438\u0441\u044c\u043c\u0430 \u0441\u0442\u0430\u043b\u043e \u043f\u0440\u043e\u0449\u0435.<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/374\/f9d\/98a\/374f9d98a48a476f870fc648428cc418.png\"\/><\/p>\n<p>  \u041a\u0441\u0442\u0430\u0442\u0438, \u0448\u0430\u0431\u043b\u043e\u043d \u043f\u0438\u0441\u044c\u043c\u0430 \u043e\u0431\u043b\u0430\u0434\u0430\u0435\u0442 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u043f\u043e\u043b\u044f\u043c\u0438, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0435, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0430\u043a\u0440\u043e\u0441\u0430 \u0432 Microsoft Word, \u0432\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043d\u0443\u0436\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u0411\u043e\u043b\u0435\u0435 \u0442\u043e\u0433\u043e, \u043e\u043d\u0438 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f, \u043d\u043e \u0435\u0449\u0435 \u0438 \u0441\u043a\u043b\u043e\u043d\u044f\u044e\u0442\u0441\u044f \u0432 \u043d\u0443\u0436\u043d\u043e\u043c \u043f\u0430\u0434\u0435\u0436\u0435. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0430\u0432\u0442\u043e\u0440 \u043f\u0438\u0441\u044c\u043c\u0430 \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0442\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u043d\u0443\u0434\u043d\u043e\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u043a\u0438 \u043f\u0438\u0441\u044c\u043c\u0430, \u0430 \u0441\u0440\u0430\u0437\u0443 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u043a \u0441\u0430\u043c\u043e\u043c\u0443 \u0433\u043b\u0430\u0432\u043d\u043e\u043c\u0443. \u041f\u0440\u043e \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044e \u0441 Microsoft Word \u0442\u043e\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0441\u0442\u0430\u0442\u044c\u044e.<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/908\/2d9\/7b5\/9082d97b546f49feb1637818bdac178f.png\"\/><\/p>\n<p>  \u041f\u0440\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430, \u0442.\u0435. \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u0444\u0430\u0439\u043b\u0430, \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430:  <\/p>\n<pre><code class=\"php\">cobjectref()-&gt;updateDocumentFileName(); <\/code><\/pre>\n<p>  \u041e\u0447\u0435\u043d\u044c \u0432\u0430\u0436\u043d\u043e \u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0437\u0430\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u043e\u043c. \u0417\u0430\u0447\u0430\u0441\u0442\u0443\u044e, \u043f\u0440\u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0438 \u0442\u0430\u043a\u043e\u0439 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0438\u043b\u0438 \u043f\u0438\u0448\u0443 \u0433\u0430\u043b\u0438\u043c\u0430\u0442\u044c\u044e, \u0438\u043b\u0438 \u043f\u0438\u0448\u0443\u0442 \u0441 \u043e\u0448\u0438\u0431\u043a\u0430\u043c\u0438, \u0432 \u0438\u0442\u043e\u0433\u0435, \u043a\u043e\u0433\u0434\u0430 \u0444\u0430\u0439\u043b \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432\u043d\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0435\u0433\u043e \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0438\u043c\u0435\u043d\u0438 \u043d\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c.<br \/>  \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0438\u043c\u0435\u043d\u0438 \u0444\u0430\u0439\u043b\u0430 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u0430\u044f \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u00ab\u0414\u043e \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u00bb:  <\/p>\n<pre><code class=\"php\">function calcOutgoingDesc() {     $code = calcOutgoingCode();          if (empty($code))         return;              if (empty(cobjectref()-&gt;attributeref('crs_management_outgoing_sentdate')-&gt;value)) {         $d = date_create(cobjectref()-&gt;attributeref('crs_management_outgoing_regdate')-&gt;value);     } else {         $d = date_create(cobjectref()-&gt;attributeref('crs_management_outgoing_sentdate')-&gt;value);     }          return sprintf(         '%s \u043e\u0442 %s',         $code,         localeFormatDate($d)     ); }  function updateDocumentFileName() {     $desc = calcOutgoingDesc();     if (empty($desc))         return;              $files = cobjectref()-&gt;attributeref('crs_management_outgoing_document')-&gt;availableFiles();     foreach ($files as $f)     {         $nowname = sprintf(             '%s.%s',              $desc,             pathinfo($f-&gt;nowname, PATHINFO_EXTENSION)         );         if (strcmp($nowname, $f-&gt;nowname) == 0)             continue;                      $f-&gt;nowname = $nowname;         $f-&gt;save();     } } <\/code><\/pre>\n<p>  \u0412\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f calcOutgoingDesc \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430.<\/p>\n<h5>\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/h5>\n<p>  \u0410 \u0432\u043e\u0442 \u0432 \u044d\u0442\u043e\u043c \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0435 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432\u0441\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043a \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u043c\u0443 \u043f\u0438\u0441\u044c\u043c\u0443. \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u0438\u043b\u0430\u0433\u0430\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u043d\u0435\u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439. \u0418\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u00ab\u041f\u0440\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438\u00bb \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u044e\u0442 \u043a\u043e\u043b\u043e\u043d\u043a\u0438 \u0441 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439 \u043e \u0444\u0430\u0439\u043b\u0430\u0445 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0438\u0445 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430:  <\/p>\n<pre><code class=\"php\">if (cattributeref()-&gt;filesCount &gt; 10)     cattributeref()-&gt;fileInfo = array('revcode','modifytime','count','total','header','filter'); else     cattributeref()-&gt;fileInfo = array('revcode','modifytime','count','total'); <\/code><\/pre>\n<p>  \u0418 \u0432\u0441\u0435 \u0431\u044b \u043d\u0438\u0447\u0435\u0433\u043e, \u0435\u0441\u043b\u0438 \u0431 \u0432\u0441\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u043b\u0438\u0441\u044c \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u043b\u0438\u0441\u044c \u043f\u043e \u044d\u043b. \u043f\u043e\u0447\u0442\u0435.<br \/>  \u041a\u0430\u043a \u044f \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u043b \u0432\u044b\u0448\u0435, \u0432 \u043d\u0430\u0448\u0435\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u043e\u0431\u043e\u0440\u043e\u0442\u0430 <a href=\"http:\/\/www.tdms.ru\/\">TDMS<\/a>, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0432\u0441\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u043d\u043e-\u0441\u043c\u0435\u0442\u043d\u0430\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f. \u0415\u0435 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043d\u0430 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u043f\u0438\u0441\u044c\u043c\u043e\u043c. \u041f\u0440\u0438\u0447\u0435\u043c \u0437\u0430\u0447\u0430\u0441\u0442\u0443\u044e, \u0444\u0430\u0439\u043b\u043e\u0432 \u043c\u043d\u043e\u0433\u043e, \u0438\u0445 \u043d\u0430\u0434\u043e \u0443\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0432 \u0430\u0440\u0445\u0438\u0432 \u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u0432 \u043f\u0438\u0441\u044c\u043c\u043e. \u041a\u043e\u0433\u0434\u0430 \u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b, \u043a\u0430\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u044b \u0438\u0437 <a href=\"http:\/\/www.tdms.ru\/\">TDMS<\/a> \u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u0432 <a href=\"http:\/\/easla.com\">easla.com<\/a>, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u043f\u043e\u0431\u043b\u0435\u0434\u043d\u0435\u043b.<br \/>  \u041f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:  <\/p>\n<ul>\n<li>\u041d\u0430\u0439\u0442\u0438 \u0432 TDMS \u043d\u0443\u0436\u043d\u044b\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442<\/li>\n<li>\u0412\u044b\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0438\u0437 \u043d\u0435\u0433\u043e \u0444\u0430\u0439\u043b\u044b \u0432 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u0438\u043b\u0438 pdf \u043d\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0434\u0438\u0441\u043a (\u0444\u0430\u0439\u043b\u043e\u0432 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0438 \u0432 \u0447\u0435\u0440\u0442\u0435\u0436\u0430\u0445 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432\u043d\u0435\u0448\u043d\u0438\u0435 \u0441\u0441\u044b\u043b\u043a\u0438)<\/li>\n<li>\u041d\u0430\u0439\u0442\u0438 \u0438\u0445 \u0432 \u0442\u043e\u043c \u043c\u0435\u0441\u0442\u0435, \u043a\u0443\u0434\u0430 \u0432\u044b\u0433\u0440\u0443\u0437\u0438\u043b\u0438 \u0438 \u0443\u043f\u0430\u043a\u043e\u0432\u0430\u0442\u044c \u0432 \u0430\u0440\u0445\u0438\u0432<\/li>\n<li>\u0418\u043c\u044f \u0430\u0440\u0445\u0438\u0432\u0430 \u0434\u043e\u043b\u0436\u043d\u043e \u0432 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430<\/li>\n<li>\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0432 \u0437\u0430\u043a\u0430\u0447\u0430\u0442\u044c \u0432 \u043f\u0438\u0441\u044c\u043c\u043e.<\/li>\n<\/ul>\n<p>  \u041f\u043e \u0441\u043a\u0440\u043e\u043c\u043d\u044b\u043c \u043f\u0440\u0438\u043a\u0438\u0434\u043a\u0430\u043c, \u0442\u0430\u043a\u0430\u044f \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u0437\u0430\u0439\u043c\u0435\u0442 \u0443 \u0440\u044f\u0434\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0432 \u043b\u0443\u0447\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0442 2 \u0434\u043e 5 \u043c\u0438\u043d\u0443\u0442 \u043d\u0430 \u043e\u0434\u0438\u043d \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442. \u0415\u0441\u043b\u0438 \u043a \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u043c\u0443 \u043f\u0438\u0441\u044c\u043c\u0443 \u043d\u0430\u0434\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0438\u0442\u044c 10 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u0442\u043e \u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043d\u0430 \u044d\u0442\u043e \u0443\u0439\u0434\u0435\u0442 \u0443\u0436\u0435 \u0447\u0430\u0441! \u041a\u043e\u0448\u043c\u0430\u0440!<br \/>  \u041d\u043e \u0441\u0430\u043c\u043e\u0435 \u0441\u0442\u0440\u0430\u0448\u043d\u043e\u0435, \u0447\u0442\u043e \u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0445 \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0444\u0430\u0439\u043b\u0430 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0437\u043d\u0430\u0435\u0442 <a href=\"http:\/\/www.tdms.ru\/\">TDMS<\/a>, \u0430 \u043d\u0430\u0434\u043e, \u0447\u0442\u043e\u0431\u044b \u0437\u043d\u0430\u043b!<br \/>  \u0412 \u043e\u0431\u0449\u0435\u043c, \u0441\u0442\u0430\u043b\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u0444\u0430\u0439\u043b\u044b \u0432 <a href=\"http:\/\/easla.com\">easla.com<\/a> \u043d\u0430\u0434\u043e \u043f\u0435\u0440\u0435\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u0438\u0437 <a href=\"http:\/\/www.tdms.ru\/\">TDMS<\/a> \u0442\u043e\u043b\u044c\u043a\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435, \u0432 <a href=\"http:\/\/www.tdms.ru\/\">TDMS<\/a> \u0431\u044b\u043b\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u0438\u043b\u0438 \u043f\u0430\u0447\u043a\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432. \u041f\u043e\u0441\u043b\u0435 \u0435\u0435 \u0432\u044b\u0437\u043e\u0432\u0430 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u043e\u0435 \u043e\u043a\u043d\u043e, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 (\u0441\u043f\u0438\u0441\u043e\u043a \u043f\u0438\u0441\u0435\u043c \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u0442\u0441\u044f \u0438\u0437 <a href=\"http:\/\/easla.com\">easla.com<\/a> \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <a href=\"https:\/\/ru.wikipedia.org\/wiki\/SOAP\">SOAP<\/a>), \u0430 \u0437\u0430\u0442\u0435\u043c \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043c\u0430\u0433\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0447\u0435\u0440\u0435\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434 \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u0430\u0440\u0445\u0438\u0432 \u0443\u0436\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d \u0432 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0435 \u043f\u0438\u0441\u044c\u043c\u043e!<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/440\/1ec\/d93\/4401ecd935464c38886889e968421dd3.png\"\/><br \/>  \u041d\u0430 \u044d\u0442\u0443 \u0442\u0435\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0441\u0442\u0430\u0442\u044c\u044e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c, \u0435\u0441\u043b\u0438 \u043a\u043e\u043c\u0443 \u0431\u0443\u0434\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e. \u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u0443\u0437\u043a\u043e\u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435, \u043d\u043e \u043e\u043f\u044b\u0442 \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0439!<\/p>\n<h5>\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u0434\u0440\u0443\u0433\u043e\u043c \u043c\u0435\u0441\u0442\u0435<\/h5>\n<p>  \u0422\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0433\u0438\u043f\u0435\u0440\u0441\u0441\u044b\u043b\u043a\u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u043d\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0433\u0434\u0435-\u043d\u0438\u0431\u0443\u0434\u044c \u0432 \u0434\u0440\u0443\u0433\u043e\u043c \u043c\u0435\u0441\u0442\u0435. \u0421\u043a\u0430\u0436\u0435\u043c, \u043d\u0430 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u043c \u0438\u043b\u0438 \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u043e\u043e\u0431\u043c\u0435\u043d\u043d\u0438\u043a\u0435.<\/p>\n<h5>\u0422\u0435\u043a\u0441\u0442 \u043f\u0438\u0441\u044c\u043c\u0430<\/h5>\n<p>  \u041d\u0435\u0434\u0430\u0432\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442. \u041f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0442\u0435\u043a\u0441\u0442\u0430 \u043f\u0438\u0441\u044c\u043c\u0430, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430. \u041f\u043e\u043a\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043e\u0434\u043d\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f \u2013 Transmittal.<\/p>\n<h4>\u041e\u0431\u044a\u0435\u043a\u0442<\/h4>\n<p>  \u0422\u043e\u0447\u043d\u043e \u0442\u0430\u043a\u0436\u0435, \u043a\u0430\u043a \u0438 \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u0441\u043f\u0438\u0441\u043e\u043a \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0440\u0430\u0441\u043a\u0440\u0430\u0448\u0435\u043d \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0438\u0445 \u0441\u0442\u0430\u0442\u0443\u0441\u0430\u043c\u0438. \u0414\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u044b\u043b\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043a\u043e\u0434 \u0432 \u0441\u043a\u0440\u0438\u043f\u0442 \u00ab\u041f\u043e\u0441\u043b\u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u00bb:  <\/p>\n<pre><code class=\"php\">switch (cobjectref()-&gt;status-&gt;code)  {     case 'crs_management_outgoing_created':         cobjectref()-&gt;status-&gt;state = 1;         break;     case 'crs_management_outgoing_fax':     case 'crs_management_outgoing_courier':     case 'crs_management_outgoing_narochnym':     case 'crs_management_outgoing_post':         cobjectref()-&gt;status-&gt;state = 2;         break;     case 'crs_management_outgoing_email':         cobjectref()-&gt;status-&gt;state = 4;         break; } <\/code><\/pre>\n<p>  \u0421\u043e\u0433\u043b\u0430\u0441\u0438\u0442\u0435\u0441\u044c, \u0446\u0432\u0435\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e\u0441\u0442\u0438.<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/72b\/7a6\/59b\/72b7a659bcce4abb87707307721048d8.png\"\/><\/p>\n<p>  \u041e\u043a\u043e\u043d\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u044e \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043f\u0440\u043e\u0445\u043e\u0434\u044f\u0442 \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u00ab\u0414\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u00bb:  <\/p>\n<pre><code class=\"php\">cobjectref()-&gt;attributeref('crs_management_outgoing_regnum')-&gt;value = calcOutgoingCode(); cobjectref()-&gt;description = calcOutgoingDesc(); updateDocumentFileName(); if (!empty(cobjectref()-&gt;attributeref('crs_management_outgoing_cntnum')-&gt;value)) {     if (cobjectref()-&gt;attributeref('crs_management_outgoing_contragent')-&gt;value == 45410 &&          cobjectref()-&gt;attributeref('crs_management_outgoing_content')-&gt;value == 1192) {         $conditions = array(             'crs_management_outgoing_contragent'=&gt;array('id',cobjectref()-&gt;attributeref('crs_management_outgoing_contragent')-&gt;value),             'crs_management_outgoing_content'=&gt;array('id',cobjectref()-&gt;attributeref('crs_management_outgoing_content')-&gt;value),             'crs_management_outgoing_cntnum'=&gt;cobjectref()-&gt;attributeref('crs_management_outgoing_cntnum')-&gt;value         );                  if (!cobjectref()-&gt;isNewRecord)             $conditions['id'] = '&lt;&gt;'.cobjectref()-&gt;id;                  $exist = selectCountAll('crs_management','crs_management_outgoing', $conditions);         if ($exist) {             $nownum = cobjectref()-&gt;attributeref('crs_management_outgoing_cntnum')-&gt;value;             $freenum = updateDocumentCntNum();             cobjectref()-&gt;attributeref('crs_management_outgoing_cntnum')-&gt;value = $freenum;             cobjectref()-&gt;attributeref('crs_management_outgoing_regnum')-&gt;value = calcOutgoingCode();             updateDocumentFileName();             throw new Exception('\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442, \u0442.\u043a. \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0434\u0440\u0443\u0433\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u0441 \u0440\u0435\u0433. \u043d\u043e\u043c\u0435\u0440\u043e\u043c '.$nownum.'!\u041d\u043e\u043c\u0435\u0440 \u0431\u044b\u043b \u0438\u0437\u043c\u0435\u043d\u0435\u043d \u043d\u0430 '.$freenum.', \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0435\u0449\u0435 \u0440\u0430\u0437.');          }     } else {         $year = date_format(date_create(cobjectref()-&gt;attributeref('crs_management_outgoing_regdate')-&gt;value), 'Y');         $conditions = array(             'crs_management_outgoing_cntnum'=&gt;cobjectref()-&gt;attributeref('crs_management_outgoing_cntnum')-&gt;value,             'crs_management_outgoing_regdate'=&gt;array('between', $year.'-01-01', $year.'-12-31')         );                  if (!cobjectref()-&gt;isNewRecord)             $conditions['id'] = '&lt;&gt;'.cobjectref()-&gt;id;         $exist = selectCountAll('crs_management','crs_management_outgoing', $conditions);         if ($exist) {             $nownum = cobjectref()-&gt;attributeref('crs_management_outgoing_cntnum')-&gt;value;             $freenum = updateDocumentCntNum();             cobjectref()-&gt;attributeref('crs_management_outgoing_cntnum')-&gt;value = $freenum;             cobjectref()-&gt;attributeref('crs_management_outgoing_regnum')-&gt;value = calcOutgoingCode();             updateDocumentFileName();             throw new Exception('\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442, \u0442.\u043a. \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0434\u0440\u0443\u0433\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u0441 \u0440\u0435\u0433. \u043d\u043e\u043c\u0435\u0440\u043e\u043c '.$nownum.' \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u0432 '.$year.' \u0433\u043e\u0434\u0443!\u041d\u043e\u043c\u0435\u0440 \u0431\u044b\u043b \u0438\u0437\u043c\u0435\u043d\u0435\u043d \u043d\u0430 '.$freenum.', \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0435\u0449\u0435 \u0440\u0430\u0437.');          }     } } if (cobjectref()-&gt;status-&gt;code == 'crs_management_outgoing_create') {   cobjectref()-&gt;status = 'crs_management_outgoing_created';   cobjectref()-&gt;flags = 1; } else {   cobjectref()-&gt;flags = 0; } <\/code><\/pre>\n<p>  \u0417\u0434\u0435\u0441\u044c \u0436\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441\u043c\u0435\u043d\u0430 \u0441\u0442\u0430\u0442\u0443\u0441\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430.<br \/>  \u0412 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u00ab\u041f\u043e\u0441\u043b\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u00bb \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u0430\u0432 \u043d\u0430 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442:  <\/p>\n<pre><code class=\"php\">if (empty(cobjectref()-&gt;crs_management_outgoing_responsibleuser))     return;      if (empty(cobjectref()-&gt;crs_management_outgoing_responsiblegroup))     return;      $ruser = corganization()-&gt;user(cobjectref()-&gt;crs_management_outgoing_responsibleuser); if (empty($ruser))     return;      $rgroup = corganization()-&gt;group(cobjectref()-&gt;crs_management_outgoing_responsiblegroup); if (empty($rgroup))     return;      $rugroups = $ruser-&gt;groups(); foreach ($rugroups as &$rug)     $rug = $rug['code']; if ($rgroup-&gt;code == 'group_general_manager' && in_array($rgroup-&gt;code, $rugroups)) {     $c = classificator(cobjectref()-&gt;attributeref('crs_management_outgoing_content')-&gt;value);     \/\/\u043f\u0440\u0435\u0442\u0435\u043d\u0437\u0438\u044f     if ($c-&gt;code == 'crs_content_claim') {         cobjectref()-&gt;addRolesPermissions(array(                 'crs_management_tops',                 'crs_management_buh',                 'crs_management_gip',                 'crs_management_dp',                 'crs_management_pmo',             ));     } else {         cobjectref()-&gt;addRolesPermissions(array(                 'crs_management_tops',                 'crs_management_dp',             ));     } } elseif ($rgroup-&gt;code == 'group_pdg') {     cobjectref()-&gt;addRolesPermissions(array(         'crs_management_tops',         \/\/ 'crs_management_buh',         'crs_management_gip',         'crs_management_dp',         'crs_management_pmo',     )); } else      cobjectref()-&gt;resetRolesPermissions(); <\/code><\/pre>\n<h4>\u0424\u043e\u0440\u043c\u044b<\/h4>\n<p>  \u0412 <a href=\"http:\/\/easla.com\">easla.com<\/a> \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0444\u043e\u0440\u043c\u044b \u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u0435. \u041f\u0440\u0438\u0447\u0435\u043c \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u0439 \u0444\u043e\u0440\u043c\u0435 \u043c\u043e\u0433\u0443\u0442 \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0442\u044c\u0441\u044f \u0441\u0432\u043e\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b. \u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0443\u0434\u043e\u0431\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0444\u043e\u0440\u043c\u044b, \u043a\u043e\u0433\u0434\u0430 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 \u043c\u043d\u043e\u0433\u043e. \u041f\u0435\u0440\u0432\u044b\u0439 \u0440\u0430\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0444\u043e\u0440\u043c\u044b \u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u0445 \u00ab\u041a\u043e\u043d\u0442\u0440\u0430\u0433\u0435\u043d\u0442\u00bb \u0438 \u00ab\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u00bb, \u0447\u0442\u043e\u0431\u044b \u043e\u0442\u0434\u0435\u043b\u0438\u0442\u044c \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b \u043e\u0442 \u044e\u0440\u0438\u0434\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0438 \u043f\u043e\u0447\u0442\u043e\u0432\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u043e\u0432.<br \/>  \u0412 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u043c \u043f\u0438\u0441\u044c\u043c\u0435 \u0441\u043e\u0437\u0434\u0430\u043b \u0434\u0432\u0435 \u0444\u043e\u0440\u043c\u044b: \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0438 \u041f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044c. \u0412 \u043f\u0435\u0440\u0432\u0443\u044e \u0444\u043e\u0440\u043c\u0443 \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u043b \u0432\u0441\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b, \u043a\u0440\u043e\u043c\u0435: \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044f, \u0434\u0430\u0442\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0438 \u0444\u0430\u043c\u0438\u043b\u0438\u044f \u0438.\u043e. \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044f. \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0438\u0445 \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u043b \u0432\u043e \u0432\u0442\u043e\u0440\u0443\u044e \u0444\u043e\u0440\u043c\u0443. \u041e\u043d\u0430 \u043d\u0443\u0436\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u0443 \u043f\u043e \u0434\u0435\u043b\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0443, \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c \u0431\u0443\u0434\u0443\u0442 \u0435\u0435 \u043f\u043e\u0441\u0435\u0449\u0430\u0442\u044c \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u0440\u0435\u0434\u043a\u043e.<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/acd\/5fa\/c53\/acd5fac537624e0b96bccd0aad0f5f63.png\"\/><\/p>\n<h4>\u0421\u0442\u0430\u0442\u0443\u0441\u044b<\/h4>\n<p>  \u041a \u0441\u0447\u0430\u0441\u0442\u044c\u044e, \u0443 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430, \u043a\u0430\u043a \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0440\u0430\u0431\u043e\u0442\u044b, \u0438\u0437\u043e\u0431\u0440\u0435\u0442\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u0443\u0441\u044b \u0434\u043e\u043b\u0433\u043e \u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c. \u0412\u0441\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0438 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e:  <\/p>\n<ul>\n<li>\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u2013 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0442\u0430\u0442\u0443\u0441<\/li>\n<li>\u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d \u2014 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438<\/li>\n<\/ul>\n<p>  \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0442\u0430\u0442\u0443\u0441\u044b \u0433\u043e\u0432\u043e\u0440\u044f\u0442 \u0441\u0430\u043c\u0438 \u0437\u0430 \u0441\u0435\u0431\u044f:  <\/p>\n<ul>\n<li>\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u043f\u043e \u0444\u0430\u043a\u0441\u0443<\/li>\n<li>\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u043a\u0443\u0440\u044c\u0435\u0440\u043e\u043c<\/li>\n<li>\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u043d\u0430\u0440\u043e\u0447\u043d\u044b\u043c<\/li>\n<li>\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u043f\u043e \u044d\u043b. \u043f\u043e\u0447\u0442\u0435<\/li>\n<li>\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u043f\u043e\u0447\u0442\u043e\u0439<\/li>\n<\/ul>\n<p>  \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u043f\u0440\u0435\u0436\u0434\u0435, \u0447\u0435\u043c \u0434\u0432\u0438\u0433\u0430\u0442\u044c\u0441\u044f \u0434\u0430\u043b\u044c\u0448\u0435, \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043b \u043f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0435\u0435\u0441\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0441\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u043e\u043c \u043f\u043e \u0434\u0435\u043b\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0443. \u0422\u0435\u043c \u0431\u043e\u043b\u0435\u0435, \u0447\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u043d\u0430 \u043f\u0435\u0440\u0432\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u043d\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043b\u0430 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b, \u0442.\u043a. \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0438 \u043f\u043e\u043a\u0430 \u043d\u0435 \u043f\u0440\u0438\u0432\u044b\u043a\u043b\u0438 \u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e. \u041f\u043e\u043b\u0443\u0447\u0438\u0432 \u043f\u043e\u043b\u0435\u0437\u043d\u0443\u044e \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u0441\u0432\u044f\u0437\u044c, \u043f\u0435\u0440\u0435\u0448\u0435\u043b \u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f\u043c.<\/p>\n<h4>\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044f<\/h4>\n<p>  \u041a\u0430\u043a \u0431\u044b\u043b\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u2013 \u044d\u0442\u043e \u043a\u043d\u043e\u043f\u043a\u0430 \u043f\u043e\u0434 \u0444\u043e\u0440\u043c\u043e\u0439 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0438\u043b\u0438 \u0440\u044f\u0434\u043e\u043c \u0441 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0441\u043a\u0440\u0438\u043f\u0442 \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430. \u0421\u043f\u0435\u0440\u0432\u0430 \u043e\u043f\u0438\u0448\u0443 \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u0430 \u0441\u0430\u043c\u043e\u0435 \u00ab\u0432\u043a\u0443\u0441\u043d\u0435\u043d\u044c\u043a\u043e\u0435\u00bb \u0438 \u00ab\u0437\u0434\u043e\u0440\u043e\u0432\u0435\u043d\u044c\u043a\u043e\u0435\u00bb \u043e\u0441\u0442\u0430\u0432\u043b\u044e \u043d\u0430\u043f\u043e\u0441\u043b\u0435\u0434\u043e\u043a.<\/p>\n<h5>\u041e\u043f\u0440\u0430\u0432\u043b\u0435\u043d [\u2026]<\/h5>\n<p>  \u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u043d\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0435 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442, \u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u044e\u0449\u0438\u0435 \u0444\u0430\u043a\u0442 \u0435\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u043e\u043c \u043f\u043e \u0434\u0435\u043b\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0443 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f:  <\/p>\n<ul>\n<li>\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u0444\u0430\u043a\u0441\u043e\u043c<\/li>\n<li>\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u043a\u0443\u0440\u044c\u0435\u0440\u043e\u043c<\/li>\n<li>\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u043d\u0430\u0440\u043e\u0447\u043d\u044b\u043c<\/li>\n<li>\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u043f\u043e\u0447\u0442\u043e\u0439<\/li>\n<\/ul>\n<p>  \u0412\u0441\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0438\u043c\u0435\u044e\u0442 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442, \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f \u043a\u043e\u0434\u043e\u043c \u0441\u0442\u0430\u0442\u0443\u0441\u0430:  <\/p>\n<pre><code class=\"php\">if (empty(cobjectref()-&gt;attributeref('crs_management_outgoing_sentdate')-&gt;value)) {     cobjectref()-&gt;attributeref('crs_management_outgoing_sentdate')-&gt;value = currentDateTime(); } cobjectref()-&gt;status = 'crs_management_outgoing_courier'; $msg = cobjectref()-&gt;commentTasks(); if (!empty($msg))     echo implode('',$msg);   <\/code><\/pre>\n<p>  \u0412 \u044d\u0442\u043e\u043c \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c &#8216;crs_management_outgoing_courier&#8217; \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u0430\u0442\u0443\u0441 \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u0434\u0440\u0443\u0433\u043e\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435.<\/p>\n<h5>\u0412\u0441\u0435 \u0434\u043e\u043f. \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u044b<\/h5>\n<p>  \u0421\u0435\u0440\u0432\u0438\u0441\u043d\u043e\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435, \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 \u00ab\u0414\u043e\u043f. \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u044b\u00bb \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u044f \u0432 \u043d\u0435\u043c \u0432\u0441\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u044b. \u0412 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0435, \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u0431\u043e\u0440\u0430 \u043a\u043e\u043d\u0442\u0440\u0430\u0433\u0435\u043d\u0442\u0430, \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u044b \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u043a\u043e\u043d\u0442\u0440\u0430\u0433\u0435\u043d\u0442\u0430. \u0412 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435 \u0441\u043b\u0443\u0447\u0430\u0435\u0432 \u0442\u0430\u043a \u0438 \u043d\u0430\u0434\u043e. \u0412 \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u044d\u0442\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435. \u0421\u043a\u0440\u0438\u043f\u0442 \u043f\u0440\u043e\u0441\u0442\u043e\u0439:  <\/p>\n<pre><code class=\"php\">$contacts = cobjectref()-&gt;prepareOutgoingContacts(); asort($contacts); cobjectref()-&gt;attributeref('crs_management_outgoing_recipients')-&gt;values = $contacts; <\/code><\/pre>\n<h5>\u0414\u043e\u043f. \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u044b \u043a\u043e\u043d\u0442\u0440\u0430\u0433\u0435\u043d\u0442\u0430<\/h5>\n<p>  \u0421\u0435\u0440\u0432\u0438\u0441\u043d\u043e\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0435 \u0432\u044b\u0448\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u043c\u0443. \u041f\u043e\u0441\u043b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f, \u0432 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u044b \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0440\u0430\u0433\u0435\u043d\u0442\u0430. \u0421\u043a\u0440\u0438\u043f\u0442 \u0442\u043e\u0436\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0439:  <\/p>\n<pre><code class=\"php\">if (!empty(cobjectref()-&gt;attributeref('crs_management_outgoing_contragent')-&gt;value)) {     $contacts = cobjectref()-&gt;prepareOutgoingContacts(cobjectref()-&gt;attributeref('crs_management_outgoing_contragent')-&gt;value);     cobjectref()-&gt;attributeref('crs_management_outgoing_recipients')-&gt;values = $contacts; } <\/code><\/pre>\n<p>  \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u043a\u0430\u043a \u0438\u0437\u044f\u0449\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0440\u0435\u0448\u0438\u0442\u044c \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u0430 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043e\u0432 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u00ab\u0414\u043e \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u00bb \u0444\u0443\u043d\u043a\u0446\u0438\u0438 prepareOutgoingContacts. \u041f\u0440\u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0438 \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u2013 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043f\u043e\u043b\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043e\u0432, \u043f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430 \u043a\u043e\u043d\u0442\u0440\u0430\u0433\u0435\u043d\u0442\u0430 \u2013 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043e\u0442\u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a. \u041e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0435 \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u00ab\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043d\u043d\u043e\u0435\u00bb \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0431\u043e\u043b\u0435\u0435 \u0433\u0438\u0431\u043a\u043e\u0435, \u0447\u0435\u043c \u00ab\u043d\u0430\u043a\u043b\u0438\u043a\u0438\u0432\u0430\u0435\u043c\u043e\u0435\u00bb.<\/p>\n<h5>\u0423\u0432\u0435\u0434\u043e\u043c\u0438\u0442\u044c \u043e \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0435<\/h5>\n<p>  \u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0437\u0430\u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u043b\u0438\u0446\u0430\u043c \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0435 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u0438\u0441\u044c\u043c\u043e \u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e \u0430\u0434\u0440\u0435\u0441\u0430\u0442\u0443 \u0438, \u0433\u043b\u0430\u0432\u043d\u043e\u0435, \u043f\u043e\u043b\u0443\u0447\u0435\u043d \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044f. \u0411\u0435\u0437 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u0445 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u043e\u043c \u043f\u043e \u0434\u0435\u043b\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0443 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u043f\u043e\u043b\u0435\u0439, \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044e\u0449\u0438\u0445 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435, \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e \u043d\u0435 \u0431\u0443\u0434\u0435\u0442! \u0421\u043a\u0440\u0438\u043f\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0439:  <\/p>\n<pre><code class=\"php\">if (empty(cobjectref()-&gt;crs_management_outgoing_performers))     throw new Exception('\u041d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u0438 \u043f\u0438\u0441\u044c\u043c\u0430. \u0423\u0432\u0435\u0434\u043e\u043c\u043b\u044f\u0442\u044c \u043d\u0435\u043a\u043e\u0433\u043e!');      if (empty(cobjectref()-&gt;crs_management_outgoing_contragentdate))     throw new Exception('\u041d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u0430 \u0434\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u0438\u0441\u044c\u043c\u0430 \u0430\u0434\u0440\u0435\u0441\u0430\u0442\u043e\u043c!'); if (cobjectref()-&gt;hasAttributeref('crs_management_outgoing_contragentperson') && empty(cobjectref()-&gt;crs_management_outgoing_contragentperson))     throw new Exception('\u041d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u0444\u0430\u043c\u0438\u043b\u0438\u044f \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0435\u0433\u043e \u043f\u0438\u0441\u044c\u043c\u043e!'); cobjectref()-&gt;description = cobjectref()-&gt;calcOutgoingDesc(); $to = corganization()-&gt;users(cobjectref()-&gt;crs_management_outgoing_performers); $body = array(     '\u0414\u043e\u0431\u0440\u044b\u0439 \u0434\u0435\u043d\u044c!',     ' ',     '\u041f\u0438\u0441\u044c\u043c\u043e: '.cobjectref()-&gt;viewLink(),     '\u0422\u0435\u043c\u0430: '.cobjectref()-&gt;crs_management_outgoing_subj,     '\u0414\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e \u0430\u0434\u0440\u0435\u0441\u0430\u0442\u0443 \u0443\u0441\u043f\u0435\u0448\u043d\u043e.',     '\u041f\u043e\u043b\u0443\u0447\u0438\u043b: '.(cobjectref()-&gt;hasAttributeref('crs_management_outgoing_contragentperson') ? cobjectref()-&gt;crs_management_outgoing_contragentperson : ''),     '\u0414\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f: '.cobjectref()-&gt;crs_management_outgoing_contragentdate,     ' ',     '\u0421 \u0443\u0432\u0430\u0436\u0435\u043d\u0438\u0435\u043c,',     cuser()-&gt;description ); $options = array(     'from'=&gt;cuser(),     'to'=&gt;$to,     'subj'=&gt;'\u0423\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0435 \u043e \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0435 '.cobjectref()-&gt;description,     'body'=&gt;implode('',$body),  ); $options['bcc'] = cuser(); sendEmail($options); $message = array(); foreach ($to as $u)     $message[] = $u-&gt;viewLink(); echo '\u0423\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430\u043c:'.implode('', $message);   \/\/\u0437\u0430\u043f\u0438\u0441\u044c \u0432 \u0438\u0441\u0442\u043e\u0440\u0438\u044e caction()-&gt;result = '\u0423\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e: '.implode(',', $message); <\/code><\/pre>\n<p>  \u041d\u0440\u0430\u0432\u0438\u0442\u0441\u044f, \u043a\u0430\u043a \u0438\u0437\u044f\u0449\u043d\u043e <a href=\"http:\/\/easla.com\">easla.com<\/a> \u0443\u043c\u0435\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u0438\u0441\u044c\u043c\u0430. \u0414\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e sendMail \u0441 \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u0438 \u0432\u0441\u0435! \u041d\u0438\u043a\u0430\u043a\u0438\u0445 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0441 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u043e\u0439 \u0442\u0435\u043b\u0430 \u043f\u0438\u0441\u044c\u043c\u0430, \u0432\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432 \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u0439. \u0412\u0441\u0435 \u043f\u0440\u043e\u0441\u0442\u043e!<\/p>\n<h5>\u0420\u0430\u0441\u0448\u0430\u0440\u0438\u0442\u044c<\/h5>\n<p>  \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0438 \u043f\u0440\u043e\u0441\u044f\u0442 \u043d\u0435 \u043f\u0440\u0438\u0441\u044b\u043b\u0430\u0442\u044c \u0438\u043c \u043d\u0430 \u044d\u043b. \u043f\u043e\u0447\u0442\u0443 \u043f\u0438\u0441\u044c\u043c\u0430 \u0441 \u0432\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438, \u0430 \u043f\u0440\u0438\u0441\u044b\u043b\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0441\u044b\u043b\u043a\u0438 \u0434\u043b\u044f \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432. \u041d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u0430\u043a\u0438\u0435 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0438, \u0432\u0441\u0435 \u0431\u044b \u0442\u0430\u043a\u0438\u0435 \u0431\u044b\u043b\u0438, \u043d\u043e \u00ab\u043d\u0435 \u0432\u0441\u0435 \u043a\u043e\u0442\u0443 \u043c\u0430\u0441\u043b\u0435\u043d\u0438\u0446\u0430\u00bb. \u0418\u043c\u0435\u043d\u043d\u043e \u0434\u043b\u044f \u0442\u0430\u043a\u0438\u0445 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u044b\u0445 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u043e\u0432 \u0432 <a href=\"http:\/\/easla.com\">easla.com<\/a> \u0435\u0441\u0442\u044c \u0441\u0432\u043e\u0439 \u0444\u0430\u0439\u043b\u043e\u043e\u0431\u043c\u0435\u043d\u043d\u0438\u043a \u0438\u043b\u0438, \u043a\u0430\u043a \u00ab\u0430\u0439\u0442\u0438\u0448\u043d\u0438\u043a\u0438\u00bb \u0435\u0433\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442, \u0448\u0430\u0440\u0430. \u0420\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u0444\u0430\u0439\u043b\u043e\u043e\u0431\u043c\u0435\u043d\u043d\u0438\u043a\u0435 \u0444\u0430\u0439\u043b\u044b \u043c\u043e\u0436\u043d\u043e \u043d\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u044b\u0439 \u0441\u0440\u043e\u043a, \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c \u043f\u043e\u043b\u0433\u043e\u0434\u0430. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u044b \u0443\u0434\u0430\u043b\u044f\u044e\u0442\u0441\u044f \u0438 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0448\u0430\u0440\u0435 \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0430\u0435\u0442\u0441\u044f. \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0441\u044f \u043a \u0444\u0430\u0439\u043b\u0430\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0441\u044b\u043b\u043a\u0435. \u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u0435\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e.<br \/>  \u0418\u043d\u043e\u0433\u0434\u0430 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0440\u0430\u0441\u0448\u0430\u0440\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u043d\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u044f \u043f\u0438\u0441\u044c\u043c\u043e. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0444\u0430\u0439\u043b \u0441\u043a\u0430\u0447\u0430\u043b\u0438 \u0438 \u043f\u043e\u0442\u0435\u0440\u044f\u043b\u0438 \u0438\u043b\u0438 \u043f\u043e \u0438\u043d\u044b\u043c \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c \u0445\u043e\u0442\u044f\u0442 \u0441\u043a\u0430\u0447\u0430\u0442\u044c, \u0430 \u043e\u043d \u0443\u0436\u0435 \u0443\u0434\u0430\u043b\u0435\u043d. \u0421\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442 \u043f\u043e \u0434\u0435\u043b\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0443 \u043a\u043b\u0438\u043a\u0430\u0435\u0442 \u043d\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0441\u043a\u0440\u0438\u043f\u0442:  <\/p>\n<pre><code class=\"php\">$odt = date_create(); $cdt = date_add(date_create(), new DateInterval('P1D')); $share = shareFiles(     cobjectref(),      array('crs_management_outgoing_document','crs_management_outgoing_attachments'),     $odt,     $cdt,     cuser(),     'CP866' ); if (empty($share))     throw new Exception(&quot;\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0432\u044b\u043b\u043e\u0436\u0438\u0442\u044c \u0430\u0440\u0445\u0438\u0432 \u0432 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f!&quot;);      echo '\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0430\u0440\u0445\u0438\u0432 \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u0435: '.$share-&gt;link(); <\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435, \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443 \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0442\u043e\u043c\u0443, \u043a\u0442\u043e \u043f\u0440\u043e\u0441\u0438\u043b.<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/c94\/858\/3b0\/c948583b07104996af50eb4f44afce0a.png\"\/><\/p>\n<h5>\u0412 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443<\/h5>\n<p>  \u0421\u0435\u0440\u0432\u0438\u0441\u043d\u043e-\u0441\u043f\u0430\u0441\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u0443 \u043f\u043e \u0434\u0435\u043b\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0443. \u041f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442 \u043f\u0438\u0441\u044c\u043c\u043e \u0438\u0437 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u0441\u0442\u0430\u0442\u0443\u0441\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u00ab\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e \u043f\u043e \u044d\u043b. \u043f\u043e\u0447\u0442\u0435\u00bb \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443. \u0411\u044b\u0432\u0430\u0435\u0442\u2026<br \/>  \u042d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0441\u0442\u0430\u0442\u0443\u0441 \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u0440\u0430\u0434\u0438 \u0447\u0435\u0433\u043e \u0432 \u043d\u0435\u043c \u0441\u043d\u044f\u0442\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0430\u044f \u0433\u0430\u043b\u043e\u0447\u043a\u0430. \u0421\u043a\u0440\u0438\u043f\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u043d\u044f\u0435\u0442 \u0441\u0442\u0430\u0442\u0443\u0441:  <\/p>\n<pre><code class=\"php\">cobjectref()-&gt;status = 'crs_management_outgoing_created'; <\/code><\/pre>\n<h5>\u041e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c<\/h5>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0435\u0442 \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c, \u043a\u043e\u0433\u043e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c \u043f\u0438\u0441\u044c\u043c\u043e\u043c. \u041d\u043e \u044d\u0442\u043e \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u0441\u043a\u043e\u0440\u0435\u0435 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0443 \u00ab\u0417\u0430\u0434\u0430\u0447\u0438\u00bb \u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043d\u0430\u0434\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0441\u0442\u0430\u0442\u044c\u044e. \u0421\u043a\u0440\u0438\u043f\u0442 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043e\u0431\u044a\u0435\u043a\u0442 \u0432 \u0434\u0440\u0443\u0433\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435:  <\/p>\n<pre><code class=\"php\">$new_notification = new Objectref(); $new_notification-&gt;prepare(objectDef('tsk_management','tsk_notification')); $new_notification-&gt;attributeref('tsk_notification_subj')-&gt;value = '\u041f\u0440\u043e\u0448\u0443 \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 '.cobjectref()-&gt;description; $new_notification-&gt;attributeref('tsk_notification_base')-&gt;value = cobjectref()-&gt;id; caction()-&gt;redirect = urlNewObjectref($new_notification); <\/code><\/pre>\n<h5>\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0437\u0430\u0434\u0430\u0447\u0443<\/h5>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0435\u0442 \u0437\u0430\u0434\u0430\u0447\u0443 \u0441\u043e \u0441\u0441\u044b\u043b\u043a\u043e\u0439 \u043d\u0430 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u0432 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u0434\u043b\u044f \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u044f. \u041d\u043e \u044d\u0442\u043e \u0442\u043e\u0436\u0435, \u0441\u043a\u043e\u0440\u0435\u0435, \u043f\u0440\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u00ab\u0417\u0430\u0434\u0430\u0447\u0438\u00bb, \u0445\u043e\u0442\u044f \u0441\u043a\u0440\u0438\u043f\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043d\u0430\u0434\u043e:  <\/p>\n<pre><code class=\"php\">$subj = ''; if (!empty(cobjectref()-&gt;attributeref('crs_management_outgoing_subj')-&gt;value))     $subj = $subj.(strlen($subj) &gt; 0 ? ' ' : '').cobjectref()-&gt;attributeref('crs_management_outgoing_subj')-&gt;value; $new_task = new Objectref(); $new_task-&gt;prepare(objectDef('tsk_management','tsk_task')); $new_task-&gt;attributeref('tsk_task_subj')-&gt;value = $subj; $new_task-&gt;attributeref('tsk_task_base_open')-&gt;value = cobjectref()-&gt;id; caction()-&gt;redirect = urlNewObjectref($new_task); <\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u044b \u0434\u043e\u0447\u0438\u0442\u0430\u043b\u0438 \u0434\u043e \u044d\u0442\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430, \u0432\u0435\u0440\u044e, \u0447\u0442\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0432\u0430\u0441 \u043d\u0435 \u0440\u0430\u0437\u043e\u0447\u0430\u0440\u0443\u0435\u0442. \u042d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435! \u042d\u0442\u043e \u043c\u043e\u043d\u0441\u0442\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u0435\u043b\u0430\u0435\u0442 \u0432\u0441\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u0437\u0430 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430! \u042d\u0442\u043e \u0448\u0435\u0434\u0435\u0432\u0440!<\/p>\n<h5>\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043f\u043e \u044d\u043b. \u043f\u043e\u0447\u0442\u0435<\/h5>\n<p>  \u0421\u0430\u043c\u043e\u0435 \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0432 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u043c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0435! \u041e\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u043e\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c! \u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441\u0430\u043c\u043e \u0443\u043f\u0430\u043a\u0443\u0435\u0442 \u0444\u0430\u0439\u043b\u044b, \u0440\u0430\u0437\u043e\u0431\u044c\u0435\u0442 \u043d\u0430 \u0442\u043e\u043c\u0430, \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442 \u043e\u0434\u043d\u043e \u0438\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0438\u0441\u0435\u043c \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442 \u0430\u0434\u0440\u0435\u0441\u0430\u0442\u0430\u043c.<br \/>  \u041d\u0430 \u043c\u043e\u0435\u0439 \u043f\u0430\u043c\u044f\u0442\u0438, \u043a\u043e\u0433\u0434\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b \u043f\u0440\u043e\u0446\u0435\u0441\u0441, \u043a\u0430\u043a \u0432\u0441\u0435\u0433\u0434\u0430 \u0432 \u043f\u044f\u0442\u043d\u0438\u0446\u0443 \u0413\u0418\u041f \u0433\u043e\u0442\u043e\u0432\u0438\u043b \u043a \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435 3 \u043f\u0438\u0441\u044c\u043c\u0430, \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u0431\u044b\u043b\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043f\u043e 200\u041c\u0431 \u043f\u0440\u0438\u043b\u0430\u0433\u0430\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432. \u0412 \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u0413\u0418\u041f\u0430\u043c \u0435\u0449\u0435 \u043d\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u043b\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u0438\u0441\u044c\u043c\u0430 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e, \u0442.\u043a. \u043e\u043d\u0438 \u00ab\u0441\u043f\u0443\u0441\u0442\u044f \u0440\u0443\u043a\u0430\u0432\u0430\u00bb \u043e\u0442\u043d\u043e\u0441\u0438\u043b\u0438\u0441\u044c \u043a \u0438\u0445 \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u044e. \u041a \u043a\u043e\u043d\u0446\u0443 \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u0434\u043d\u044f, \u0440\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u043e\u043d \u043d\u0435 \u0443\u0441\u043f\u0435\u043b \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u043f\u0438\u0441\u044c\u043c\u0430, \u0430 \u0432 \u043f\u044f\u0442\u043d\u0438\u0446\u0443 \u0432\u0441\u0435\u043c \u0441\u0440\u043e\u0447\u043d\u043e-\u0441\u0440\u043e\u0447\u043d\u043e \u043d\u0430\u0434\u043e \u0434\u043e\u043c\u043e\u0439\/\u043f\u043e \u0434\u0435\u043b\u0430\u043c\/\u0432 \u043f\u0430\u0431, \u0432 \u043e\u0431\u0449\u0435\u043c, \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442 \u043f\u043e \u0434\u0435\u043b\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0443 \u0443\u0431\u0435\u0436\u0430\u043b\u0430 \u0434\u043e\u043c\u043e\u0439, \u0430 \u043e\u043d \u043f\u043e\u0437\u0432\u043e\u043d\u0438\u043b \u043c\u043d\u0435 \u0438 \u043d\u0430\u0447\u0430\u043b \u0443\u043c\u043e\u043b\u044f\u0442\u044c:<br \/>   \u2014 \u0417\u0430\u0434\u0435\u0440\u0436\u0438\u0441\u044c, \u043d\u0430\u0434\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0438\u0441\u044c\u043c\u0430 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c! \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430!<br \/>   \u2014 \u0422\u0430\u043a \u0437\u0430\u0447\u0435\u043c \u0437\u0430\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c\u0441\u044f? \u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u0436\u0435 \u043e\u043d\u043b\u0430\u0439\u043d!<br \/>   \u2014 \u0418 \u0447\u0442\u043e?<br \/>   \u2014 \u0422\u044b \u043f\u0440\u0438\u0448\u043b\u0438 \u043c\u043d\u0435 \u043d\u0430 \u043f\u043e\u0447\u0442\u0443 \u043d\u043e\u043c\u0435\u0440\u0430 \u043f\u0438\u0441\u0435\u043c \u0438\u043b\u0438 \u0433\u0438\u043f\u0435\u0440\u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u043f\u0438\u0441\u044c\u043c\u0430, \u044f \u0438\u0437 \u0434\u043e\u043c\u0430 \u0438\u043b\u0438 \u0441 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044e.<br \/>   \u2014 \u0410 \u0442\u0430\u043a \u043c\u043e\u0436\u043d\u043e?<br \/>   \u2014 \u041d\u0438\u043a\u0430\u043a\u0438\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c!<br \/>  \u041d\u0430 \u0442\u043e\u043c \u0438 \u043f\u043e\u0440\u0435\u0448\u0438\u043b\u0438. \u041d\u0430\u0432\u0435\u0440\u043d\u043e\u0435 \u0432 9 \u0432\u0435\u0447\u0435\u0440\u0430 \u043c\u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u043e \u043f\u0438\u0441\u044c\u043c\u043e \u043e\u0442 \u0413\u0418\u041f\u0430 \u0441\u043e \u0441\u0441\u044b\u043b\u043a\u0430\u043c\u0438 \u043d\u0430 \u043f\u0438\u0441\u044c\u043c\u0430. \u041e\u0442\u043a\u0440\u044b\u043b \u043a\u0430\u0436\u0434\u043e\u0435. \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043b \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u0435. \u041d\u0430\u0436\u0430\u043b \u043d\u0430 \u00ab\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043f\u043e \u044d\u043b. \u043f\u043e\u0447\u0442\u0435\u00bb. \u0412\u0441\u0435 \u0442\u0440\u0438 \u043f\u0438\u0441\u044c\u043c\u0430 \u0443\u0448\u043b\u0438 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0443 \u043c\u0438\u043d\u0443\u0442 \u0437\u0430 5! \u0414\u0430 \u0432 \u0431\u044b\u043b\u044b\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0430, \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442 \u043f\u043e \u0434\u0435\u043b\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0443 \u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0430 \u0431\u044b \u044d\u0442\u0438 \u043f\u0438\u0441\u044c\u043c\u0430 \u043a \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435 \u0435\u0449\u0435 \u0447\u0430\u0441\u0430 3 \u043c\u0438\u043d\u0438\u043c\u0443\u043c!<br \/>  \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u0441\u043a\u0440\u0438\u043f\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f \u043d\u0435\u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0439, \u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0438 \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u0439 \u043b\u044e\u0431\u043e\u043c\u0443 PHP \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0443:  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041c\u043d\u043e\u0433\u043e-\u043c\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0434\u043b\u044f \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043b\u043e\u0433\u0438\u043a\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0438\u0441\u0445. \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"php\">if (empty(cobjectref()-&gt;attributeref('crs_management_outgoing_regnum')-&gt;value))     throw new Exception('\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0435 \u043f\u0438\u0441\u044c\u043c\u043e \u0431\u0435\u0437 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u043d\u043e\u043c\u0435\u0440\u0430!'); if (empty(cobjectref()-&gt;attributeref('crs_management_outgoing_subj')-&gt;value))     throw new Exception('\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0435 \u043f\u0438\u0441\u044c\u043c\u043e \u0431\u0435\u0437 \u0442\u0435\u043c\u044b!');  function contactEmail($contact) {     if (empty($contact))         return false;              $emails = $contact-&gt;attributeref('crm_management_contact_email')-&gt;value;     if (empty($emails))         return false;              return $emails[0]; } function contragentEmail($contagent) {     if (empty($contagent))         return false;              $emails = $contagent-&gt;attributeref('crm_management_contragent_email')-&gt;value;     if (empty($emails))         return false;              return $emails[0]; } function getEmail($contact) {     $e = contactEmail($contact);          if ($e === false)     {         if (empty($contact-&gt;attributeref('crm_management_contact_contragent')-&gt;value))             throw new Exception(&quot;\u041d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d \u043a\u043e\u043d\u0442\u0440\u0430\u0433\u0435\u043d\u0442 \u0434\u043b\u044f \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0430 &quot;.$contact-&gt;viewLink());                      $contragent = select($contact-&gt;attributeref('crm_management_contact_contragent')-&gt;value);         $e = contragentEmail($contragent);     }          return $e === false ? false : array($e =&gt; $contact-&gt;description); } function getMainEmail($contact) {     $e = contactEmail($contact);     if ($e === false)         $email_1 = false;     else         $email_1 = array($e =&gt; $contact-&gt;description);          $contragent = select($contact-&gt;attributeref('crm_management_contact_contragent')-&gt;value);     $e = contragentEmail($contragent);     if ($e === false)         $email_2 = false;     else         $email_2 = array($e =&gt; $contragent-&gt;description);          $emails = array();     if ($email_1)         $emails += $email_1;     if ($email_2)         $emails += $email_2;             unset($email_1, $email_2);     return $emails === array() ? false : $emails; } function sendEmailDocumentOnly(&$msg, $objref, $to, $cc, $user, $checkSize = 5120000, $maxSize = '4500k', $extra_msg = '') {     $dfs = $objref-&gt;attributeref('crs_management_outgoing_document')-&gt;filesSize;     $body = array(         '\u0414\u043e\u0431\u0440\u044b\u0439 \u0434\u0435\u043d\u044c!',         ' ',         '\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043c\u044b .', easla.com         '\u0412\u043e \u0432\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 '.$objref-&gt;description.'.',         $extra_msg,         '\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0441\u043e\u043e\u0431\u0449\u0438\u0442\u0435 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u043d\u043e\u043c\u0435\u0440 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u043d\u0430 \u0414\u0435\u043b\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c@sngp.ru',         ' ',         '\u0421 \u0443\u0432\u0430\u0436\u0435\u043d\u0438\u0435\u043c,',         $user-&gt;description     );          if ($dfs &lt; $checkSize)         $files = array('compress'=&gt;'zip', 'codepage'=&gt;'CP866');     else         $files = array('compress'=&gt;array('maxSize'=&gt;$maxSize));              $files['attributeCodes'] = 'crs_management_outgoing_document';              $options = array(         'from'=&gt;$user,         'to'=&gt;$to,         'subj'=&gt;$objref-&gt;description.' '.$objref-&gt;attributeref('crs_management_outgoing_subj')-&gt;value,         'body'=&gt;implode('',$body),          'objects'=&gt;$objref,         'files'=&gt;$files     );          if (!empty($cc))         $options['cc'] = $cc;          $options['bcc'] = $user;          sendEmail($options);          $rcvs = array();     foreach ($to as $e=&gt;$d)         $rcvs[] = corganization()-&gt;object($d)-&gt;viewLink().' ('.$e.')';              if (isset($cc))         foreach ($cc as $e=&gt;$d)             $rcvs[] = corganization()-&gt;object($d)-&gt;viewLink().' ('.$e.')';          $msg = '\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0430\u0434\u0440\u0435\u0441\u0430\u0442\u0430\u043c: '.implode(',', $rcvs).' \u041e\u0431\u0449\u0438\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u0444\u0430\u0439\u043b\u043e\u0432: '.$dfs; } function sendEmailDocumentAndAttachments(&$msg, $objref, $to, $cc, $user, $checkSize = 5120000, $maxSize = '4500k', $extra_msg = '') {     $dfs = $objref-&gt;attributeref('crs_management_outgoing_document')-&gt;filesSize;     $afs = $objref-&gt;attributeref('crs_management_outgoing_attachments')-&gt;filesSize;     $body = array(         '\u0414\u043e\u0431\u0440\u044b\u0439 \u0434\u0435\u043d\u044c!',         ' ',         '\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043c\u044b .', easla.com         '\u0412\u043e \u0432\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 '.$objref-&gt;description.($afs &gt; 0 ? ' \u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f' : '').'.',         $extra_msg,         '\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0441\u043e\u043e\u0431\u0449\u0438\u0442\u0435 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u043d\u043e\u043c\u0435\u0440 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u043d\u0430 \u0414\u0435\u043b\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c@sngp.ru',         ' ',         '\u0421 \u0443\u0432\u0430\u0436\u0435\u043d\u0438\u0435\u043c,',         $user-&gt;description     );          if ($dfs +$afs &lt; $checkSize)         $files = array('compress'=&gt;'zip', 'codepage'=&gt;'CP866');     else         $files = array('compress'=&gt;array('maxSize'=&gt;$maxSize));              $options = array(         'from'=&gt;$user,         'to'=&gt;$to,         'subj'=&gt;$objref-&gt;description.' '.$objref-&gt;attributeref('crs_management_outgoing_subj')-&gt;value,         'body'=&gt;implode('',$body),          'objects'=&gt;$objref,         'files'=&gt;$files     );          if (!empty($cc))         $options['cc'] = $cc;          $options['bcc'] = $user;          sendEmail($options);          $rcvs = array();     foreach ($to as $e=&gt;$d)         $rcvs[] = corganization()-&gt;object($d)-&gt;viewLink().' ('.$e.')';              if (isset($cc))         foreach ($cc as $e=&gt;$d)             $rcvs[] = corganization()-&gt;object($d)-&gt;viewLink().' ('.$e.')';          $msg = '\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0430\u0434\u0440\u0435\u0441\u0430\u0442\u0430\u043c: '.implode(',', $rcvs).' \u041e\u0431\u0449\u0438\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u0444\u0430\u0439\u043b\u043e\u0432: '.($dfs+$afs); } function sendShareDocumentAndAttachments(&$msg, $objref, $to, $cc, $user, $extra_msg = '') {     $odt = date_create();     $cdt = date_add(date_create(), new DateInterval('P14D'));          $share = shareFiles(         cobjectref(),          array('crs_management_outgoing_document','crs_management_outgoing_attachments'),         $odt,         $cdt,         $user,         'CP866'     );          $body = array(         '\u0414\u043e\u0431\u0440\u044b\u0439 \u0434\u0435\u043d\u044c!',         ' ',         '\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043c\u044b .', easla.com         '\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u043f\u0438\u0441\u044c\u043c\u043e \u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043e\u0434\u043d\u0438\u043c \u0444\u0430\u0439\u043b\u043e\u043c \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435 '.$share-&gt;link().'.',         $extra_msg,         '\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0441\u043e\u043e\u0431\u0449\u0438\u0442\u0435 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u043d\u043e\u043c\u0435\u0440 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u043d\u0430 \u0414\u0435\u043b\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c@sngp.ru',         ' ',         '\u0421 \u0443\u0432\u0430\u0436\u0435\u043d\u0438\u0435\u043c,',         $user-&gt;description     );     $options = array(         'from'=&gt;$user,         'to'=&gt;$to,         'subj'=&gt;$objref-&gt;description.' '.$objref-&gt;attributeref('crs_management_outgoing_subj')-&gt;value,         'body'=&gt;implode('',$body),      );          if (!empty($cc))         $options['cc'] = $cc;          $options['bcc'] = $user;          sendEmail($options);          $rcvs = array();     foreach ($to as $e=&gt;$d)         $rcvs[] = corganization()-&gt;object($d)-&gt;viewLink().' ('.$e.')';              if (isset($cc))         foreach ($cc as $e=&gt;$d)             $rcvs[] = corganization()-&gt;object($d)-&gt;viewLink().' ('.$e.')';          $msg = '\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0430\u0440\u0445\u0438\u0432 '.$share-&gt;link().' \u0441 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u043c \u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0430\u0434\u0440\u0435\u0441\u0430\u0442\u0430\u043c: '.implode(',', $rcvs); } function shareAttachments(&$msg, $objref, $user) {     $odt = date_create();     $cdt = date_add(date_create(), new DateInterval('P14D'));          $share = shareFiles(         cobjectref(),          array('crs_management_outgoing_attachments'),         $odt,         $cdt,         $user,         'CP866'     );          $msg = '\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043e\u0434\u043d\u0438\u043c \u0444\u0430\u0439\u043b\u043e\u043c \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435 '.$share-&gt;link(); } function sendAsIsDocumentAndAttachments(&$msg, $objref, $to, $cc, $user, $maxSize = '4500k', $extra_msg = '') {     $dfs = $objref-&gt;attributeref('crs_management_outgoing_document')-&gt;filesSize;     $afs = $objref-&gt;attributeref('crs_management_outgoing_attachments')-&gt;filesSize;          $body = array(         '\u0414\u043e\u0431\u0440\u044b\u0439 \u0434\u0435\u043d\u044c!',         ' ',         '\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043c\u044b .', easla.com         '\u0412\u043e \u0432\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 '.$objref-&gt;description.($afs &gt; 0 ? ' \u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f' : '').' \u043e\u0431\u0449\u0438\u043c \u043e\u0431\u044a\u0435\u043c\u043e\u043c \u043d\u0435 \u0431\u043e\u043b\u0435\u0435 '. $maxSize.'.',         $extra_msg,         '\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0441\u043e\u043e\u0431\u0449\u0438\u0442\u0435 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u043d\u043e\u043c\u0435\u0440 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u043d\u0430 \u0414\u0435\u043b\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c@sngp.ru',         ' ',         '\u0421 \u0443\u0432\u0430\u0436\u0435\u043d\u0438\u0435\u043c,',         $user-&gt;description     );     $options = array(         'from'=&gt;$user,         'to'=&gt;$to,         'subj'=&gt;$objref-&gt;description.' '.$objref-&gt;attributeref('crs_management_outgoing_subj')-&gt;value,         'body'=&gt;implode('',$body),          'objects'=&gt;$objref,         'files'=&gt;array('maxSize'=&gt;$maxSize)     );          if (!empty($cc))         $options['cc'] = $cc;          $options['bcc'] = $user;          sendEmail($options);          $rcvs = array();     foreach ($to as $e=&gt;$d)         $rcvs[] = corganization()-&gt;object($d)-&gt;viewLink().' ('.$e.')';              if (isset($cc))         foreach ($cc as $e=&gt;$d)             $rcvs[] = corganization()-&gt;object($d)-&gt;viewLink().' ('.$e.')';          $msg = '\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0430\u0434\u0440\u0435\u0441\u0430\u0442\u0430\u043c: '.implode(',', $rcvs).' \u041e\u0431\u0449\u0438\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u0444\u0430\u0439\u043b\u043e\u0432: '.($dfs+$afs); } function sendFtpSngpRuAttachments(&$msg, $objref, $to, $cc, $user, $login, $password) {     $ftp_addr = 'ftp.sngp.ru';     $ftp_link = '';     $dfs = $objref-&gt;attributeref('crs_management_outgoing_document')-&gt;filesSize;     $afs = $objref-&gt;attributeref('crs_management_outgoing_attachments')-&gt;filesSize;          if (cobjectref()-&gt;attributeref('crs_management_outgoing_attachments')-&gt;filesCount &gt; 0) {         $ftp = ftp_ssl_connect($ftp_addr);                  if ($ftp == FALSE)             throw new Exception('\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0435\u0434\u0438\u043d\u0438\u0442\u044c\u0441\u044f \u0441 FTPS \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c '.$ftp_addr.'!');                      ftp_login($ftp,$login,$password);         ftp_pasv($ftp, true);         $dir = &quot;files&quot;;                  if (!@ftp_chdir($ftp, $dir)) {             ftp_mkdir($ftp, $dir);             ftp_chdir($ftp, $dir);         }                  $zip = normalizeFilename($objref-&gt;description).' - \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.zip';         $objref-&gt;attributeref('crs_management_outgoing_attachments')-&gt;ftp_put($ftp, $zip, FTP_BINARY);         ftp_close($ftp);                  $ftp_link = ''; '.$zip.'     }          $files = array(         'attributeCodes'=&gt;'crs_management_outgoing_document',         'compress'=&gt;'zip',          'codepage'=&gt;'CP866'     );     $body = array(         '\u0414\u043e\u0431\u0440\u044b\u0439 \u0434\u0435\u043d\u044c!',         ' ',         '\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043c\u044b .', easla.com         '\u0412\u043e \u0432\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 '.$objref-&gt;description.' \u043e\u0431\u044a\u0435\u043c\u043e\u043c '.formatSize($dfs).'.',         ($ftp_link == '' ? '' : '\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u044b \u043d\u0430 FTPS \u0441\u0435\u0440\u0432\u0435\u0440\u0435 ftps:\/\/'.$ftp_addr.' [\u043b\u043e\u0433\u0438\u043d: '.$login.'] \u0444\u0430\u0439\u043b '.$ftp_link.'.'),         '\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0441\u043e\u043e\u0431\u0449\u0438\u0442\u0435 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u043d\u043e\u043c\u0435\u0440 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u043d\u0430 \u0414\u0435\u043b\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c@sngp.ru',         ' ',         '\u0421 \u0443\u0432\u0430\u0436\u0435\u043d\u0438\u0435\u043c,',         $user-&gt;description     );          $options = array(         'from'=&gt;$user,         'to'=&gt;$to,         'subj'=&gt;$objref-&gt;description.' '.$objref-&gt;attributeref('crs_management_outgoing_subj')-&gt;value,         'body'=&gt;implode('',$body),          'objects'=&gt;$objref,         'files'=&gt;$files     );          if (!empty($cc))         $options['cc'] = $cc;          $options['bcc'] = $user;          sendEmail($options);          $rcvs = array();     foreach ($to as $e=&gt;$d)         $rcvs[] = corganization()-&gt;object($d)-&gt;viewLink().' ('.$e.')';              if (isset($cc))         foreach ($cc as $e=&gt;$d)             $rcvs[] = corganization()-&gt;object($d)-&gt;viewLink().' ('.$e.')';          $msg = '\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0430\u0434\u0440\u0435\u0441\u0430\u0442\u0430\u043c: '.implode(',', $rcvs).' \u041e\u0431\u044a\u0435\u043c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430: '.($dfs).' \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u044b \u043d\u0430 '.$ftp_addr.' [\u043b\u043e\u0433\u0438\u043d: '.$login.'].'; }  if (empty(cobjectref()-&gt;attributeref('crs_management_outgoing_contragent')-&gt;value))     throw new Exception('\u041d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0430\u0434\u0440\u0435\u0441\u0430\u0442 (\u043a\u043e\u043d\u0442\u0440\u0430\u0433\u0435\u043d\u0442) \u0432 \u043f\u0438\u0441\u044c\u043c\u0435 '.cobjectref()-&gt;viewLink()); if (empty(cobjectref()-&gt;attributeref('crs_management_outgoing_contact')-&gt;value))     throw new Exception('\u041d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0430\u0434\u0440\u0435\u0441\u0430\u0442 (\u043a\u043e\u043d\u0442\u0430\u043a\u0442) \u0432 \u043f\u0438\u0441\u044c\u043c\u0435 '.cobjectref()-&gt;viewLink()); \/\/define $to $contragent = select(cobjectref()-&gt;attributeref('crs_management_outgoing_contragent')-&gt;value); $to = contragentEmail($contragent); if ($to === false)     throw new Exception('\u041d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d \u044d\u043b. \u0430\u0434\u0440\u0435\u0441 \u0434\u043b\u044f '.$contragent-&gt;viewLink().' \u0432 \u043f\u0438\u0441\u044c\u043c\u0435 '.cobjectref()-&gt;viewLink()); $to = array($to =&gt; $contragent-&gt;description); \/\/define $cc $cc = array(); $contact = select(cobjectref()-&gt;attributeref('crs_management_outgoing_contact')-&gt;value); $tmp = getEmail($contact); if ($tmp === false)     throw new Exception('\u041d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d \u044d\u043b. \u0430\u0434\u0440\u0435\u0441 \u0434\u043b\u044f '.$contact-&gt;viewLink().' \u0432 \u043f\u0438\u0441\u044c\u043c\u0435 '.cobjectref()-&gt;viewLink()); $cc += $tmp; if (!empty(cobjectref()-&gt;attributeref('crs_management_outgoing_recipients')-&gt;value)) {     $contacts = selects(cobjectref()-&gt;attributeref('crs_management_outgoing_recipients')-&gt;value);     foreach ($contacts as $contact)     {         $tmp = getEmail($contact);         if ($tmp === false)             throw new Exception('\u041d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d \u044d\u043b. \u0430\u0434\u0440\u0435\u0441 \u0434\u043b\u044f '.$contact-&gt;viewLink().' \u0432 \u043f\u0438\u0441\u044c\u043c\u0435 '.cobjectref()-&gt;viewLink());                      $cc += $tmp;     } }      if (!empty(cobjectref()-&gt;attributeref('crs_management_outgoing_notifiers')-&gt;value)) {     $contacts = selects(cobjectref()-&gt;attributeref('crs_management_outgoing_notifiers')-&gt;value);     foreach ($contacts as $contact)     {         $tmp = getEmail($contact);         if ($tmp === false)             throw new Exception('\u041d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d \u044d\u043b. \u0430\u0434\u0440\u0435\u0441 \u0434\u043b\u044f '.$contact-&gt;viewLink().' \u0432 \u043f\u0438\u0441\u044c\u043c\u0435 '.cobjectref()-&gt;viewLink());                      $cc += $tmp;     } } if (empty($cc))     $cc = null; $cuser = cuser(); $rule = ''; if (cobjectref()-&gt;hasAttributeref('crs_management_outgoing_rule'))     $rule = classificator(cobjectref()-&gt;crs_management_outgoing_rule)-&gt;code; $link = ''; if (cobjectref()-&gt;hasAttributeref('crs_management_outgoing_attachments_link')) {     if (!empty(cobjectref()-&gt;attributeref('crs_management_outgoing_attachments_link')-&gt;value))         $link = '\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0434\u043e\u043f. \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u043e .'; \u0441\u0441\u044b\u043b\u043a\u0435 }      $msg = ''; switch ($rule) {     case 'crs_outgoing_rule_all_max5':         sendEmailDocumentAndAttachments($msg, cobjectref(), $to, $cc, $cuser, 5120000, '4500k', $link);         break;     case 'crs_outgoing_rule_all_max4':         sendEmailDocumentAndAttachments($msg, cobjectref(), $to, $cc, $cuser, 4096000, '3500k', $link);         break;     case 'crs_outgoing_rule_all_max3':         sendEmailDocumentAndAttachments($msg, cobjectref(), $to, $cc, $cuser, 3072000, '2500k', $link);         break;        case 'crs_outgoing_rule_all_max10':         sendEmailDocumentAndAttachments($msg, cobjectref(), $to, $cc, $cuser, 10240000, '9500k', $link);         break;      case 'crs_outgoing_rule_all_max25':         sendEmailDocumentAndAttachments($msg, cobjectref(), $to, $cc, $cuser, 25600000, '20m', $link);         break;        case 'crs_outgoing_rule_doc_att_max5':         if (empty($cc))             sendEmailDocumentAndAttachments($msg, cobjectref(), $to, null, $cuser, 5120000, '4500k', $link);         else {             $m1 = '';             $m2 = '';             sendEmailDocumentOnly($m1, cobjectref(), $to, null, $cuser, 5120000, '4500k', $link);             sendEmailDocumentAndAttachments($m2, cobjectref(), $cc, null, $cuser, 5120000, '4500k', $link);             $msg = $m1.' '.$m2;             unset($m1,$m2);         }         break;     case 'crs_outgoing_rule_doc_att_max25':         if (empty($cc))             sendEmailDocumentAndAttachments($msg, cobjectref(), $to, null, $cuser, 25600000, '20m', $link);         else {             $m1 = '';             $m2 = '';             sendEmailDocumentOnly($m1, cobjectref(), $to, null, $cuser, 25600000, '20m', $link);             sendEmailDocumentAndAttachments($m2, cobjectref(), $cc, null, $cuser, 25600000, '20m', $link);             $msg = $m1.' '.$m2;             unset($m1,$m2);         }         break;         case 'crs_outgoing_rule_all_share':         sendShareDocumentAndAttachments($msg, cobjectref(), $to, $cc, $cuser, $link);         break;     case 'crs_outgoing_rule_doc_att_share':         if (empty($cc)) {             if (empty(cobjectref()-&gt;attributeref('crs_management_outgoing_attachments')-&gt;value))                 sendEmailDocumentOnly($msg, cobjectref(), $to, null, $cuser, 25600000, '20m', $link);             else                 sendShareDocumentAndAttachments($msg, cobjectref(), $to, null, $cuser, $link);         } else {             $m1 = '';             $m2 = '';             sendEmailDocumentOnly($m1, cobjectref(), $to, null, $cuser, 25600000, '20m', $link);             sendShareDocumentAndAttachments($m2, cobjectref(), $cc, null, $cuser, $link);             $msg = $m1.' '.$m2;             unset($m1,$m2);         }         break;     case 'crs_outgoing_rule_doc_att_share_max1':         $sum = cobjectref()-&gt;attributeref('crs_management_outgoing_document')-&gt;filesSize + cobjectref()-&gt;attributeref('crs_management_outgoing_attachments')-&gt;filesSize;         if ($sum &lt; 1048576) {             sendAsIsDocumentAndAttachments($msg, cobjectref(), $to, $cc, $cuser, '1m', $link);          } else {             $m1 = '';             $m2 = '';             shareAttachments($m2, cobjectref(), $cuser);             sendEmailDocumentOnly($msg, cobjectref(), $to, $cc, $cuser, 25600000, '20m', $m2.''.$link);          }         break;     case 'crs_outgoing_rule_asis_max3':         sendAsIsDocumentAndAttachments($msg, cobjectref(), $to, $cc, $cuser, '3m', $link);          break;     case 'crs_outgoing_rule_asis_max5':         sendAsIsDocumentAndAttachments($msg, cobjectref(), $to, $cc, $cuser, '5m', $link);          break;     case 'crs_outgoing_rule_asis_max10':         sendAsIsDocumentAndAttachments($msg, cobjectref(), $to, $cc, $cuser, '10m', $link);         break;     case 'crs_outgoing_rule_asis_max20':         sendAsIsDocumentAndAttachments($msg, cobjectref(), $to, $cc, $cuser, '20m', $link);         break;     case 'crs_outgoing_rule_ftp_sngp_ru_tyungd':         sendFtpSngpRuAttachments($msg, cobjectref(), $to, $cc, $cuser, '\u043d\u0435\u043a\u0438\u0439 \u043b\u043e\u0433\u0438\u043d', '\u043d\u0435\u043a\u0438\u0439 \u043f\u0430\u0440\u043e\u043b\u044c');         break;     default:         sendEmailDocumentAndAttachments($msg, cobjectref(), $to, $cc, $cuser, $link); } if (empty(cobjectref()-&gt;attributeref('crs_management_outgoing_sentdate')-&gt;value)) {     cobjectref()-&gt;attributeref('crs_management_outgoing_sentdate')-&gt;value = currentDateTime();     cobjectref()-&gt;description = cobjectref()-&gt;calcOutgoingDesc();     cobjectref()-&gt;updateDocumentFileName(); } cobjectref()-&gt;status = 'crs_management_outgoing_email'; $rcvs = array(); foreach ($to as $e=&gt;$d)     $rcvs[] = corganization()-&gt;object($d)-&gt;viewLink().' ('.$e.')';      if (isset($cc))     foreach ($cc as $e=&gt;$d)         $rcvs[] = corganization()-&gt;object($d)-&gt;viewLink().' ('.$e.')';          \/\/\u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f $notices = array(); $ruser = corganization()-&gt;user(cobjectref()-&gt;crs_management_outgoing_responsibleuser); $rgroups = $ruser-&gt;groups(); if (empty($rgroups))     $notices[] = $ruser; else {     $f = false;     foreach($rgroups as $rgroup)         if (strncmp($rgroup['data_one'],'09.',3) == 0)         {             $notices = $rgroup-&gt;users();             $f = true;             break;         }              if (!$f)         $notices[] = $ruser; }         if (!empty(cobjectref()-&gt;crs_management_outgoing_performers)) {     $eusers = corganization()-&gt;users(cobjectref()-&gt;crs_management_outgoing_performers);     if (!empty($eusers))          $notices = array_merge($notices, $eusers); } $notices = array_unique($notices, SORT_REGULAR); if (!empty(cobjectref()-&gt;crs_management_outgoing_contract)) {     $contracts = selects(cobjectref()-&gt;crs_management_outgoing_contract);     foreach($contracts as &$c) {         $c = $c-&gt;viewLink();     } } else {     $contracts = array(); } foreach($notices as $n) {     $rbody = array(         '\u0423\u0432\u0430\u0436\u0430\u0435\u043c\u044b\u0439 '.$n-&gt;description.'!',         ' ',         '\u041f\u0438\u0441\u044c\u043c\u043e: '.cobjectref()-&gt;viewLink(),         '\u0422\u0435\u043c\u0430: '.cobjectref()-&gt;crs_management_outgoing_subj,         '\u0414\u043e\u0433\u043e\u0432\u043e\u0440:'.implode(', ', $contracts),         '\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0430\u0434\u0440\u0435\u0441\u0430\u0442\u0430\u043c:',         implode('', $rcvs),          ' ',         '\u0421 \u0443\u0432\u0430\u0436\u0435\u043d\u0438\u0435\u043c,',         cuser()-&gt;description         );          sendEmail(array(         \/\/ 'from'=&gt;cuser(),         'to'=&gt;$n,         'subj'=&gt;'\u0423\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0435 \u043e\u0431 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435 '.cobjectref()-&gt;description,         'body'=&gt;implode('',$rbody),      )); } $task_msg = cobjectref()-&gt;commentTasks(); if (!empty($task_msg))     $msg .= ''.implode('',$task_msg);         echo $msg; \/\/\u0437\u0430\u043f\u0438\u0441\u044c \u0432 \u0438\u0441\u0442\u043e\u0440\u0438\u044e caction()-&gt;result = $msg; <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u041e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0440\u0430\u0437 \u043e\u0431\u0440\u0430\u0449\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044e sendMail. \u041e\u043d\u0430 \u0443\u043c\u0435\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u0438\u0441\u044c\u043c\u0430 \u0441 \u0444\u0430\u0439\u043b\u0430\u043c\u0438, \u0445\u0440\u0430\u043d\u044f\u0449\u0438\u0445\u0441\u044f \u0432 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430\u0445 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0431\u0435\u0437 \u0441\u0436\u0430\u0442\u0438\u044f, \u0441\u043e \u0441\u0436\u0430\u0442\u0438\u0435\u043c \u0432 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/ZIP\">zip<\/a>, \u0441\u043e \u0441\u0436\u0430\u0442\u0438\u0435\u043c \u0432 \u043c\u043d\u043e\u0433\u043e\u0442\u043e\u043c\u043d\u044b\u0439 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/7-Zip\">7zip<\/a> \u0438 \u0434\u0430\u0436\u0435 \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u0443\u044f \u043f\u043e \u043e\u0431\u044a\u0435\u043c\u0443.<br \/>  \u0412\u0441\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u0438 \u0438 \u043e\u0442\u0432. \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0435 \u0432 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u043c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0442 \u0432\u043e\u0442 \u0442\u0430\u043a\u043e\u0435 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f:<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/ef6\/7fb\/581\/ef67fb581ecb434cbf6daa6d8e38a399.png\"\/><\/p>\n<h4>\u0420\u043e\u043b\u0438<\/h4>\n<p>  \u0420\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0430\u0432 \u043f\u0440\u043e\u0449\u0435 \u043d\u0435 \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u0435\u0448\u044c. \u041a\u0430\u0436\u0434\u044b\u0439 \u043c\u043e\u0436\u0435\u0442 \u0434\u0435\u043b\u0430\u0442\u044c \u0441 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u043c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u043c \u0432\u0441\u0435, \u0447\u0442\u043e \u0443\u0433\u043e\u0434\u043d\u043e, \u043f\u043e\u043a\u0430 \u0442\u043e\u0442 \u043d\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d, \u0442.\u0435. \u043d\u0435 \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d \u0432 \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0441\u0442\u0430\u0442\u0443\u0441.<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/f12\/7c1\/5d0\/f127c15d04b74e99936ec15c5edfa770.png\"\/><\/p>\n<h4>\u041f\u043e\u043a\u0430 \u0432\u0441\u0435<\/h4>\n<p>  \u041f\u043e\u043a\u0430 \u0445\u0432\u0430\u0442\u0438\u0442 \u0438 \u0442\u0430\u043a \u043c\u043d\u043e\u0433\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043b. \u041d\u0435 \u043e\u0441\u0438\u043b\u0438\u0442\u044c! \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044e \u043a\u0430\u0436\u0434\u043e\u0433\u043e, \u043a\u0442\u043e \u0434\u043e\u0447\u0438\u0442\u0430\u043b \u0434\u043e \u043a\u043e\u043d\u0446\u0430, \u043d\u0430\u0434\u0435\u044e\u0441\u044c, \u0432\u044b \u043f\u043e\u0447\u0435\u0440\u043f\u043d\u0443\u043b\u0438 \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0435!<br \/>  \u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043f\u0440\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u0432\u0438\u0434\u043e\u0432. \u041f\u0438\u0441\u0430\u043d\u0438\u043d\u044b \u0438 \u043a\u043e\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u043c\u0435\u043d\u044c\u0448\u0435, \u043d\u043e \u043e\u0442 \u044d\u0442\u043e\u0433\u043e \u043d\u0435 \u043c\u0435\u043d\u0435\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e. \u0412\u0441\u0435 \u0432\u0438\u0434\u044b \u0432 <a href=\"http:\/\/easla.com\">easla.com<\/a> \u0442\u043e\u0436\u0435 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u043c\u0438, \u043e\u0442\u0441\u044e\u0434\u0430 \u043d\u0435\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u0430\u044f \u0433\u0438\u0431\u043a\u043e\u0441\u0442\u044c \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435!<br \/>  P.S. \u041f\u043e\u0432\u0442\u043e\u0440\u044e\u0441\u044c. \u041e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u0432\u044b\u0448\u0435 \u043e\u0431\u044a\u0435\u043a\u0442 \u00ab\u0418\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u00bb \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d \u0432 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 <a href=\"https:\/\/easla.com\/ru\/process\/infoAlone\/process_id\/159\">\u041f\u0435\u0440\u0435\u043f\u0438\u0441\u043a\u0430<\/a>. \u0417\u0430\u0438\u043c\u0441\u0442\u0432\u0443\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441, \u0432\u044b \u043c\u043e\u0436\u043d\u043e \u043d\u0435 \u0442\u0435\u0440\u044f\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u0432\u044b\u0448\u0435 \u043a\u043e\u0434\u0430.               <\/p>\n<div class=\"clear\"><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habrahabr.ru\/post\/281999\/\"> https:\/\/habrahabr.ru\/post\/281999\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>       \u0425\u043e\u0447\u0443 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0441\u0432\u043e\u0435\u0433\u043e \u043e\u043f\u044b\u0442\u0430 \u0443\u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u043a\u043e\u0440\u0440\u0435\u0441\u043f\u043e\u043d\u0434\u0435\u043d\u0446\u0438\u0439 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u043d\u043e\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438, \u043d\u0430\u0447\u0430\u0442\u044b\u0439 \u0432 <a href=\"https:\/\/habrahabr.ru\/company\/easla\/blog\/281839\/\">\u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435<\/a>. \u041d\u0430\u043f\u043e\u043c\u043d\u044e, \u0447\u0442\u043e \u0432\u043c\u0435\u0441\u0442\u043e elma \u0431\u044b\u043b\u0430 \u0432\u044b\u0431\u0440\u0430\u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 easla.com \u0438 \u0432 \u043d\u0435\u0439 \u0443\u0436\u0435 \u0431\u044b\u043b\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430.<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/231\/b6c\/dc6\/231b6cdc68f040ff9e6897ae3d3c62a4.png\"\/><br \/>  \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0448\u0430\u0433\u043e\u043c \u043a \u0446\u0435\u043b\u0438 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430. \u0422\u043e \u0431\u044b\u043b\u0438 \u0446\u0432\u0435\u0442\u043e\u0447\u043a\u0438\u2026 \u043f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c \u0435\u0449\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0442\u0435\u043a\u0441\u0442\u0430 \u0438 \u043a\u043e\u0434\u0430.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-278646","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/278646","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=278646"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/278646\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=278646"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=278646"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=278646"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}