<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Mikrotik.moscow [тема: недопустимый внутренний номер товара]</title>
		<link>http://mikrotik.moscow</link>
		<description>Новое в теме недопустимый внутренний номер товара форума RouterOS на сайте Mikrotik.moscow [mikrotik.moscow]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sat, 01 Aug 2026 06:48:38 -0400</pubDate>
		<item>
			<title>недопустимый внутренний номер товара</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88577-nedopustimyy-vnutrenniy-nomer-tovara/message428308">недопустимый внутренний номер товара</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			С этим скриптом у меня такая же ошибка: «invalid internal item number». Он работает на hAP ac^2 и не работает на RB4011. Оба с версией v7.11.2.<br /><br />:local output &nbsp;<br />:local filename &nbsp;<br />:local sysname &nbsp;[/system identity get name]<br /><br />:set filename &nbsp;($"sysname"."-"."Leases.txt")<br /><br />/ip dhcp-server lease &nbsp;<br />:foreach i in=[find] do={  <br /> &nbsp; &nbsp;:local hname &nbsp; &nbsp; &nbsp;[get $i host-name]  <br /> &nbsp; &nbsp;:local activeMAC &nbsp;[get $i active-mac-address]  <br /> &nbsp; &nbsp;:local Address &nbsp; &nbsp;[get $i address]  <br /> &nbsp; &nbsp;:local macAddress [get $i mac-address]  <br /> &nbsp; &nbsp;:local Status &nbsp; &nbsp; [get $i status]  <br /> &nbsp; &nbsp;:local Comment &nbsp; &nbsp;[get $i comment]  <br /> &nbsp; &nbsp;:local iface &nbsp; &nbsp; &nbsp;"undefined" &nbsp;<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;/interface bridge host &nbsp;<br /> &nbsp; &nbsp;:local searchresult [find where mac-address=$activeMAC]  <br /> &nbsp; &nbsp;:if ([:len $searchresult] &gt; 0) do={  <br /> &nbsp; &nbsp; &nbsp; &nbsp;:set iface [get $searchresult on-interface]  <br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;:if (([:typeof $hname] = "nil") && ($Status = "bound")) do={  <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;:set output ($output . ($Address . "\t" . $macAddress . "\t" . $Status . "\t" . $iface . "\t" . $Comment) . "\n") &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;} &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;:if (([:typeof $hname] != "nil") && ($Status = "bound")) do={  <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;:set output ($output . ($Address . "\t" . $macAddress . "\t" . $Status . "\t" . $iface . "\t" . $hname) . "\n") &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;} &nbsp;<br /> &nbsp; &nbsp;} &nbsp;<br />}<br /><br />/file print file=$filename &nbsp;<br />:delay 2s &nbsp;<br />/file set $filename contents=$output<br /><br />ИЗМЕНЕНИЕ: Я ничего не понимаю, но в списке DHCP Lease был хост, из-за которого вылетала эта ошибка, после его отключения скрипт снова работает. Извиняюсь за это. <br />
			<i>10.10.2023 22:43:00, diamuxin.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88577-nedopustimyy-vnutrenniy-nomer-tovara/message428308</link>
			<guid>http://mikrotik.moscow/forum/forum57/88577-nedopustimyy-vnutrenniy-nomer-tovara/message428308</guid>
			<pubDate>Tue, 10 Oct 2023 22:43:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>недопустимый внутренний номер товара</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88577-nedopustimyy-vnutrenniy-nomer-tovara/message428307">недопустимый внутренний номер товара</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Правильный синтаксис — «find where». Хотя он больше похож на «print where», обе страницы документации по скриптам и команда /export используют «[find property=value]» без «where». Автодополнение в терминале тоже подсказывает, что «where» для команды «find» необязательно. <br />
			<i>08.05.2023 21:47:00, 611.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88577-nedopustimyy-vnutrenniy-nomer-tovara/message428307</link>
			<guid>http://mikrotik.moscow/forum/forum57/88577-nedopustimyy-vnutrenniy-nomer-tovara/message428307</guid>
			<pubDate>Mon, 08 May 2023 21:47:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>недопустимый внутренний номер товара</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88577-nedopustimyy-vnutrenniy-nomer-tovara/message428306">недопустимый внутренний номер товара</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			«find» и «print»… правильный синтаксис — «find where» и «print where»… Вот сложный пример того, что с этим можно сделать… /system script job print where [:typeof $script]!="nil" (это всего лишь один пример с <noindex><a href="http://forum.mikrotik.com/t/one-more-strange-issue-nothing-is-not-nothing/166475/1)" target="_blank" rel="nofollow" >http://forum.mikrotik.com/t/one-more-strange-issue-nothing-is-not-nothing/166475/1)</a></noindex> <br />
			<i>08.05.2023 20:37:00, rextended.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88577-nedopustimyy-vnutrenniy-nomer-tovara/message428306</link>
			<guid>http://mikrotik.moscow/forum/forum57/88577-nedopustimyy-vnutrenniy-nomer-tovara/message428306</guid>
			<pubDate>Mon, 08 May 2023 20:37:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>недопустимый внутренний номер товара</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88577-nedopustimyy-vnutrenniy-nomer-tovara/message428305">недопустимый внутренний номер товара</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Ты нарушил простое правило почти всех языков программирования: не используй зарезервированные слова в качестве имени переменной... Ладно. Проблема в том, что DHCP-клиент передаёт название интерфейса в скрипт в переменной с именем «interface» (в отличие от DHCP-сервера, который использует переменные типа «bindingVariableName»). Пришлось использовать прокси-переменную. Знаю, это есть в документации (теперь, когда я поискал там список зарезервированных имён переменных), но, честно говоря, конфликт был вовсе не очевиден — с точки зрения реализации я ожидал, что переменные подставятся сначала, в шелле или интерпретаторе скрипта, до исполнения команд (так что конфликта не будет — команда вообще не видит имён переменных). А на деле команды просто наследуют окружение скрипта и подставляют переменные сами, внутри себя (отсюда и конфликт с этой, довольно непонятной, ошибкой). Интересная особенность этой внутренней подстановки переменных — возможность использовать значения других свойств для фильтрации прямо внутри: /ip firewall address-list print where address=$comment Выведет все записи в списке адресов фаервола IPv4, в которых адрес совпадает с комментарием. Правда, похоже, это работает только с командами find и where. <br />
			<i>08.05.2023 20:33:00, 611.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88577-nedopustimyy-vnutrenniy-nomer-tovara/message428305</link>
			<guid>http://mikrotik.moscow/forum/forum57/88577-nedopustimyy-vnutrenniy-nomer-tovara/message428305</guid>
			<pubDate>Mon, 08 May 2023 20:33:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>недопустимый внутренний номер товара</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88577-nedopustimyy-vnutrenniy-nomer-tovara/message428304">недопустимый внутренний номер товара</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Ты нарушил простое правило почти всех языков программирования: не используй зарезервированные слова в качестве имён переменных… Если в контексте элемент называется «interface», понятно, что нельзя использовать то же самое имя. Вот почему я написал «iface». <br />
			<i>08.05.2023 17:59:00, rextended.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88577-nedopustimyy-vnutrenniy-nomer-tovara/message428304</link>
			<guid>http://mikrotik.moscow/forum/forum57/88577-nedopustimyy-vnutrenniy-nomer-tovara/message428304</guid>
			<pubDate>Mon, 08 May 2023 17:59:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>недопустимый внутренний номер товара</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88577-nedopustimyy-vnutrenniy-nomer-tovara/message428303">недопустимый внутренний номер товара</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Небольшое дополнение, столкнулся с похожей проблемой, но причина не была очевидна из этой ветки. &nbsp;<br />:local interface "some-interface" &nbsp;<br />:put [/ip dhcp-client get [find interface=$interface] primary-dns] Выдаёт «invalid internal item number».  <br />:put [/ip dhcp-client get [find interface="some-interface"] primary-dns] Работает нормально.  <br />:local dhcpinterface "some-interface" &nbsp;<br />:put [/ip dhcp-client get [find interface=$dhcpinterface] primary-dns] Тоже работает нормально. Тестировал на ROS 7.9. Причина ошибки в данном случае — конфликт имени между параметром «interface» и переменной «interface», замена переменной на имя с другим названием решает проблему. <br />
			<i>08.05.2023 17:36:00, 611.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88577-nedopustimyy-vnutrenniy-nomer-tovara/message428303</link>
			<guid>http://mikrotik.moscow/forum/forum57/88577-nedopustimyy-vnutrenniy-nomer-tovara/message428303</guid>
			<pubDate>Mon, 08 May 2023 17:36:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>недопустимый внутренний номер товара</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88577-nedopustimyy-vnutrenniy-nomer-tovara/message428302">недопустимый внутренний номер товара</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Привет! Когда я задаю переменную так: :global xx "pppoe-out-fb", я не могу использовать её в этом запросе с where: /ip/address/get [find where interface "$xx"]  <br />выдаёт ошибку: invalid internal item number. В чём может быть проблема? &nbsp;<br /><br />Устройство: &nbsp;<br />/system/resource&gt; print &nbsp;<br />uptime: 3w1d18h4m48s &nbsp;<br />version: 7.6beta6 (development) &nbsp;<br />build-time: Sep/07/2022 09:06:03 &nbsp;<br />factory-software: 7.0.4 &nbsp;<br />free-memory: 799.4MiB &nbsp;<br />total-memory: 1024.0MiB &nbsp;<br />cpu: ARM64 &nbsp;<br />cpu-count: 4 &nbsp;<br />cpu-frequency: 350MHz &nbsp;<br />cpu-load: 18% &nbsp;<br />free-hdd-space: 481.9MiB &nbsp;<br />total-hdd-space: 513.0MiB &nbsp;<br />write-sect-since-reboot: 74548 &nbsp;<br />write-sect-total: 995885 &nbsp;<br />bad-blocks: 0% &nbsp;<br />architecture-name: arm64 &nbsp;<br />board-name: RB5009UG+S+ &nbsp;<br />platform: MikroTik Wishes mg <br />
			<i>05.10.2022 07:35:00, quotengrote.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88577-nedopustimyy-vnutrenniy-nomer-tovara/message428302</link>
			<guid>http://mikrotik.moscow/forum/forum57/88577-nedopustimyy-vnutrenniy-nomer-tovara/message428302</guid>
			<pubDate>Wed, 05 Oct 2022 07:35:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
	</channel>
</rss>
