﻿<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>http://xn--90aogluj.xn--p1ai/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3AStatistical</id>
	<title>Модуль:Statistical - История изменений</title>
	<link rel="self" type="application/atom+xml" href="http://xn--90aogluj.xn--p1ai/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3AStatistical"/>
	<link rel="alternate" type="text/html" href="http://xn--90aogluj.xn--p1ai/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Statistical&amp;action=history"/>
	<updated>2026-06-10T17:19:37Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.34.0</generator>
	<entry>
		<id>http://xn--90aogluj.xn--p1ai/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Statistical&amp;diff=1203&amp;oldid=prev</id>
		<title>Peandre2: 1 версия импортирована</title>
		<link rel="alternate" type="text/html" href="http://xn--90aogluj.xn--p1ai/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Statistical&amp;diff=1203&amp;oldid=prev"/>
		<updated>2015-01-23T19:36:01Z</updated>

		<summary type="html">&lt;p&gt;1 версия импортирована&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
local ABCmain = mw.loadData(&amp;quot;Модуль:Statistical/ABC0&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
local function First_less_Second(a, b)  &lt;br /&gt;
    local LenA = mw.ustring.len(a)&lt;br /&gt;
    local LenB = mw.ustring.len(b)&lt;br /&gt;
    for i = 1, (LenA &amp;lt; LenB) and LenA or LenB do&lt;br /&gt;
        if mw.ustring.codepoint(a, i, i) ~= mw.ustring.codepoint(b, i, i) then&lt;br /&gt;
            return mw.ustring.codepoint(a, i, i) &amp;lt; mw.ustring.codepoint(b, i, i) &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    return LenA &amp;lt; LenB&lt;br /&gt;
end  &lt;br /&gt;
&lt;br /&gt;
local function internalFormatNumber(a_number, a_decimalMark, a_groupMark, a_groupMinLength, a_groupOnlyIntegerPart)&lt;br /&gt;
    -- find the decimal point&lt;br /&gt;
    local decimalPosition = mw.ustring.find(a_number, &amp;quot;.&amp;quot;, 1, true);&lt;br /&gt;
    local needsGrouping = false;&lt;br /&gt;
    local DIGIT_GROUPING_SIZE = 3&lt;br /&gt;
    if (not decimalPosition) then&lt;br /&gt;
        -- no decimal point - integer number&lt;br /&gt;
		decimalPosition = mw.ustring.len(a_number) + 1;&lt;br /&gt;
		if (decimalPosition &amp;gt; a_groupMinLength) then&lt;br /&gt;
			needsGrouping = true;&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		-- decimal point present&lt;br /&gt;
		if ((decimalPosition &amp;gt; a_groupMinLength) or (((mw.ustring.len(a_number) - decimalPosition) &amp;gt; DIGIT_GROUPING_SIZE) and (not a_groupOnlyIntegerPart))) then&lt;br /&gt;
			needsGrouping = true;&lt;br /&gt;
		end&lt;br /&gt;
		-- replace the decimal point&lt;br /&gt;
		a_number = mw.ustring.sub(a_number, 1, decimalPosition - 1) .. a_decimalMark .. mw.ustring.sub(a_number, decimalPosition + 1);&lt;br /&gt;
	end&lt;br /&gt;
	if (needsGrouping and (decimalPosition &amp;gt; DIGIT_GROUPING_SIZE + 1)) then&lt;br /&gt;
		-- grouping of integer part necessary&lt;br /&gt;
		local i = decimalPosition - DIGIT_GROUPING_SIZE;&lt;br /&gt;
		while (i &amp;gt; 1) do&lt;br /&gt;
			-- group the integer part&lt;br /&gt;
			a_number = mw.ustring.sub(a_number, 1, i - 1) .. a_groupMark .. mw.ustring.sub(a_number, i);&lt;br /&gt;
			decimalPosition = decimalPosition + mw.ustring.len(a_groupMark);&lt;br /&gt;
			i = i - DIGIT_GROUPING_SIZE;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- skip to the end of the new decimal mark (in case it is more than one char)&lt;br /&gt;
	decimalPosition = decimalPosition + mw.ustring.len(a_decimalMark) - 1;&lt;br /&gt;
	if (a_groupOnlyIntegerPart) then&lt;br /&gt;
		needsGrouping = false;&lt;br /&gt;
	end&lt;br /&gt;
	if (needsGrouping and ((mw.ustring.len(a_number) - decimalPosition) &amp;gt; DIGIT_GROUPING_SIZE)) then&lt;br /&gt;
		-- grouping of fractional part necessary&lt;br /&gt;
		-- using negative numbers (index from the end of the string)&lt;br /&gt;
		local i = decimalPosition - mw.ustring.len(a_number) + DIGIT_GROUPING_SIZE;&lt;br /&gt;
		while (i &amp;lt;= -1) do&lt;br /&gt;
			-- group the fractional part&lt;br /&gt;
			a_number = mw.ustring.sub(a_number, 1, i - 1) .. a_groupMark .. mw.ustring.sub(a_number, i);&lt;br /&gt;
			i = i + DIGIT_GROUPING_SIZE;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return a_number;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- from de:Modul:FormatNum&lt;br /&gt;
function formatNum(number)    &lt;br /&gt;
	if (number) then&lt;br /&gt;
        number = tostring(number)&lt;br /&gt;
		format = {decimalMark = &amp;quot;,&amp;quot;, groupMark = &amp;quot; &amp;quot;, groupMinLength = 5, groupOnlyIntegerPart = true}&lt;br /&gt;
		-- lua can parse the number (first check passed) and format entry found&lt;br /&gt;
		local sign = mw.ustring.sub(number, 1, 1);&lt;br /&gt;
		if ((sign == &amp;quot;+&amp;quot;) or (sign == &amp;quot;-&amp;quot;)) then&lt;br /&gt;
			-- remove sign from number, add it later again&lt;br /&gt;
			number = mw.ustring.sub(number, 2);&lt;br /&gt;
		else&lt;br /&gt;
			-- was not a sign&lt;br /&gt;
			sign = &amp;quot;&amp;quot;;&lt;br /&gt;
		end&lt;br /&gt;
		if (mw.ustring.sub(number, 1, 1) == &amp;quot;.&amp;quot;) then&lt;br /&gt;
			-- number begins with &amp;quot;.&amp;quot; -&amp;gt; add a 0 to the beginning&lt;br /&gt;
			number = &amp;quot;0&amp;quot; .. number;&lt;br /&gt;
		else&lt;br /&gt;
			if (mw.ustring.sub(number, -1) == &amp;quot;.&amp;quot;) then&lt;br /&gt;
				-- number ends with &amp;quot;.&amp;quot; -&amp;gt; remove it&lt;br /&gt;
				number = mw.ustring.sub(number, 1, -2);&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if ((number == mw.ustring.match(number, &amp;quot;^%d+$&amp;quot;)) or (number == mw.ustring.match(number, &amp;quot;^%d+%.%d+$&amp;quot;))) then&lt;br /&gt;
			-- number has valid format (only digits or digits.digits) -&amp;gt; format it and add sign (if any) again&lt;br /&gt;
			number = sign .. internalFormatNumber(number, format.decimalMark, format.groupMark, format.groupMinLength, format.groupOnlyIntegerPart);&lt;br /&gt;
		else&lt;br /&gt;
			-- number has no valid format -&amp;gt; undo all modifications&lt;br /&gt;
			number = a_frame.args[&amp;quot;number&amp;quot;];&lt;br /&gt;
		end&lt;br /&gt;
	end	   &lt;br /&gt;
	return number;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.GetStat(frame)&lt;br /&gt;
&lt;br /&gt;
    local args = frame:getParent().args&lt;br /&gt;
    &lt;br /&gt;
    if args == nil then return &amp;quot;Введите название объекта АТД&amp;quot; end&lt;br /&gt;
    local PlaceName = args[1]&lt;br /&gt;
&lt;br /&gt;
    if PlaceName == nil then return &amp;quot;Введите название объекта АТД&amp;quot; end&lt;br /&gt;
    PlaceName = mw.text.trim(PlaceName)&lt;br /&gt;
    local check = args['check'] or '';&lt;br /&gt;
    if check == '' or check == '0' or check == 'false' then&lt;br /&gt;
    	check = false;&lt;br /&gt;
    else&lt;br /&gt;
    	check = true;&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    local NumABC = nil&lt;br /&gt;
    -- ё = е , так как по соглашению их не различают при сортировке&lt;br /&gt;
    local PlaceEEE = mw.ustring.gsub (PlaceName, &amp;quot;ё&amp;quot;, &amp;quot;е&amp;quot;)&lt;br /&gt;
	PlaceEEE = mw.ustring.gsub (PlaceEEE, &amp;quot;Ё&amp;quot;, &amp;quot;Е&amp;quot;)&lt;br /&gt;
	PlaceEEE = mw.ustring.gsub (PlaceEEE, &amp;quot;-&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
	&lt;br /&gt;
--	do return  First_less_Second(&amp;quot;Сельское поселение «Село Ильинское» (Малоярославецкий район)&amp;quot;, &amp;quot;Сельское поселение Званновский сельсовет&amp;quot;), &amp;quot;Сельское поселение «Село Ильинское» (Малоярославецкий район)&amp;quot;&amp;lt; &amp;quot;Сельское поселение Званновский сельсовет&amp;quot; end&lt;br /&gt;
--	do return  First_less_Second(&amp;quot;Сельское поселение &amp;quot;, &amp;quot;Сельское посе-ление&amp;quot;), &amp;quot;Сельское поселение &amp;quot;&amp;lt; &amp;quot;Сельское посе-ление&amp;quot; end&lt;br /&gt;
--	do return  First_less_Second(&amp;quot;Сельское поселение &amp;quot;, &amp;quot;Сёльс&amp;quot;), &amp;quot;Сельское поселение &amp;quot;&amp;lt; &amp;quot;Сёльс&amp;quot; end&lt;br /&gt;
		&lt;br /&gt;
    for k, v in pairs(ABCmain) do &lt;br /&gt;
    	-- mw.ustring.lower для регистроНЕзависимого сравнения&lt;br /&gt;
        if First_less_Second(mw.ustring.lower(PlaceEEE), mw.ustring.lower(v)) then break else NumABC = k end&lt;br /&gt;
    end    &lt;br /&gt;
    &lt;br /&gt;
    if NumABC == nil then &lt;br /&gt;
    	if check then&lt;br /&gt;
    		return 0;&lt;br /&gt;
    	else&lt;br /&gt;
    		return &amp;quot;#Н/Д&amp;quot;..frame:callParserFunction{name = '#tag:ref', args = {PlaceName ..&amp;quot; &amp;gt; Данные не обнаружены. Возможно страница переименовывалась. Проверьте справочник[[Категория:Википедия:Статьи с неправильными параметрами шаблона Население]]&amp;quot;}} &lt;br /&gt;
    	end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
	local ABCPage = mw.loadData(&amp;quot;Модуль:Statistical/ABC&amp;quot;..NumABC)&lt;br /&gt;
&lt;br /&gt;
    if ABCPage[PlaceName] == nil then &lt;br /&gt;
    	if check then&lt;br /&gt;
    		return 0;&lt;br /&gt;
    	else&lt;br /&gt;
    		return &amp;quot;#Н/Д&amp;quot;..frame:callParserFunction{name = '#tag:ref', args = {PlaceName ..&amp;quot; &amp;gt; Данные не обнаружены. Возможно страница переименовывалась. Проверьте справочник[[Категория:Википедия:Статьи с неправильными параметрами шаблона Население]]&amp;quot;}} &lt;br /&gt;
    	end&lt;br /&gt;
    end&lt;br /&gt;
    local RegionData = mw.loadData(&amp;quot;Модуль:Statistical/&amp;quot;..ABCPage[PlaceName][1])&lt;br /&gt;
    local PlaceData = RegionData[ABCPage[PlaceName][2]]&lt;br /&gt;
    if PlaceData == nil then &lt;br /&gt;
    	if check then&lt;br /&gt;
    		return 0;&lt;br /&gt;
    	else&lt;br /&gt;
    		return &amp;quot;#Н/Д&amp;quot;..frame:callParserFunction{name = '#tag:ref', args = {PlaceName ..&amp;quot; &amp;gt; Данные не обнаружены. Возможно страница переименовывалась. Проверьте справочник[[Категория:Википедия:Статьи с неправильными параметрами шаблона Население]]&amp;quot;}} &lt;br /&gt;
    	end&lt;br /&gt;
	end&lt;br /&gt;
	if check then&lt;br /&gt;
		return 1;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
    local Format = mw.text.trim ( (args[2] or &amp;quot;Таблица&amp;quot;))&lt;br /&gt;
    &lt;br /&gt;
    local LastRecord = 0&lt;br /&gt;
    for k in pairs(PlaceData) do LastRecord = LastRecord + 1 end&lt;br /&gt;
    local NumRecord = LastRecord&lt;br /&gt;
    &lt;br /&gt;
	local function FormatY()    &lt;br /&gt;
	    return PlaceData[NumRecord][1]&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function FormatN()    &lt;br /&gt;
	    return PlaceData[NumRecord][2]&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function FormatS(SourceType)  &lt;br /&gt;
	    if PlaceData[NumRecord][3] == &amp;quot;&amp;quot; then&lt;br /&gt;
	        return &amp;quot;&amp;quot;&lt;br /&gt;
	    else&lt;br /&gt;
	        local Source1&lt;br /&gt;
	        local Source2 &lt;br /&gt;
	        if string.find(PlaceData[NumRecord][3],&amp;quot;%d+[A-Z]+&amp;quot;)==1 then&lt;br /&gt;
	            Source1 = RegionData['Источники'][PlaceData[NumRecord][3]][1]&lt;br /&gt;
	            Source2 = PlaceData[NumRecord][3]&lt;br /&gt;
	        else&lt;br /&gt;
	            Source1 = PlaceData[NumRecord][3]&lt;br /&gt;
	            Source2 = &amp;quot;&amp;quot;&lt;br /&gt;
	        end&lt;br /&gt;
	        if string.find(Source1, &amp;quot;http://&amp;quot;)==1 then&lt;br /&gt;
	            Source1 = '['..Source1..']'&lt;br /&gt;
	        end&lt;br /&gt;
			if SourceType == &amp;quot;и&amp;quot; then&lt;br /&gt;
				return Source1&lt;br /&gt;
			end&lt;br /&gt;
	        if Source2 == &amp;quot;&amp;quot; then&lt;br /&gt;
	            return frame:callParserFunction{name = '#tag:ref', args = {Source1}}&lt;br /&gt;
	        else&lt;br /&gt;
	            return frame:callParserFunction{name = '#tag:ref', args = {Source1, name = Source2}}&lt;br /&gt;
	        end&lt;br /&gt;
	    end&lt;br /&gt;
	end        &lt;br /&gt;
&lt;br /&gt;
	local function FormatF()    &lt;br /&gt;
	    return formatNum(PlaceData[NumRecord][2])    &lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function FormatT()    &lt;br /&gt;
	    if NumRecord &amp;gt; 1 then&lt;br /&gt;
	        if PlaceData[NumRecord][2] &amp;gt; PlaceData[NumRecord - 1][2] then&lt;br /&gt;
	            return &amp;quot;&amp;lt;span style='color: #0c0; font-weight:bold; font-size: larger;'&amp;gt;↗&amp;lt;/span&amp;gt;&amp;quot; &lt;br /&gt;
	        elseif PlaceData[NumRecord][2] &amp;lt; PlaceData[NumRecord - 1][2] then&lt;br /&gt;
	            return &amp;quot;&amp;lt;span style='color: red; font-weight:bold; font-size: larger;'&amp;gt;↘&amp;lt;/span&amp;gt;&amp;quot;  &lt;br /&gt;
	        else&lt;br /&gt;
	            return &amp;quot;&amp;lt;span style='color:#0AF;'&amp;gt;→&amp;lt;/span&amp;gt;&amp;quot;  &lt;br /&gt;
	        end&lt;br /&gt;
	    else&lt;br /&gt;
	        return &amp;quot;&amp;quot;&lt;br /&gt;
	    end            &lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
    if Format == 'Год' or Format == 'г' then&lt;br /&gt;
        return FormatY()    &lt;br /&gt;
    elseif Format == 'Безформат' or Format == 'Число' or Format == 'ч'  then&lt;br /&gt;
        return FormatN()    &lt;br /&gt;
    elseif Format == 'Ссылка' or Format == 'с'  then&lt;br /&gt;
        return FormatS(&amp;quot;с&amp;quot;)    &lt;br /&gt;
    elseif Format == 'Источник' or Format == 'и'  then&lt;br /&gt;
        return FormatS(&amp;quot;и&amp;quot;)    &lt;br /&gt;
    elseif Format == 'Формат' or Format == 'ф'  then&lt;br /&gt;
        return FormatF()    &lt;br /&gt;
    elseif Format == 'Формат' or Format == 'фг'  then&lt;br /&gt;
        return FormatF()..&amp;quot; (&amp;quot;..FormatY()..&amp;quot;)&amp;quot;    &lt;br /&gt;
    elseif Format == 'Формат' or Format == 'фс'  then&lt;br /&gt;
        return FormatF()..FormatS()    &lt;br /&gt;
    elseif Format == 'ФорматСсылкаГод' or Format == 'фсг'  then&lt;br /&gt;
        return FormatF()..FormatS()..&amp;quot; (&amp;quot;..FormatY()..&amp;quot;)&amp;quot;&lt;br /&gt;
    elseif Format == 'Тренд' or Format == 'т'  then&lt;br /&gt;
        return FormatT()..FormatF()    &lt;br /&gt;
    elseif Format == 'Значение' or Format == 'ТрендСсылка' or Format == 'тс'  then&lt;br /&gt;
        return FormatT()..FormatF()..FormatS()&lt;br /&gt;
    elseif Format == 'ТрендСсылкаГод' or Format == 'тсг'  then&lt;br /&gt;
        return FormatT()..FormatF()..FormatS()..&amp;quot; (&amp;quot;..FormatY()..&amp;quot;)&amp;quot;&lt;br /&gt;
	elseif Format == 'Диаграмма' or Format == 'д'  then&lt;br /&gt;
		local tempHeight = 370&lt;br /&gt;
		local tempWidth = 800&lt;br /&gt;
		local tempMod = math.fmod (LastRecord, 5)&lt;br /&gt;
		if LastRecord &amp;lt; 40 then &lt;br /&gt;
			tempHeight = 200  + 170 * (LastRecord - 1) / 40&lt;br /&gt;
			tempWidth = 200 + 600 * (LastRecord - 1) / 40&lt;br /&gt;
		end&lt;br /&gt;
		local tempGroup = &amp;quot;&amp;quot;&lt;br /&gt;
		local tempTooltip = &amp;quot;&amp;quot;&lt;br /&gt;
		local tempLegend = &amp;quot;&amp;quot;&lt;br /&gt;
		for k in pairs(PlaceData) do &lt;br /&gt;
			NumRecord = k&lt;br /&gt;
			tempGroup = tempGroup .. FormatN() .. &amp;quot;:&amp;quot;&lt;br /&gt;
			tempTooltip = tempTooltip .. FormatF() .. &amp;quot; (&amp;quot; .. FormatY() .. &amp;quot;):&amp;quot;&lt;br /&gt;
			if LastRecord &amp;lt; 5 or math.fmod (k, 5) == tempMod  then tempLegend = tempLegend .. FormatY() end&lt;br /&gt;
			tempLegend = tempLegend .. &amp;quot;:&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
		tempGroup = string.sub (tempGroup, 1, string.len (tempGroup)-1)&lt;br /&gt;
		tempTooltip = string.sub (tempTooltip, 1, string.len (tempTooltip)-1)&lt;br /&gt;
		tempLegend = string.sub (tempLegend, 1, string.len (tempLegend)-1)&lt;br /&gt;
    	local barChart = require('Модуль:Chart')['bar chart'];&lt;br /&gt;
		local Diagram = {&lt;br /&gt;
			['height'] = tempHeight,&lt;br /&gt;
			['width'] = tempWidth,&lt;br /&gt;
			['group 1'] = tempGroup,&lt;br /&gt;
			['tooltip 1'] = tempTooltip,&lt;br /&gt;
			['x legends'] = tempLegend,&lt;br /&gt;
			['group names'] = 'Численность населения',&lt;br /&gt;
			['default color'] = '#00CCFF'&lt;br /&gt;
			}    	&lt;br /&gt;
		local cframe = mw.getCurrentFrame();&lt;br /&gt;
		return barChart(cframe:newChild{ title=cframe.title, args = Diagram})&lt;br /&gt;
    else&lt;br /&gt;
        -- Формироание HTML-таблицы&lt;br /&gt;
        local HtmlBuilder = require('Модуль:HtmlBuilder')    &lt;br /&gt;
        local HTML = HtmlBuilder.create('table')&lt;br /&gt;
    &lt;br /&gt;
        local MaxData&lt;br /&gt;
        if args['Столбцов'] then&lt;br /&gt;
            Column = tonumber(args['Столбцов'])&lt;br /&gt;
        else&lt;br /&gt;
            MaxData = (PlaceData[1][2] &amp;gt; PlaceData[LastRecord][2]) and PlaceData[1][2] or PlaceData[LastRecord][2]&lt;br /&gt;
            if MaxData &amp;lt; PlaceData[math.floor((LastRecord + 1) / 2)][2] then MaxData = PlaceData[math.floor((LastRecord + 1) / 2)][2] end&lt;br /&gt;
            if MaxData &amp;lt; 10 then Column = 15 &lt;br /&gt;
            elseif MaxData &amp;lt; 100 then Column = 12 &lt;br /&gt;
            elseif MaxData &amp;lt; 1000 then Column = 12&lt;br /&gt;
            elseif MaxData &amp;lt; 10000 then Column = 12&lt;br /&gt;
            elseif MaxData &amp;lt; 100000 then Column = 10&lt;br /&gt;
            elseif MaxData &amp;lt; 1000000 then Column = 10&lt;br /&gt;
            elseif MaxData &amp;lt; 10000000 then Column = 8&lt;br /&gt;
            elseif MaxData &amp;lt; 100000000 then Column = 8&lt;br /&gt;
            else Column = 7 end&lt;br /&gt;
            if Column &amp;gt; LastRecord then Column = LastRecord end&lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        if args['Оформление'] ~= nil then&lt;br /&gt;
            HTML.attr('class', args['Оформление'])&lt;br /&gt;
        else&lt;br /&gt;
            if Column &amp;gt; 7 then HTML.attr('class', 'wide') else HTML.attr('class', 'standard') end&lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        local TempRow&lt;br /&gt;
        local NumRow = 0&lt;br /&gt;
        TempRow = HTML.tag('th').attr('colspan', Column).wikitext(args['Заголовок'] or 'Численность населения')&lt;br /&gt;
        for i = 1, math.ceil(LastRecord / Column) do&lt;br /&gt;
            TempRow = HTML.tag('tr').addClass(&amp;quot;bright&amp;quot;)&lt;br /&gt;
            for j = 1, Column do&lt;br /&gt;
				NumRecord = (i - 1) * Column + j&lt;br /&gt;
                if PlaceData[NumRecord] == nil then&lt;br /&gt;
                    TempRow.tag('th').wikitext(&amp;quot;&amp;quot;)&lt;br /&gt;
                else&lt;br /&gt;
                    TempRow.tag('th').wikitext(FormatY()..FormatS(&amp;quot;с&amp;quot;))&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
        &lt;br /&gt;
            TempRow = HTML.tag('tr').attr('align', 'center')&lt;br /&gt;
            for j = 1, Column do&lt;br /&gt;
				NumRecord = (i - 1) * Column + j&lt;br /&gt;
                if PlaceData[NumRecord] == nil then&lt;br /&gt;
                    TempRow.tag('td').wikitext(&amp;quot;&amp;quot;)&lt;br /&gt;
                else&lt;br /&gt;
                    TempRow.tag('td').wikitext(FormatT()..FormatF())&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
        end            &lt;br /&gt;
        return tostring(HTML)&lt;br /&gt;
    end&lt;br /&gt;
    return 1, Format&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Peandre2</name></author>
		
	</entry>
</feed>