Now it's working -- with automatic section title setting and hyperlinks, if needed.
\documentclass{article}
\usepackage[lmargin=1.5cm,rmargin=1.5cm]{geometry}
\usepackage{blindtext}
\usepackage{array}
\usepackage{longtable}
\usepackage{tabularx}
\usepackage{xpatch}
\usepackage{xparse}
\newif\ifhyperrefloaded
\usepackage[hypertexnames=true]{hyperref}
\makeatletter
\@ifpackageloaded{hyperref}{\hyperrefloadedtrue}{\hyperrefloadedfalse}
\newcommand{\PhantomSection}{%
\ifhyperrefloaded
\phantomsection%
\fi
}
\def\@startmytoc#1#2{%
\begingroup
\makeatletter
\renewcommand{\arraystretch}{1.5}%
\centering
% Table format may be changed%%%
\begin{tabularx}{0.5\linewidth}{|p{1cm}|X|r|}%
\multicolumn{3}{c}{\Large \bfseries #2}
\tabularnewline
\multicolumn{3}{c}{}\tabularnewline[0.5ex]
\hline
\@input{\jobname.#1}% Input the ToF or ToT file
\end{tabularx}%
\if@filesw%
\expandafter\newwrite\csname tf@#1\endcsname%
\immediate\openout \csname tf@#1\endcsname \jobname.#1\relax%
\fi%
\endgroup
}
\newcommand{\mytableofcontents}{%
\cleardoublepage
\PhantomSection%
\@startmytoc{tocm}{\contentsname}%
}%
\def\@sect#1#2#3#4#5#6[#7]#8{%
\def\@@tempa@@{#1}%
\def\@@tempa@section{section}%
\ifnum #2>\c@secnumdepth
\let\@svsec\@empty
\else
\refstepcounter{#1}%
\protected@edef\@svsec{\@seccntformat{#1}\relax}%
\fi
\@tempskipa #5\relax
\ifdim \@tempskipa>\z@
\begingroup
#6{%
\@hangfrom{\hskip #3\relax\@svsec}%
\interlinepenalty \@M #8\@@par}%
\endgroup
\csname #1mark\endcsname{#7}%
\ifx\@@tempa@@\@@tempa@section
\addtocontents{tocm}{%
\protect\writemytocline{\thesection}{#7}{\thepage}%
}%
\fi
\addcontentsline{toc}{#1}{%
\ifnum #2>\c@secnumdepth \else
\protect\numberline{\csname the#1\endcsname}%
\fi
#7}%
\else
\def\@svsechd{%
#6{\hskip #3\relax
\@svsec #8}%
\csname #1mark\endcsname{#7}%
\ifx\@@tempa@@\@@tempa@section
\addtocontents{tocm}{%
\protect\writemytocline{\thesection}{#7}{\thepage}%
}%
\fi
\addcontentsline{toc}{#1}{%
\ifnum #2>\c@secnumdepth \else
\protect\numberline{\csname the#1\endcsname}%
\fi
#7}}%
\fi
\@xsect{#5}}
\newcommand{\writemytocline}[3]{%
#1 & #2 &
\ifhyperrefloaded
\protect\hyperlink{section.#1}{#3}%
\else
#3%
\fi
\tabularnewline
\hline
}
\makeatother
\begin{document}
\mytableofcontents
\section{A section}
\subsection{A subsection}
\blindtext[10]
\section{Another section}
\blindtext[10]
\section[Short title]{Yet another section}
\end{document}
The Russian version
\documentclass{article}
\usepackage[lmargin=1.5cm,rmargin=1.5cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}
\usepackage{blindtext}
\usepackage{array}
\usepackage{tabularx}
\usepackage{xpatch}
\usepackage{xparse}
\newif\ifhyperrefloaded
\usepackage[hypertexnames=true]{hyperref}
\makeatletter
\@ifpackageloaded{hyperref}{\hyperrefloadedtrue}{\hyperrefloadedfalse}
\newcommand{\PhantomSection}{%
\ifhyperrefloaded
\phantomsection%
\fi
}
\def\@startmytoc#1#2{%
\begingroup
\makeatletter
\renewcommand{\arraystretch}{1.5}%
\centering
% Table format may be changed%%%
\begin{tabularx}{\linewidth}{|p{2cm}|X|r|}%
\hline
Разделы & & Страницы \tabularnewline
\hline
Номер & Название & \tabularnewline
\hline
\@input{\jobname.#1}% Input the ToF or ToT file
\end{tabularx}%
\if@filesw%
\expandafter\newwrite\csname tf@#1\endcsname%
\immediate\openout \csname tf@#1\endcsname \jobname.#1\relax%
\fi%
\endgroup
}
\newcommand{\mytableofcontents}{%
\cleardoublepage
\PhantomSection%
\@startmytoc{tocm}{\contentsname}%
}%
\def\@sect#1#2#3#4#5#6[#7]#8{%
\def\@@tempa@@{#1}%
\def\@@tempa@section{section}%
\ifnum #2>\c@secnumdepth
\let\@svsec\@empty
\else
\refstepcounter{#1}%
\protected@edef\@svsec{\@seccntformat{#1}\relax}%
\fi
\@tempskipa #5\relax
\ifdim \@tempskipa>\z@
\begingroup
#6{%
\@hangfrom{\hskip #3\relax\@svsec}%
\interlinepenalty \@M #8\@@par}%
\endgroup
\csname #1mark\endcsname{#7}%
\ifx\@@tempa@@\@@tempa@section
\addtocontents{tocm}{%
\protect\writemytocline{\thesection}{#7}{\thepage}%
}%
\fi
\addcontentsline{toc}{#1}{%
\ifnum #2>\c@secnumdepth \else
\protect\numberline{\csname the#1\endcsname}%
\fi
#7}%
\else
\def\@svsechd{%
#6{\hskip #3\relax
\@svsec #8}%
\csname #1mark\endcsname{#7}%
\ifx\@@tempa@@\@@tempa@section
\addtocontents{tocm}{%
\protect\writemytocline{\thesection}{#7}{\thepage}%
}%
\fi
\addcontentsline{toc}{#1}{%
\ifnum #2>\c@secnumdepth \else
\protect\numberline{\csname the#1\endcsname}%
\fi
#7}}%
\fi
\@xsect{#5}}
\newcommand{\writemytocline}[3]{%
#1 & #2 &
\ifhyperrefloaded
\protect\hyperlink{section.#1}{#3}%
\else
#3%
\fi
\tabularnewline
\hline
}
\makeatother
\begin{document}
\mytableofcontents
\section{\large \textbf{\textsc{Отрасль применения}}}
\blindtext[10]
\section{\large \textbf{\textsc{Ответственные лица}}}
\blindtext[10]
\section{\large \textbf{\textsc{Нормативная база}}}
\blindtext[10]
\section{\large \textbf{\textsc{Материальная база}}}
\blindtext[10]
\subsection{\large \textbf{\textsc{Основные средства}}}
\blindtext[10]
\subsection{\large \textbf{\textsc{Химические средства}}}
\blindtext[10]
\section{\large \textbf{\textsc{Определения и сокращения}}}
\blindtext[10]
\section{\large \textbf{\textsc{Основная часть}}}
\blindtext[10]
\section{\large \textbf{\textsc{Конечные выводы / рекомендации}}}
\end{document}

\sectionand have to add the section name twice, which is error-prone – Feb 04 '16 at 14:01tocloftto customize the appearance of the Table of Contents. – Mico Feb 04 '16 at 14:04\section– Feb 04 '16 at 14:04\listoffiguresetc. but should be adaptable to the ToC – Feb 04 '16 at 14:11\pagerefmacro? – Mico Feb 04 '16 at 14:13etoccan do this, I believe – Feb 04 '16 at 14:14