<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Доступ к системным переменным - Qlik Sense - Обучение, учебник, онлайн курс</title>
	<atom:link href="https://qliksense.ivan-shamaev.ru/tag/%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF-%D0%BA-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%BD%D1%8B%D0%BC-%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%BC/feed/" rel="self" type="application/rss+xml" />
	<link>https://qliksense.ivan-shamaev.ru/tag/доступ-к-системным-переменным/</link>
	<description>Qlik Sense на русском языке. Пошаговые уроки для изучения Клик Сенс</description>
	<lastBuildDate>Mon, 01 May 2023 15:08:55 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.1</generator>

<image>
	<url>https://qliksense.ivan-shamaev.ru/wp-content/uploads/2018/07/QlikSense_ICON2-150x150.png</url>
	<title>Доступ к системным переменным - Qlik Sense - Обучение, учебник, онлайн курс</title>
	<link>https://qliksense.ivan-shamaev.ru/tag/доступ-к-системным-переменным/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Доступ к системным данным и переменным в Extension Qlik Sense</title>
		<link>https://qliksense.ivan-shamaev.ru/accessing-system-data-and-variables-in-a-qlik-sense-extension/</link>
					<comments>https://qliksense.ivan-shamaev.ru/accessing-system-data-and-variables-in-a-qlik-sense-extension/#respond</comments>
		
		<dc:creator><![CDATA[qliksense-expert]]></dc:creator>
		<pubDate>Mon, 21 Feb 2022 06:57:50 +0000</pubDate>
				<category><![CDATA[Уровень 2]]></category>
		<category><![CDATA[Building visualization extensions]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[Methods Qlik Sense Extension API]]></category>
		<category><![CDATA[Доступ к системным переменным]]></category>
		<guid isPermaLink="false">https://qliksense.ivan-shamaev.ru/?p=2759</guid>

					<description><![CDATA[<p>Введение Иногда при создании расширения Qlik Sense вам необходимо получить доступ к системным данным. Это особенно актуально, если вы пытаетесь создать что-то более общее. Возможно, вам нужен список полей, измерений или показателей. Или вам нужно работать с переменными. Если вы новичок в разработке Qlik Sense, вы можете посмотреть в документации<a class="moretag" href="https://qliksense.ivan-shamaev.ru/accessing-system-data-and-variables-in-a-qlik-sense-extension/"> Читать дальше&#8230;</a></p>
<p>Сообщение <a href="https://qliksense.ivan-shamaev.ru/accessing-system-data-and-variables-in-a-qlik-sense-extension/">Доступ к системным данным и переменным в Extension Qlik Sense</a> появились сначала на <a href="https://qliksense.ivan-shamaev.ru">Qlik Sense - Обучение, учебник, онлайн курс</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Введение</h2>
<span>Иногда при создании расширения Qlik Sense вам необходимо получить доступ к системным данным. Это особенно актуально, если вы пытаетесь создать что-то более общее. Возможно, вам нужен список полей, измерений или показателей. Или вам нужно работать с переменными.</span>

<span>Если вы новичок в разработке Qlik Sense, вы можете посмотреть в документации по API способы получения необходимых данных. </span>

<strong><span>Не делай этого !!! <img src="https://s.w.org/images/core/emoji/15.1.0/72x72/1f615.png" alt="😕" class="wp-smiley" style="height: 1em; max-height: 1em;" /> </span></strong>

<span>Модель расширения Qlik Sense основана на идее использования одного универсального объекта, описанного в расширениях <strong>initialProperties</strong> и измененного пользователем на панели свойств и, возможно, программно (но это действительно продвинуто). Таким образом, хотя использование методов API для получения дополнительных данных является одним из описанных подходов в Qlik Help, которые используются в гибридных приложениях или веб-приложения и обращаются к данным Qlik, вам следует избегать их использования в mashups.</span>
<h2><span>Почему не нужно использовать вызовы API</span></h2>
<span>Если вы используете эти вызовы API в своем расширении, у вас возникнут проблемы:</span>
<ul>
 	<li><span>вы можете легко получить утечку памяти или «утечку общих объектов», когда вы создаете множество общих объектов.</span></li>
 	<li><span>вы можете легко потерять контроль над всеми работающими функциями обратного вызова при повторной проверке общих объектов.</span></li>
 	<li><span>если пользователь делает снимок, вызовы API будут обращаться к последней версии данных, а не к той, что в снимке, и, возможно, дадут неправильные данные.</span></li>
 	<li><span>если пользователь попытается экспортировать ваше расширение в PDF или Excel, оно может сломаться, поскольку служба, отвечающая за этот экспорт, не имеет доступа к оперативным данным, а только к моментальному снимку.</span></li>
</ul>
<span>Если вам абсолютно необходимо использовать эти вызовы, вы должны по крайней мере включить экспорт в PDF и Excel и не разрешать моментальные снимки вашего расширения.</span>
<h2><span>Что нужно делать вместо этого</span></h2>
<span>К счастью, есть альтернативы. Все эти вызовы API создают общие объекты, но, поскольку общий объект является очень гибкой структурой, вы можете фактически настроить общий объект за своим расширением для предоставления необходимых вам данных. Вот небольшая таблица того, что вы можете использовать:</span>
<table id="tablepress-1" class="tablepress tablepress-id-1">
<thead>
<tr class="row-1 odd">
<th class="column-1"><strong>Что нужно</strong></th>
<th class="column-2"><strong>Не использовать вызов API</strong></th>
<th class="column-3"><strong>Вместо этого добавьте в initialProperties</strong></th>
</tr>
</thead>
<tbody class="row-hover">
<tr class="row-2 even">
<td class="column-1">List of fields</td>
<td class="column-2">app.getList(&#8220;FieldList&#8221;)</td>
<td class="column-3">qFieldListDef</td>
</tr>
<tr class="row-3 odd">
<td class="column-1">List of measures</td>
<td class="column-2">app.getList(&#8220;MeasureList&#8221;)</td>
<td class="column-3">qMeasureListDef</td>
</tr>
<tr class="row-4 even">
<td class="column-1">List of dimensions</td>
<td class="column-2">app.getList(&#8220;DimensionList&#8221;)</td>
<td class="column-3">qDimensionListDef</td>
</tr>
<tr class="row-5 odd">
<td class="column-1">List of variables</td>
<td class="column-2">app.getList(&#8220;VariableList&#8221;)</td>
<td class="column-3">qVariableListDef</td>
</tr>
<tr class="row-6 even">
<td class="column-1">Variable value</td>
<td class="column-2">app.variable.getContent(..)</td>
<td class="column-3">qStringExpression or
qValueExpression</td>
</tr>
</tbody>
</table>
<span>Вы найдете рабочий пример этого в репозитории  </span><a href="https://github.com/erikwett/syslist"><span>расширении системного списка, </span></a><span> просто не используйте его, он предназначен как пример того, как получить данные и на самом деле не делает ничего полезного. Но возьмите ту часть initialProperties, которая вам нужна для расширения.</span>

<strong>Это выглядит так:</strong>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">initialProperties: {
                moneyFormat: {
                    qStringExpression: '=MoneyFormat'
                },
                qMeasureListDef: {
                    qType: "measure",
                    qData: {
                        qMeasure: "/qMeasure"
                    }
                },
                qDimensionListDef: {
                    qType: "dimension",
                    qData: {
                        qDim: "/qDim",
                        qDimInfos: "/qDimInfos"
                    }
                },
                qVariableListDef: {
                    qType: "variable",
                    qShowReserved: true,
                    qShowConfig: true
                },
                qFieldListDef: {
                    qShowSystem: true,
                    qShowHidden: true,
                    qShowSemantic: true,
                    qShowSrcTables: true,
                    qShowDerivedFields: true,
                    qShowImplicit: true
                }
            }</pre>
<h2><span>Когда следует использовать эти вызовы API</span></h2>
<span>Ну нет правил без исключений. Хотя вам следует избегать использования этих вызовов в API для части рендеринга вашего расширения, вы должны использовать их на своей панели свойств, если вам, например, нужно предоставить список полей пользователю. А в мэшапе они определенно очень полезны. И у API есть другие вызовы, которые вы, возможно, захотите использовать, но в основном это когда пользователь что-то делает, например, нажимает кнопку и т.д.</span>
<h2>Источник</h2>
https://extendingqlik.upper88.com/accessing-system-data-and-variables-in-a-qlik-sense-extension/<div class="learnpress"><div
	class="learn-press-message error lp-content-area">Этот шорткод LP Profile должен использоваться только на странице <a href="https://qliksense.ivan-shamaev.ru/wp-admin/admin.php?page=learn-press-settings"><strong>Учетная запись</strong></a></div>
</div>
<p>Сообщение <a href="https://qliksense.ivan-shamaev.ru/accessing-system-data-and-variables-in-a-qlik-sense-extension/">Доступ к системным данным и переменным в Extension Qlik Sense</a> появились сначала на <a href="https://qliksense.ivan-shamaev.ru">Qlik Sense - Обучение, учебник, онлайн курс</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://qliksense.ivan-shamaev.ru/accessing-system-data-and-variables-in-a-qlik-sense-extension/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
