diff --git a/www.tcl/index.rvt b/www.tcl/index.rvt
new file mode 100644
index 0000000..4b54ec9
--- /dev/null
+++ b/www.tcl/index.rvt
@@ -0,0 +1,106 @@
+
+######################################################
+#                web
+#        Distributed under GNU Public License
+# Author: Sergey Kalinin banzaj28@yandex.ru
+# Copyright (c) "Sergey Kalinin", 2017, http://nuk-svk.ru
+######################################################
+
+package require mysqltcl
+
+
+proc main {} {
+    if { [::rivet::var exists query_type] } {
+        set query_type [::rivet::var get query_type]
+        if {$query_type == "internal"} {
+            set output "[header] [body] [getInternalNumbers] [footer]"
+        }
+    } else {
+        set output "[header] [body] [footer]"
+    }
+    return $output
+}
+
+
+proc header {} {
+    set txtHeader "
\n
+    \n
+    \n
+    Телефоны\n
+    \n"
+    return $txtHeader
+}
+
+proc footer {} {
+    set txtFooter "\n"
+    return $txtFooter
+}
+
+proc body {} {
+    set txtBody "\n"
+    return $txtBody
+}
+proc menu {} {
+    set txtMenu ""
+    return $txtMenu
+}
+
+proc connectDB {} {
+    return [mysql::connect -host localhost -user root -db ats -encoding binary]
+    
+}
+
+# Список внутренних номеров из СУБД
+proc getInternalNumbers {} {
+    set conn [connectDB]
+    set order "int_number"
+    set result "Список внутренних телефонов
"
+    set qr "SELECT * FROM int_number ORDER by $order"
+    set query [mysql::query $conn $qr]
+    
+    set listHeader "| № п/п\n
+ | Телефон\n
+ | ФИО\n
+ | Описание | Эл.почта | 
|---|
\n"
+    set result "$result $listHeader"
+    set rowData ""
+    while {[set row [mysql::fetch $query]]!=""} {
+        set rowData "| [lindex $row 0]+ | [lindex $row 1]+ | [lindex $row 2]+ | [lindex $row 4]+ | [lindex $row 3] | 
\n"
+    }
+    mysql::endquery $query
+    #set result "$result [encoding convertto utf-8 $rowData]"
+    set result "$result $rowData"
+    
+    return "$result 
\n"
+        
+}
+# Список пользователей (ФИО, телефон, почта, отдел) из LDAP (AD)
+proc getLDAPusers {} {
+}    
+proc getCOline {} {
+}
+
+proc ReportForm {} {
+}    
+
+proc ReportData {environ} {
+}
+
+#puts [header]
+#puts [body]
+#puts [footer]
+puts [main]
+?>
+
diff --git a/www.tcl/vars.rvt b/www.tcl/vars.rvt
new file mode 100644
index 0000000..f3ed54d
--- /dev/null
+++ b/www.tcl/vars.rvt
@@ -0,0 +1,67 @@
+
+######################################################
+#                web
+#        Distributed under GNU Public License
+# Author: Sergey Kalinin banzaj28@yandex.ru
+# Copyright (c) "Sergey Kalinin", 2017, http://nuk-svk.ru
+######################################################
+
+
+set errlist {}
+if { [::rivet::var exists title] } {
+    set title [::rivet::var get title]
+} else {
+    set errlist "You need to enter a title"
+}
+
+if { [::rivet::var exists salary] } {
+    set salary [::rivet::var get salary]
+    if { ! [string is digit $salary] } {
+        lappend errlist "Salary must be a number"
+    }
+} else {
+    lappend errlist "You need to enter a salary"
+}
+
+if { [::rivet::var exists boss] } {
+    set boss [::rivet::var get boss]
+} else {
+    set boss "Mr. Burns"
+}
+
+if { [::rivet::var exists skills] } {
+    set skills [::rivet::var list skills]
+} else {
+    lappend errlist "You need to enter some skills"
+}
+
+if { [llength $errlist] != 0 } {
+    foreach err $errlist {
+        puts " $err "
+    }
+} else {
+    puts "Thanks for the information!"
+    ?>
+    
+      
+        
+          | Title:+ | = $title ?>+ | 
+        
+          | Boss:+ | = $boss ?>+ | 
+        
+          | Salary:+ | = $salary ?>+ | 
+        
+          | Skills:+ | = $skills ?>+ | 
+      
+    
+    
+}
+?>