first commit
This commit is contained in:
280
platform/optional-dependencies.html
Normal file
280
platform/optional-dependencies.html
Normal file
@ -0,0 +1,280 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
|
||||
<head>
|
||||
<title>Опциональные зависимости</title>
|
||||
<meta name="generator" content="Help+Manual" />
|
||||
<meta name="keywords" content="" />
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="Опциональная зависимость — это механизм, позволяющий настраивать связь между компонентом (виджетом, модулем, бизнес‑процессом) и разделом или пользовательским модулем..." />
|
||||
<meta name="picture" content="" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="Cправка по Low-code платформе ELMA365" />
|
||||
<meta property="og:url" content="https://elma365.com/ru/help" />
|
||||
<meta property="og:image" content="" />
|
||||
<meta property="og:site_name" content="ELMA365" />
|
||||
<link rel="icon" href="favicon.png" type="image/png" />
|
||||
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
|
||||
<link rel="stylesheet" href="./jquery-ui.min.css" />
|
||||
<link rel="stylesheet" href="default.css" />
|
||||
<link rel="stylesheet" href="./search-yandex.css" />
|
||||
<link rel="stylesheet" href="./article.css" />
|
||||
<link rel="stylesheet" href="./glossary.css" />
|
||||
<link rel="stylesheet" href="./theme.css" />
|
||||
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="helpman_settings.js"></script>
|
||||
<script type="text/javascript" src="helpman_topicinit.js"></script>
|
||||
|
||||
<script type="text/javascript" src="highlight.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){highlight();});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-M6ETBEC1R9"></script><script>window.dataLayer=window.dataLayer || []; function gtag(){dataLayer.push(arguments);}gtag('js', new Date()); gtag('config', 'G-M6ETBEC1R9');</script>
|
||||
<script>!function(e,t,c,n,r,a,m){e.ym=e.ym||function(){(e.ym.a=e.ym.a||[]).push(arguments)},e.ym.l=1*new Date;for(var s=0;s<document.scripts.length;s++)if(document.scripts[s].src===n)return;a=t.createElement(c),m=t.getElementsByTagName(c)[0],a.async=1,a.src=n,m.parentNode.insertBefore(a,m)}(window,document,"script","https://mc.yandex.ru/metrika/tag.js"),ym(83179930,"init",{clickmap:!0,trackLinks:!0,accurateTrackBounce:!0,webvisor:!0})</script><noscript><div><img alt=""src=https://mc.yandex.ru/watch/83179930 style=position:absolute;left:-9999px></div></noscript>
|
||||
|
||||
<header class="header elma-365">
|
||||
<div class="container">
|
||||
<a class="header__logo" href="https://elma365.com/ru/help">
|
||||
<img src="./logo.svg" alt="header logo">
|
||||
</a>
|
||||
<!-- <div class="hero__search-form" id="search-panel">
|
||||
<form class="search-form" onsubmit="ym(83179930,'reachGoal','poisk')">
|
||||
<label class="search-form__label">
|
||||
<span id="reset-search" class="search__icon"></span>
|
||||
<input class="search-form__input" type="text">
|
||||
</label>
|
||||
<input class="search-form__submit" type="submit" value="Submit">
|
||||
</form>
|
||||
</div> -->
|
||||
|
||||
<div class="hero__search-form" id="search-panel"> <form class="search-form"> <label class="search-form__label"> <span id="reset-search" class="search__icon"></span> <input class="search-form__input" type="text"> </label> <input class="search-form__submit" type="submit" value="Submit"> </form> </div>
|
||||
<div class="hero__search">
|
||||
<a href="#" id="search-icon" class="hero__search-icon">
|
||||
<img src="search-icon-white.svg" alt="search string">
|
||||
</a>
|
||||
<a href="#" id="side-menu-icon" class="hero__side-icon">
|
||||
<img src="side_menu.svg" alt="side menu">
|
||||
</a>
|
||||
</div>
|
||||
<div class="header__navi">
|
||||
|
||||
<ul class="header__list"><li><span class="solution-select"><span class="solution-select__selected"></span><svg width="7" height="4" viewBox="0 0 7 4" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L3.5 3.5L6 1" stroke="white" stroke-linecap="round" stroke-linejoin="round"/></svg><ul class="solution-select__list"><li><a class="project-link" href="https://elma365.com/ru/help/platform/get-trial.html">Платформа</a></li><li><a class="project-link" href="https://elma365.com/ru/help/ecm/ecm-functions.html">ECM</a></li><li><a class="project-link" href="https://elma365.com/ru/help/crm/crm_overview.html">CRM</a></li><li><a class="project-link" href="https://elma365.com/ru/help/service/service-functions.html">Service</a></li><li><a class="project-link" href="https://elma365.com/ru/help/projects/projects-functions.html">Проекты</a></li><li><a class="project-link" href="https://elma365.com/ru/help/business_solutions/-elma365-store.html">Бизнес-решения</a></li></ul></span></li><li><a href="https://api.elma365.com/ru/"target="_blank">API</a></li><li><a href="https://tssdk.elma365.com/"target="_blank">SDK</a></li><li><a href="https://community.elma365.com/" target="_blank">Community</a></li><li><a href="https://elma-academy.com/ru/" target="_blank">Академия</a></li><li><a href="https://elma365.com/ru/" target="_blank">Сайт ELMA365</a></li></ul>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
|
||||
|
||||
<main class="main container">
|
||||
|
||||
<aside class="sidebar" id="sidebar">
|
||||
<div class="sidebar__header">
|
||||
<a class="header__logo" href="https://elma365.com/ru/help">
|
||||
<img src="./logo-light.svg">
|
||||
</a>
|
||||
<span class="sidebar__close elma-365-close" id="close"></span>
|
||||
</div>
|
||||
<div class="sidebar__wrapper" id="side-menu">
|
||||
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<article class="article" id="article">
|
||||
<div class="article-inner">
|
||||
<div class="content">
|
||||
<header class="article__header">
|
||||
<div class="article__bread" style="display:flex; gap:10px;">
|
||||
<span id="subcategory" class="search-res__item-category search-res__item-category_subcategory subcategory article__badge"></span>
|
||||
|
||||
<div class="topic__breadcrumbs">
|
||||
<p><a href="solutions-building.html">Разработка решений на платформе ELMA365</a> / Опциональные зависимости</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="topic__title"><h1 class="p_Heading1"><span class="f_Heading1">Опциональные зависимости</span></h1>
|
||||
</div>
|
||||
|
||||
</header>
|
||||
<section class="article__content">
|
||||
<div class="scroll-top-inner">
|
||||
<a href="#h1-article" class="scroll-top"></a>
|
||||
</div>
|
||||
<!-- Placeholder for topic body. -->
|
||||
<p style="line-height: 1.28; margin: 0 0 11px 0;"><span style="font-size: 15px; font-family: Inter; font-weight: bold;">Опциональная зависимость</span><span style="font-size: 15px; font-family: Inter;"> — это механизм, позволяющий настраивать связь между компонентом (виджетом, модулем, бизнес‑процессом) и разделом или пользовательским модулем без жёсткой привязки. Это означает, что компонент может обращаться к объектам выбранного раздела или модуля через глобальную константу </span><code><b>Imports</b></code><span style="font-size: 15px; font-family: Inter;">, но его работоспособность не зависит от наличия этого раздела или модуля. Таким образом, опциональные зависимости обеспечивают гибкость и расширяемость при разработке и дистрибуции компонентов системы.</span></p>
|
||||
<p style="line-height: 1.28; margin: 0 0 11px 0;"><span style="font-size: 15px; font-family: Inter;">Ключевые особенности опциональной зависимости:</span></p>
|
||||
<ul style="list-style-type:disc">
|
||||
<li style="line-height: 1.28; margin-top: 0; margin-right: 0; margin-bottom: 11px;"><span style="font-size: 15px; font-family: Inter;">опциональная зависимость работает в рамках скрипта, который получает доступ к другому разделу или модулю через уникальное имя, задаваемое для этого раздела или модуля;</span></li><li style="line-height: 1.28; margin-top: 0; margin-right: 0; margin-bottom: 11px;"><span style="font-size: 15px; font-family: Inter;">в скрипте компонента доступна глобальная константа </span><code><b>Imports</b></code><span style="font-size: 15px; font-family: Inter;">. Эта константа позволяет в коде скрипта обращаться к объектам и функциям раздела или модуля, с которым установлена опциональная зависимость;</span></li><li style="line-height: 1.28; margin-top: 0; margin-right: 0; margin-bottom: 11px;"><span style="font-size: 15px; font-family: Inter;">компоненты, использующие опциональные зависимости, можно экспортировать и импортировать между различными средами или компаниями без наличия связанных разделов или модулей в целевой среде. Это обеспечивает удобство переноса решений и их независимость от конкретных конфигураций системы;</span></li><li style="line-height: 1.28; margin-top: 0; margin-right: 0; margin-bottom: 11px;"><span style="font-size: 15px; font-family: Inter;">при отсутствии зависимого раздела или модуля в целевой системе связанные функции либо не активируются, либо можно настроить вывод сообщения об ошибке.</span></li></ul>
|
||||
<p style="line-height: 1.28; margin: 0 0 11px 0;"><span style="font-size: 15px; font-family: Inter;">Примеры применения опциональной зависимости включают создание гибких бизнес-процессов, виджетов и других компонентов системы, которые могут взаимодействовать с разнообразными модулями и разделами, не требуя их обязательного наличия для функционирования основной логики. Это особенно важно для разработки расширяемых решений, где новые функции и модули могут добавляться по мере необходимости без переработки уже существующих компонентов.</span></p>
|
||||
<h2 class="p_Heading2"><span class="f_Heading2">Добавление опциональной зависимости</span></h2>
|
||||
<p><span style="font-size: 15px; font-family: Inter;">Когда вы настраиваете опциональную зависимость в скрипте, вы выбираете, к какому именно разделу или модулю хотите получить доступ, и присваиваете ему уникальное имя. Это имя затем используется в коде скрипта для обращения к функциям или данным выбранного раздела или модуля.</span></p>
|
||||
<p style="line-height: 1.28; margin: 0 0 11px 0;"><span style="font-size: 15px; font-family: Inter;">Подробнее о том, как создать опциональные зависимости в разных компонентах системы, читайте в статьях:</span></p>
|
||||
<ul style="list-style-type:disc">
|
||||
<li style="page-break-after: avoid;"><span style="font-size: 15px; font-family: Inter;">для виджетов — </span><span style="font-size: 15px; font-family: Calibri,Vectora,'Droid Sans','Open Sans',Frutiger,sans-serif; color: #0563c1;"><a href="designer-tabs.html#access-settings" class="topiclink">«Вкладки дизайнера»</a></span><span style="font-size: 15px; font-family: Inter;">;</span></li><li style="page-break-after: avoid;"><span style="font-size: 15px; font-family: Inter;">для бизнес-процессов — </span><span style="font-size: 15px; font-family: Calibri,Vectora,'Droid Sans','Open Sans',Frutiger,sans-serif; color: #0563c1;"><a href="360028476691.html#settings" class="topiclink">«Вкладка „Скрипты“»</a></span><span style="font-size: 15px; font-family: Inter;">;</span></li><li style="line-height: 1.28; margin-top: 0; margin-right: 0; margin-bottom: 11px;"><span style="font-size: 15px; font-family: Inter;">в модулях:</span><ul style="list-style-type:disc">
|
||||
<li style="line-height: 1.28; margin-top: 0; margin-right: 0; margin-bottom: 11px;"><span style="font-size: 15px; font-family: Inter;">для действия типа </span><span style="font-size: 15px; font-family: Inter; font-weight: bold;">Скрипт</span><span style="font-size: 15px; font-family: Inter;"> — </span><span style="font-size: 15px; font-family: Calibri,Vectora,'Droid Sans','Open Sans',Frutiger,sans-serif; color: #0563c1;"><a href="script-activity.html#scripts-tab" class="topiclink">«Скрипт»</a></span><span style="font-size: 15px; font-family: Inter;">;</span></li><li style="line-height: 1.28; margin-top: 0; margin-right: 0; margin-bottom: 11px;"><span style="font-size: 15px; font-family: Inter;">для методов API — </span><span style="font-size: 15px; font-family: Calibri,Vectora,'Droid Sans','Open Sans',Frutiger,sans-serif; color: #0563c1;"><a href="extention-api.html#access-to-global-constants" class="topiclink">«Методы API в модулях»</a></span><span style="font-size: 15px; font-family: Inter;">;</span></li><li style="line-height: 1.28; margin-top: 0; margin-right: 0; margin-bottom: 11px;"><span style="font-size: 15px; font-family: Inter;">для обработчика событий типа </span><span style="font-size: 15px; font-family: Inter; font-weight: bold;">Запуск скрипта</span><span style="font-size: 15px; font-family: Inter;"> — </span><span style="font-size: 15px; font-family: Calibri,Vectora,'Droid Sans','Open Sans',Frutiger,sans-serif; color: #0563c1;"><a href="events_processing.html#access-to-global-constants" class="topiclink">«Обработка событий в модулях»</a></span><span style="font-size: 15px; font-family: Inter;">.</span></li></ul></li></ul>
|
||||
<p style="line-height: 1.28; margin: 0 0 11px 0;"><span style="font-size: 15px; font-family: Inter;">После добавления опциональной зависимости в скрипте доступна глобальная константа </span><b><code>Imports</code></b><span style="font-size: 15px; font-family: Inter;">. С её помощью можно обращаться к объектам выбранного раздела или пользовательского модуля.</span></p>
|
||||
<h2 class="p_Heading2"><a id="use-imports" class="hmanchor"></a><span class="f_Heading2">Применение глобальной константы Imports</span></h2>
|
||||
<p class="p_Normal">Когда вы добавляете опциональную зависимость, вы получаете доступ к глобальной константе <code><b>Imports</b></code>. Эта константа позволяет вам работать с объектами внутри раздела, например, с помощью скрипта добавить пользователя на портал или создать элемент приложения. Взаимодействовать с модулем можно при помощи настроенных в нём методов API и действий в бизнес‑процессах.</p>
|
||||
<p style="line-height: 1.28; margin: 0 0 11px 0;"><span style="font-size: 15px; font-family: Inter;">Пример использования включает вызов метода API, который находится в другом разделе системы:</span></p>
|
||||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample" style="font-weight: bold;">if</span><span class="f_CodeExample"> (Imports?.documents) {</span><br />
|
||||
<span class="f_CodeExample"> let result = await Imports.documents.api.validate.call();</span><br />
|
||||
<span class="f_CodeExample"> </span><span class="f_CodeExample" style="font-style: italic;">// ...</span><br />
|
||||
<span class="f_CodeExample">}</span></p>
|
||||
<p style="line-height: 1.28; margin: 0 0 11px 0;"><span style="font-size: 15px; font-family: Inter;">При написании скрипта учитывайте, что компонент с использованием константы </span><code><b>Imports</b></code><span style="font-size: 13px; font-family: 'Courier New',Courier,monospace; font-weight: bold;"> </span><span style="font-size: 15px; font-family: Inter;">можно импортировать, даже если зависимость в компании не найдена. Рекомендуется добавить блок кода, который выполняется, если не удаётся обратиться к выбранному разделу или модулю. Например, чтобы выводить понятную для пользователя ошибку.</span></p>
|
||||
<p style="line-height: 1.28; margin: 0 0 11px 0;"><span style="font-size: 15px; font-family: Inter;">Кроме того, компонент со скриптом и раздел или модуль, с которым создана опциональная зависимость, можно экспортировать совместно в составе </span><span style="font-size: 15px; font-family: Inter; color: #0563c1;"><a href="create-solution.html" class="topiclink">решения</a></span><span style="font-size: 15px; font-family: Inter;">.</span></p>
|
||||
<p style="line-height: 1.28; margin: 0 0 11px 0;"><span style="font-size: 15px; font-family: Inter;">Подробнее об экспорте компонентов с глобальными константами читайте в статье </span><span style="font-size: 15px; font-family: Inter; color: #0563c1;"><a href="global-constants.html#export-restrictions" class="topiclink">«Глобальные константы в скриптах»</a></span><span style="font-size: 15px; font-family: Inter;">.</span><a id="compatible-with-older-versions" class="hmanchor"></a></p>
|
||||
<p style="line-height: 1.28; margin: 0 0 11px 0;"><span style="font-size: 15px; font-family: Inter;"><a class="dropdown-toggle" style="font-style: normal; font-weight: normal; color: #000000; background-color: transparent; text-decoration: none;" href="javascript:HMToggle('toggle','TOGGLE0186A1')">Совместимость решения с версиями системы, где не поддерживается Imports</a></span></p>
|
||||
<div id="TOGGLE0186A1" class="dropdown-toggle-body" style="text-align: left; text-indent: 0; line-height: 1.28; padding: 0 0 0 0; margin: 0 0 11px 0;"><table style="border:none; border-spacing:0;">
|
||||
<tr>
|
||||
<td style="vertical-align:top; padding:0; border:none"><p style="line-height: 1.28; margin: 0 0 11px 0;"><span style="font-size: 13px; color: #000000;"> </span><br />
|
||||
<span style="font-size: 15px; font-family: Inter;">В версиях системы ниже 2023.11 объект </span><code><b>Imports</b></code><span style="font-size: 15px; font-family: 'Courier New',Courier,monospace; font-weight: bold;"> </span><span style="font-size: 15px; font-family: Inter;">недоступен. Если вы разрабатываете решение, которое должно быть совместимо с более ранними версиями платформы, используйте в начале скрипта функцию следующего вида:</span><br />
|
||||
<span style="font-size: 15px; font-family: Inter;"> </span><br />
|
||||
<span style="font-size: 15px; font-family: Inter;"> </span></p>
|
||||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">function getImports() {</span><br />
|
||||
<span class="f_CodeExample"> // Присвоение начального значения локальной переменной</span><br />
|
||||
<span class="f_CodeExample"> return typeof Imports !== 'undefined' ? <typeof Imports>Imports : undefined;</span><br />
|
||||
<span class="f_CodeExample">}</span><br />
|
||||
<span class="f_CodeExample"> </span><br />
|
||||
<span class="f_CodeExample">const __Imports = getImports();</span><br />
|
||||
<span class="f_CodeExample"> </span><br />
|
||||
<span class="f_CodeExample">// Далее в коде можно использовать переменную `__Imports`</span><br />
|
||||
<span class="f_CodeExample">if (__Imports?.payment_docs) {</span><br />
|
||||
<span class="f_CodeExample"> let item = __Imports.payment_docs.app.invoices.create();</span><br />
|
||||
<span class="f_CodeExample">}</span></p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<h2 class="p_Heading2"><span class="f_Heading2">Пример использования опциональной зависимости</span></h2>
|
||||
<p style="line-height: 1.28; margin: 0 0 11px 0;"><span style="font-size: 15px; font-family: Inter;">Допустим, в компании есть раздел </span><span style="font-size: 15px; font-family: Inter; font-weight: bold;">Платёжные документы</span><span style="font-size: 15px; font-family: Inter;"> с приложением </span><span style="font-size: 15px; font-family: Inter; font-weight: bold;">Счета</span><span style="font-size: 15px; font-family: Inter;"> и раздел </span><span style="font-size: 15px; font-family: Inter; font-weight: bold;">Документы</span><span style="font-size: 15px; font-family: Inter;"> с приложением </span><span style="font-size: 15px; font-family: Inter; font-weight: bold;">Договоры</span><span style="font-size: 15px; font-family: Inter;">. С карточки договора необходимо добавлять новые счета по нажатию кнопки.</span></p>
|
||||
<p style="line-height: 1.28; margin: 0 0 11px 0;"><span style="font-size: 15px; font-family: Inter;">Разделы входят в состав разных решений, их необходимо экспортировать по отдельности.</span></p>
|
||||
<p style="line-height: 1.28; margin: 0 0 11px 0;"><span style="font-size: 15px; font-family: Inter;">В этом случае можно привязать к кнопке запуск скрипта, создать для него опциональную зависимость и обращаться к приложению из другого раздела с помощью константы </span><code><b>Imports</b></code><span style="font-size: 15px; font-family: Inter;">. Для этого:</span></p>
|
||||
<ol style="list-style-type:upper-roman">
|
||||
<li value="1" style="margin-top: 0; margin-right: 0; margin-bottom: 0;"><span style="font-size: 15px; font-family: Inter;">Откройте карточку приложения </span><span style="font-size: 15px; font-family: Inter; font-weight: bold;">Договоры</span><span style="font-size: 15px; font-family: Inter;"> в дизайнере интерфейсов и перейдите на вкладку </span><span style="font-size: 15px; font-family: Inter; font-weight: bold;">Настройки > Доступные элементы</span><span style="font-size: 15px; font-family: Inter;">.</span></li><li value="2" style="margin-top: 0; margin-right: 0; margin-bottom: 0;"><span style="font-size: 15px; font-family: Inter;">Напротив поля </span><span style="font-size: 15px; font-family: Inter; font-weight: bold;">Опциональные зависимости (доступны в объекте Imports) </span><span style="font-size: 15px; font-family: Inter;">нажмите </span><span style="font-size: 15px; font-family: Inter; font-weight: bold;">+ Добавить раздел</span><span style="font-size: 15px; font-family: Inter;"> и выберите раздел </span><span style="font-size: 15px; font-family: Inter; font-weight: bold;">Платёжные документы</span><span style="font-size: 15px; font-family: Inter;">. </span></li><li value="3" style="margin-top: 0; margin-right: 0; margin-bottom: 0;"><span style="font-size: 15px; font-family: Inter;">В колонке </span><span style="font-size: 15px; font-family: Inter; font-weight: bold;">Псевдоним</span><span style="font-size: 15px; font-family: Inter;"> задайте для раздела уникальное имя, которое будет использоваться в скрипте, например, </span><code><b>payment_docs</b></code><span style="font-size: 15px; font-family: Inter;">. </span></li><li value="4" style="margin-top: 0; margin-right: 0; margin-bottom: 0;"><span style="font-size: 15px; font-family: Inter;">Перейдите на вкладку </span><span style="font-size: 15px; font-family: Inter; font-weight: bold;">Шаблон</span><span style="font-size: 15px; font-family: Inter;"> и добавьте на форму кнопку с типом действия </span><span style="font-size: 15px; font-family: Inter; font-weight: bold;">Скрипт</span><span style="font-size: 15px; font-family: Inter;">. В поле </span><span style="font-size: 15px; font-family: Inter; font-weight: bold;">Выполняемый скрипт</span><span style="font-size: 15px; font-family: Inter;"> создайте функцию, которая будет вызываться при нажатии кнопки.</span></li></ol>
|
||||
<p style="margin: 0 0 0 34px;"><img alt="optional-dependencies-1" width="846" height="450" style="margin:0;width:846px;height:450px;border:none" src="optional-dependencies-1.png"/></p>
|
||||
<ol style="list-style-type:upper-roman" start="5">
|
||||
<li value="5"><span style="font-size: 15px; font-family: Inter;">Откройте добавленную функцию на вкладке </span><span style="font-size: 15px; font-family: Inter; font-weight: bold;">Скрипты</span><span style="font-size: 15px; font-family: Inter;"> и укажите:</span></li></ol>
|
||||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">async function create_invoice(): Promise<void> {</span><br />
|
||||
<span class="f_CodeExample"> if (Imports?.payment_docs) {</span><br />
|
||||
<span class="f_CodeExample"> const item = Imports.payment_docs.app.invoices.create();</span><br />
|
||||
<span class="f_CodeExample"> // ...</span><br />
|
||||
<span class="f_CodeExample"> await item.save();</span><br />
|
||||
<span class="f_CodeExample"> }</span><br />
|
||||
<span class="f_CodeExample">}</span></p>
|
||||
<ol style="list-style-type:upper-roman" start="6">
|
||||
<li value="6" style="line-height: 1.28; margin-top: 0; margin-right: 0; margin-bottom: 11px;"><span style="font-size: 15px; font-family: Inter;">На верхней панели дизайнера интерфейсов нажмите </span><span style="font-size: 15px; font-family: Inter; font-weight: bold;">Сохранить</span><span style="font-size: 15px; font-family: Inter;"> и </span><span style="font-size: 15px; font-family: Inter; font-weight: bold;">Опубликовать</span><span style="font-size: 15px; font-family: Inter;">, чтобы сделать изменения доступными для пользователей.</span></li></ol>
|
||||
<p style="line-height: 1.28; margin: 0 0 11px 0;"><span style="font-size: 15px; font-family: Inter;">Теперь с карточки договора можно быстро создать новый счёт.</span></p>
|
||||
<p style="line-height: 1.28; margin: 0 0 11px 0;"><span style="font-size: 15px; font-family: Inter;">Вы можете экспортировать приложение </span><span style="font-size: 15px; font-family: Inter; font-weight: bold;">Договоры</span><span style="font-size: 15px; font-family: Inter;">, раздел </span><span style="font-size: 15px; font-family: Inter; font-weight: bold;">Документы</span><span style="font-size: 15px; font-family: Inter;"> и решение, в состав которого они входят. Затем можно импортировать эти компоненты в другую компанию. Если в компании нет раздела, с которым создана опциональная зависимость, привязанный к кнопке скрипт не будет выполняться. </span></p>
|
||||
|
||||
<div class="bottom-nav">
|
||||
|
||||
<a id="prev-link" class="topic__navi_prev" href="global-constants.html">
|
||||
<span class="bottom-nav__arrow bottom-nav__arrow--prev"></span> <span
|
||||
class="bottom-nav__link">global-constants.html</span>
|
||||
</a>
|
||||
|
||||
|
||||
<a id="next-link" class="topic__navi_next" href="custom_services.html">
|
||||
<span class="bottom-nav__link">custom_services.html</span> <span
|
||||
class="bottom-nav__arrow bottom-nav__arrow--next"></span>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
<!-- добавляет на страницу строку блок Была ли статья полезной? -->
|
||||
<div class="feedback-wrap"><div class="feedback" id="feedback"><span><b>Была ли статья полезной?</b></span><form action="" method="POST" class="feedback-form" id="feedback-form"><div class="feedback__popup feedback__popup-response" id="feedback__popup_thx">Спасибо за ваш отзыв!</div><div id="feedback-success-popup"><div class="wrap"><button type="button" class="feedback-popup-close">×</button><svg width="44" height="44" viewBox="0 0 44 44" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_212_2187)"><path d="M22 0.6875C10.2294 0.6875 0.6875 10.2294 0.6875 22C0.6875 33.7706 10.2294 43.3125 22 43.3125C33.7706 43.3125 43.3125 33.7706 43.3125 22C43.3125 10.2294 33.7706 0.6875 22 0.6875ZM22 40.5625C11.8023 40.5625 3.4375 32.3078 3.4375 22C3.4375 11.8024 11.6922 3.4375 22 3.4375C32.1977 3.4375 40.5625 11.6922 40.5625 22C40.5625 32.1976 32.3078 40.5625 22 40.5625ZM34.1713 16.933L18.6613 32.3186C18.257 32.7197 17.604 32.7171 17.203 32.3128L9.82283 24.873C9.42176 24.4686 9.42434 23.8157 9.82867 23.4146L10.5609 22.6884C10.9652 22.2873 11.6181 22.2899 12.0192 22.6942L17.9468 28.6697L31.9926 14.7366C32.3969 14.3356 33.0498 14.3382 33.4509 14.7425L34.1772 15.4747C34.5783 15.879 34.5757 16.532 34.1713 16.933Z" fill="#27AE60"></path></g><defs><clipPath id="clip0_212_2187"><rect width="44" height="44" fill="white"></rect></clipPath></defs></svg><p>Ваш отзыв успешно отправлен!</p><span>Спасибо за обратную связь.</span></div></div><div class="feedback__popup" id="feedback__popup_why"><button type="button" class="feedback-popup-close">×</button><div class="feedback__popup-header">Уточните, почему:</div><input type="radio" name="category" id="bad_recommendation" value="bad_recommendation"><label for="bad_recommendation">Рекомендации не помогли</label><input type="radio" name="category" id="difficult_text" value="difficult_text"><label for="difficult_text">Текст трудно понять</label><input type="radio" name="category" id="no_answer" value="no_answer"><label for="no_answer">Нет ответа на мой вопрос</label><input type="radio" name="category" id="bad_header" value="bad_header"><label for="bad_header">Содержание статьи не соответствует заголовку</label><input type="radio" name="category" id="other_reason" value="other_reason"><label for="other_reason">Другая причина</label></div><div class="feedback__popup" id="feedback__popup-other"><button type="button" class="feedback-popup-close">×</button> <div class="feedback__popup-header">Расскажите, что вам не понравилось в статье:</div><textarea class="feedback__textarea" name="other" id=""></textarea><input type="submit" class="feedback__other-btn" value="Отправить"></div><div class="feedback-form__btn-group"><input type="radio" name="useful" id="feedback__useful_yes" value="true"><label for="feedback__useful_yes"><img src="like.svg"/><span class="feedback-form__btn-group_yes-btn">Да</span></label><input type="radio" name="useful" id="feedback__useful_no" value="false"><label for="feedback__useful_no"><img src="dislike.svg"/><span class="feedback-form__btn-group_no-btn">Нет</span></label></div><select name="category"><option disabled>Выберите вариант</option><option value="bad_recommendation" selected>Рекомендации не помогли</option><option value="difficult_text">Текст трудно понять</option><option value="no_answer">Нет ответа на мой вопрос</option><option value="bad_header">Содержание статьи не соответствует заголовку</option><option value="other_reason">Другая причина</option></select><input type="submit"></form></div></div>
|
||||
|
||||
</section>
|
||||
</div>
|
||||
<aside class="article__sidebar" style="display:none">
|
||||
<input type="checkbox" />
|
||||
<div class="article__arrow"></div>
|
||||
<div class="table-of-contents elma365-right" id="toc2Content">
|
||||
<h3 class="h3-toc">В этой статье</h3>
|
||||
<nav id="toc2"></nav>
|
||||
</div>
|
||||
</aside>
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer class="footer">
|
||||
<div class="footer-container">
|
||||
<div class="footer-mobile">
|
||||
|
||||
<ul class="footer-mobile__list"><li><a href="https://api.elma365.com/ru/" target="_blank">API</a></li><li><a href="https://tssdk.elma365.com/" target="_blank">TS SDK</a></li><li><a href="https://community.elma365.com/" target="_blank">Community</a></li><li><a href="https://elma-academy.com/ru/elma365" target="_blank">Академия</a></li></ul><ul class="footer-mobile__list"><li><a href="https://elma365.com/ru/help/platform/get-trial.html">Платформа</a></li><li><a href="https://elma365.com/ru/help/ecm/ecm-functions.html">ECM</a></li><li><a href="https://elma365.com/ru/help/service/service-functions.html">Service</a></li><li><a href="https://elma365.com/ru/help/projects/projects-functions.html">Проекты</a></li></ul>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="container">
|
||||
<div class="footer-wrap">
|
||||
|
||||
<div><span class="mobile-question-popup">Отправить фидбэк</span><form method="POST" action class="question__popup question-xs" id="question__popup"><div class="question-wrap"><span class="close"></span><span class="title">Задать вопрос</span><label for="help_question" style="display: none;"></label><textarea name="help_question" id="help_question"></textarea><input type="submit" value="Отправить"></div></form><div class="hidden fade-in question-success-xs">Ваш фидбэк отправлен.</div></div>
|
||||
|
||||
<div class="footer-flex-b">
|
||||
<div class="footer-top">
|
||||
<span class="footer-copy">© 2025
|
||||
ELMA365
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
<a href="https://navigator.sk.ru/orn/1122971" target="_blank">
|
||||
<img src="sk-resident.svg" alt="sk icon" class="footer-img" width="117" height="34">
|
||||
</a>
|
||||
|
||||
</div>
|
||||
<div class="footer-line">
|
||||
|
||||
<div class="footer-line-copy">
|
||||
<span class="footer-copy">© 2025
|
||||
ELMA365
|
||||
|
||||
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<ul class="footer-list">
|
||||
|
||||
<li class="footer-item"><a href="https://elma365.com/ru/" target="_blank" class="footer-link" style="color: #0D4A75;"><img src="browse.svg" alt="browse icon" class="footer-img">elma365.com</a></li><li class="footer-item"><a href="https://www.youtube.com/user/ELMABPM" target="_blank" class="footer-link"><img src="yt.svg" alt="youtube icon" class="footer-img"></a></li><li class="footer-item"><a href="https://vk.com/elma_bpm" target="_blank" class="footer-link"><img src="vk.svg" alt="vk icon" class="footer-img"></a></li><li class="footer-item"><a href="https://t.me/elmaday" target="_blank" class="footer-link"><img src="tg.svg" alt="telegram icon" class="footer-img"></a></li><li class="footer-item"><a href="https://dzen.ru/elma" target="_blank" class="footer-link"><img src="dzen.svg" alt="dzen icon" class="footer-img"></a></li>
|
||||
|
||||
|
||||
<li class="footer-item">
|
||||
<a href="https://navigator.sk.ru/orn/1122971" target="_blank">
|
||||
<img src="sk-resident.svg" alt="sk icon" class="footer-img" width="117" height="34">
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" class="arrow-top"></a>
|
||||
</div>
|
||||
|
||||
</footer>
|
||||
<!-- <script type="text/javascript" src="jquery1.min.js"></script>-->
|
||||
<iframe name="hmnavigation" style="display:none!important"></iframe>
|
||||
<!--<script src="./jquery-ui.js"></script> -->
|
||||
<script src="./jquery-ui.min.js"></script>
|
||||
<!--script src="//cdn.jsdelivr.net/npm/featherlight@1.7.14/release/featherlight.min.js" type="text/javascript" charset="utf-8"></script-->
|
||||
<script src="./jquery.tocify.min.js"></script>
|
||||
<script src="./TypoReporter.min.js"></script>
|
||||
<script src="./google-search.js"></script>
|
||||
<script src="./main.js"></script>
|
||||
<script type="text/javascript">
|
||||
HMInitToggle('TOGGLE0186A1','hm.type','dropdown','hm.state','0');
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
Reference in New Issue
Block a user