<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Чтобы ExternalParameter учитывали код возврата.]]></title><description><![CDATA[<p dir="auto">Было бы хорошо, если бы ExternalParameter учитывали код возврата. И если он не 0, то считалось, что параметр не удалось прочитать. А то сейчас вроде если скритп возвращает пустую сточку, например, то в консоли я вижу, что пришёл какой-то мусор. А хотелось бы иметь возможность из скрипта "сообщать" о сбое при опросе параметра.</p>
]]></description><link>https://forum.netxms.org/topic/1911/чтобы-externalparameter-учитывали-код-возврата.</link><generator>RSS for Node</generator><lastBuildDate>Fri, 13 Nov 2026 10:33:17 GMT</lastBuildDate><atom:link href="https://forum.netxms.org/topic/1911.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 07 Sep 2012 15:54:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Чтобы ExternalParameter учитывали код возврата. on Fri, 07 Sep 2012 16:32:14 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto">internal</p>
</blockquote>
<p dir="auto">Нет, external. В агенте задаются параметры, которые скрипт генерирует.</p>
<blockquote>
<p dir="auto">ну так вы проверяйте значение которое приходит на null "" или " "</p>
</blockquote>
<p dir="auto">Ну это надо к каждому параметру дописысвать ещё обработчик. Это как бы двойная работа. Я и так проверяю на ошибки в скрипте. Вообще логично, если скрипт завершился с ошибкой, то навряд ли он что-то хорошее должен вернуть.</p>
]]></description><link>https://forum.netxms.org/post/8409</link><guid isPermaLink="true">https://forum.netxms.org/post/8409</guid><dc:creator><![CDATA[user318]]></dc:creator><pubDate>Fri, 07 Sep 2012 16:32:14 GMT</pubDate></item><item><title><![CDATA[Reply to Чтобы ExternalParameter учитывали код возврата. on Fri, 07 Sep 2012 16:20:41 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/user318" aria-label="Profile: user318">@<bdi>user318</bdi></a> said in <a href="/post/8406">Чтобы ExternalParameter учитывали код возврата.</a>:</p>
<blockquote>
<p dir="auto">Было бы хорошо, если бы EternalParameter учитывали код возврата. И если он не 0, то считалось, что параметр не удалось прочитать. А то сейчас вроде если скритп возвращает пустую сточку, например, то в консоли я вижу, что пришёл какой-то мусор. А хотелось бы иметь возможность из скрипта "сообщать" о сбое при опросе параметра.</p>
</blockquote>
<p dir="auto">internal</p>
<p dir="auto">eternal эт о вечность ))</p>
<p dir="auto">ну так вы проверяйте значение которое приходит на null "" или " "</p>
<p dir="auto">вот не далее как сегодня писал скрипт</p>
<pre><code>sub main()
{
    transport = CreateSNMPTransport($node);
      if (transport == null)
         return -1;

       oid_loc = ".1.3.6.1.2.1.1.6.0";  // location
       oid_uptime = ".1.3.6.1.2.1.1.3.0";  // uptime
       oid_name = ".1.3.6.1.2.1.1.5.0";  // sysname

         location = SNMPGetValue(transport, oid_loc);
         sysname = SNMPGetValue(transport, oid_name);
         uptime = SNMPGetValue(transport, oid_uptime);

           if (location != null &amp;&amp; location !="" &amp;&amp; location!=" ")
            {
               RenameObject($node, location);
            //   trace(1 ,"Object renamed to ".location);
            }
            else
             {
               RenameObject($node, $node-&gt;ipAddr);
             }

            if (sysname != null &amp;&amp; sysname !="" &amp;&amp; sysname !=" ")
             {
               SetCustomAttribute($node, "sysname", sysname);
           //    trace(1 ,"Set custom attribute sysname to ".sysname);
             }

             if (uptime != null)
              {
               SetCustomAttribute($node, "uptime", SecondsToUptime(uptime/100));
           //    trace(1 ,"Set custom attribute uptime ".SecondsToUptime(uptime/100));
              }
}
</code></pre>
<p dir="auto">который не работал как нужно без нескольких доработок<br />
во-первых проверки (sysname != null &amp;&amp; sysname !="" &amp;&amp; sysname !=" ")<br />
хоть по стандарту там и нультерминальная строка, на практике там может быть хрен знает что, но данная проверка позволила избавиться от всех ошибок что возникали.<br />
и во-вторых SecondsToUptime(uptime/100), так-как было лень писать процедеру для перевода тиков в аптайм взял готовую для секунд и зделал тики секундуми )</p>
]]></description><link>https://forum.netxms.org/post/8407</link><guid isPermaLink="true">https://forum.netxms.org/post/8407</guid><dc:creator><![CDATA[SKYnv]]></dc:creator><pubDate>Fri, 07 Sep 2012 16:20:41 GMT</pubDate></item></channel></rss>