экран 17экран 18дополнительно
фонд № Р-6973, «Колупаева Валерия Николаевна (р. 1929 г.) - библиотекарь, заслуженный работник культуры РСФСР»
опись № 3, «дел постоянного хранения (цветные позитивы)»
дело «№ 1, Валерия Николаевна Колупаева на заседании клуба "Вятские книголюбы" в Кировской областной научной библиотеке им. А.И. Герцена»
17 экран
номер ед.хр. 1
том ед.хр. 0
номер ед. уч.
заголовок
Валерия Николаевна Колупаева на заседании клуба "Вятские книголюбы" в Кировской областной научной библиотеке им. А.И. Герцена
Рубрика
    № по старой описи
    производственный №
    даты документов 2000-01-012000-12-31 (20000101/20001231)
    неточная дата
    том описи
    количество листов 1
    категория
    тип документации

    составлено: 2011-12-19 00:00:00 составитель: гл. спец. Зонова А.А.

      * жёлтым подсвечиваются поля для редактирования, сделайте по ним двойной щелчок

      экран 17экран 18дополнительно
      фонд № Р-6973, «Колупаева Валерия Николаевна (р. 1929 г.) - библиотекарь, заслуженный работник культуры РСФСР»
      опись № 3, «дел постоянного хранения (цветные позитивы)»
      дело «№ 2, Валерия Николаевна Колупаева в деревне Дудинцы Куменского района у дома, в котором жила мать Ф.И. Шаляпина Е.М. Прозорова»
      17 экран
      номер ед.хр. 2
      том ед.хр. 0
      номер ед. уч.
      заголовок
      Валерия Николаевна Колупаева в деревне Дудинцы Куменского района у дома, в котором жила мать Ф.И. Шаляпина Е.М. Прозорова
      Рубрика
        № по старой описи
        производственный №
        даты документов 2002-06-162002-06-16 (20020616/20020616)
        неточная дата
        том описи
        количество листов 1
        категория
        тип документации

        составлено: 2011-12-19 00:00:00 составитель: гл. спец. Зонова А.А.

          * жёлтым подсвечиваются поля для редактирования, сделайте по ним двойной щелчок

          экран 17экран 18дополнительно
          фонд № Р-6973, «Колупаева Валерия Николаевна (р. 1929 г.) - библиотекарь, заслуженный работник культуры РСФСР»
          опись № 3, «дел постоянного хранения (цветные позитивы)»
          дело «№ 3, Выступление Валерии Николаевны Колупаевой на 8-ой Международной конференции "Библиотека в контексте истории" в Москве»
          17 экран
          номер ед.хр. 3
          том ед.хр. 0
          номер ед. уч.
          заголовок
          Выступление Валерии Николаевны Колупаевой на 8-ой Международной конференции "Библиотека в контексте истории" в Москве
          Рубрика
            № по старой описи
            производственный №
            даты документов 2011-12-192011-12-19 (20111219/20111219)
            неточная дата
            том описи
            количество листов 1
            категория
            тип документации

            составлено: 2011-12-19 00:00:00 составитель: гл. спец. Зонова А.А.

              * жёлтым подсвечиваются поля для редактирования, сделайте по ним двойной щелчок

              экран 17экран 18дополнительно
              фонд № Р-6973, «Колупаева Валерия Николаевна (р. 1929 г.) - библиотекарь, заслуженный работник культуры РСФСР»
              опись № 3, «дел постоянного хранения (цветные позитивы)»
              дело «№ 4, Выступление Валерии Николаевны Колупаевой на 8-х Петряевских чтениях в Кировской областной библиотеке им А.И. Герцена»
              17 экран
              номер ед.хр. 4
              том ед.хр. 0
              номер ед. уч.
              заголовок
              Выступление Валерии Николаевны Колупаевой на 8-х Петряевских чтениях в Кировской областной библиотеке им А.И. Герцена
              Рубрика
                № по старой описи
                производственный №
                даты документов 2005-02-242005-02-24 (20050224/20050224)
                неточная дата
                том описи
                количество листов 1
                категория
                тип документации

                составлено: 2011-12-19 00:00:00 составитель: гл. спец. Зонова А.А.

                  * жёлтым подсвечиваются поля для редактирования, сделайте по ним двойной щелчок

                  экран 17экран 18дополнительно
                  фонд № Р-6973, «Колупаева Валерия Николаевна (р. 1929 г.) - библиотекарь, заслуженный работник культуры РСФСР»
                  опись № 3, «дел постоянного хранения (цветные позитивы)»
                  дело «№ 5, Валерия Николаевна Колупаева на выставке документов ГАСПИ КО о Е.Д. Петряеве в Кировской областной научной библиотеке им. А.И. Герцена»
                  17 экран
                  номер ед.хр. 5
                  том ед.хр. 0
                  номер ед. уч.
                  заголовок
                  Валерия Николаевна Колупаева на выставке документов ГАСПИ КО о Е.Д. Петряеве в Кировской областной научной библиотеке им. А.И. Герцена
                  Рубрика
                    № по старой описи
                    производственный №
                    даты документов 2005-02-242005-02-24 (20050224/20050224)
                    неточная дата
                    том описи
                    количество листов 1
                    категория
                    тип документации

                    составлено: 2011-12-19 00:00:00 составитель: гл. спец. Зонова А.А.

                      * жёлтым подсвечиваются поля для редактирования, сделайте по ним двойной щелчок

                      экран 17экран 18дополнительно
                      фонд № Р-6973, «Колупаева Валерия Николаевна (р. 1929 г.) - библиотекарь, заслуженный работник культуры РСФСР»
                      опись № 3, «дел постоянного хранения (цветные позитивы)»
                      дело «№ 6, Вручение Почетной грамоты Администрации Кировской области Валерии Николаевне Колупаевой губернатором Кировской области В.Н. Сергеенковым»
                      17 экран
                      номер ед.хр. 6
                      том ед.хр. 0
                      номер ед. уч.
                      заголовок
                      Вручение Почетной грамоты Администрации Кировской области Валерии Николаевне Колупаевой губернатором Кировской области В.Н. Сергеенковым
                      Рубрика
                        № по старой описи
                        производственный №
                        даты документов 1997-12-161997-12-16 (19971216/19971216)
                        неточная дата
                        том описи
                        количество листов 1
                        категория
                        тип документации

                        составлено: 2011-12-19 00:00:00 составитель: гл. спец. Зонова А.А.

                          * жёлтым подсвечиваются поля для редактирования, сделайте по ним двойной щелчок

                          экран 17экран 18дополнительно
                          фонд № Р-6973, «Колупаева Валерия Николаевна (р. 1929 г.) - библиотекарь, заслуженный работник культуры РСФСР»
                          опись № 3, «дел постоянного хранения (цветные позитивы)»
                          дело «№ 7, Черезов В., Николаева Т.К., Чугунов В.А., Сметанина Э.А., Колупаева В.Н. на дне памяти Натальи Евгеньевны Петряевой, врача, краеведа»
                          17 экран
                          номер ед.хр. 7
                          том ед.хр. 0
                          номер ед. уч.
                          заголовок
                          Черезов В., Николаева Т.К., Чугунов В.А., Сметанина Э.А., Колупаева В.Н. на дне памяти Натальи Евгеньевны Петряевой, врача, краеведа
                          Рубрика
                            № по старой описи
                            производственный №
                            даты документов 2001-01-212001-01-21 (20010121/20010121)
                            неточная дата
                            том описи
                            количество листов 1
                            категория
                            тип документации

                            составлено: 2011-12-19 00:00:00 составитель: гл. спец. Зонова А.А.

                              * жёлтым подсвечиваются поля для редактирования, сделайте по ним двойной щелчок

                              у этой описи нет дел

                              Исходный код модуля /home/httpd/af-web.gaspiko.ru/cgi-bin/plugins2/delo_show.pyc

                              # -*- coding: utf8 -*-
                              import libs
                              SQL = (
                                  ("delo","""
                              select
                                      @DELO_ID:=D.KOD as DELO_ID,FOND_ID, O.*,DS.*,D.*,U.FIO,
                                      (select count(*) from list_nagrada LN where DS.DELO_ID=LN.DELO_ID)as count_nagrada,
                                      (select count(*) from digital_image dim where DS.DELO_ID=dim.DELO_ID)as count_dig_img
                                  from
                                      DELO D
                                      left join delo_sys DS on (D.KOD=DS.DELO_ID)
                                      left join opis  O on (OPIS=O.OPIS_ID)
                                      left join users  U on (uid=U.id)
                                  %(where)s
                                  limit %(offset)d,%(limit)d;"""),
                                  ("rubrikator","""select * from rubrikator_links_sys where `item_id`=@DELO_ID and `plugins_name`='delo_list';"""),
                              )
                              FOUND_ROWS = False
                              ROOT = "show_delo"
                              ROOT_PREFIX = ""
                              ROOT_POSTFIX= None
                              XSL_TEMPLATE = "data/af-web.xsl"
                              EVENT = {"L4":libs.make_str_cdata,}
                              WHERE = ("FOND_ID", "OPIS_ID", "DELO_ID","KOD")
                              PARAM = ("OPIS_ID", )
                              TITLE="Дело"
                              MESSAGE="у этой описи нет дел"
                              ORDER = None

                              Исходный код модуля /home/httpd/af-web.gaspiko.ru/cgi-bin/app2.py

                              #!/usr/bin/env python
                              #
                              #       app2.py
                              #
                              #       Copyright 2010 Basmanov Illya 
                              #
                              #       This program is free software; you can redistribute it and/or modify
                              #       it under the terms of the GNU General Public License as published by
                              #       the Free Software Foundation; either version 2 of the License, or
                              #       (at your option) any later version.
                              #
                              #       This program is distributed in the hope that it will be useful,
                              #       but WITHOUT ANY WARRANTY; without even the implied warranty of
                              #       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                              #       GNU General Public License for more details.
                              #
                              #       You should have received a copy of the GNU General Public License
                              #       along with this program; if not, write to the Free Software
                              #       Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
                              #       MA 02110-1301, USA.
                              import sys
                              import config

                              #sys.stderr = sys.stdout
                              #print "Content-Type: text/html; charset=utf8\n\n"

                              import ffcgi
                              import libs
                              from user import user
                              from base import bd_sql
                              from xslt_proc import xml_xsl_proc

                              plugin_dir = "plugins2"


                              def load_module():
                                  if ffcgi.cgi_check_name("plugins"):
                                      module_name = ffcgi.cgi_value( "plugins" )
                                      return libs.load_module_name(module_name, plugin_dir)
                                  else:
                                      return None


                              def load_env():
                                  data, page, limit = {}, 0, int(config.limit)
                                  if ffcgi.cgi_check_name("p"):
                                      page = int(ffcgi.cgi_value("p"))
                                  if ffcgi.cgi_check_name("l"):
                                      limit = int(ffcgi.cgi_value("l"))
                                  if ffcgi.cgi_check_name("plugins"):
                                      data["plugins"] = ffcgi.cgi_value( "plugins" )
                                  if ffcgi.cgi_value("ORDER_DIRECTION") in ("DESC", "ASC"):
                                      data["direction"] = ffcgi.cgi_value("ORDER_DIRECTION")
                                  else:
                                      data["direction"] = "DESC"
                                  data["page"] = page
                                  data["limit"] = limit
                                  data["offset"] = page * limit
                                  xml = user[3] +"%(page)d%(limit)d%(offset)d%(plugins)s%(direction)s"%data
                                  return data, xml

                              def make_order(cgi_param):
                                  if cgi_param is not None:
                                      order = []
                                      direction = "DESC"
                                      if ffcgi.cgi_value("ORDER_DIRECTION") in ("DESC", "ASC"):
                                          direction = ffcgi.cgi_value("ORDER_DIRECTION")
                                      for param in cgi_param:
                                          if ffcgi.cgi_value("ORDER") == param:
                                              value = param
                                              if type(value) == list:
                                                  order.append( ", ".join(["`%s`"%v for v in value]) )
                                              elif type(value) == str:
                                                  order.append( "`%s`"%value )
                                              return " ORDER BY %s %s"%(",".join(order), direction)
                                  return ""


                              def make_where(cgi_param, IF_ID_DOMEN=None):
                                  if cgi_param is None:
                                      return ""
                                  where = []
                                  where_like = []
                                  if IF_ID_DOMEN is not None:
                                      where.append(IF_ID_DOMEN)
                                  if ffcgi.cgi_check_name("WHERE_LIKE"):
                                      where_like = ffcgi.cgi_value("WHERE_LIKE")
                                  for param in cgi_param:
                                      if ffcgi.cgi_check_name(param):
                                          value = ffcgi.cgi_value(param)
                                          if type(value) == list:
                                              param = param.replace('.','`.`')
                                              if ffcgi.cgi_check_name("BETWEEN") and len(value)==2:
                                                  where.append( "`%s` BETWEEN %s AND %s"%(param, value[0], value[1] ))
                                              else:
                                                  where.append( "`%s` IN (%s)"%(param, ", ".join(["'%s'"%v for v in value])) )
                                          elif type(value) == str or type(value) == int :
                                              if param in where_like:
                                                  param = param.replace('.','`.`')
                                                  where.append( "`%s` LIKE '%%%s%%'"%(param, str(value)) )
                                              else:
                                                  param = param.replace('.','`.`')
                                                  where.append( "`%s`='%s'"%(param, str(value)) )
                                          else:
                                              pass
                                  if len(where):
                                      where = " AND ".join(where)
                                      return "WHERE "+where
                                  return ""

                              def list_to_xml(listtx):
                                  txml = ""
                                  if listtx:
                                          for lx in listtx:
                                              txml += "%s"%lx
                                  return txml

                              def exec_sql(module, data, sql, root):
                                  xml = ""
                                  try:
                                      sql = sql%data
                                      if ffcgi.cgi_check_name("SQL"):
                                          print sql, ""
                                      if bd_sql.execute( sql, module.TITLE ):
                                          txml = bd_sql.get_xml( event = module.EVENT)
                                          if module.FOUND_ROWS:
                                              if bd_sql.execute( "select found_rows() as count;" ):
                                                  txml += bd_sql.get_xml("all_count")
                                          xml = "<%s>%s"%(root, txml, root)
                                      else:
                                          if module.ROOT_POSTFIX:
                                              xml += module.ROOT_POSTFIX
                                          xml += libs.make_message( "%s"%libs.make_cdata(module.MESSAGE) + "%s"%libs.make_cdata(sql) )
                                  except Exception, e:
                                      xml += libs.make_message( "%s: %s"%libs.make_cdata(module.MESSAGE, e) )
                                  return xml

                              def exec_sql_json(module, data, sql, root):
                                  json_data = {root: {}, }
                                  try:
                                      sql = sql%data
                                      if ffcgi.cgi_check_name("SQL"):
                                          print sql, ""
                                      if bd_sql.execute( sql, module.TITLE ):
                                          json_data[root]["row"] = bd_sql.get_row()
                                          if module.FOUND_ROWS:
                                              if bd_sql.execute( "select found_rows() as count;" ):
                                                  json_data[root]["all_count"] = bd_sql.get_row()[0][0]
                                      else:
                                          json_data[root]['error-message'] = module.MESSAGE
                                          json_data[root]['error-sql'] = sql
                                  except Exception, e:
                                      json_data[root]['error-message'] = module.MESSAGE
                                      json_data[root]['error-sql'] = sql
                                  return json_data

                              def main():

                                  module = load_module()
                                  if module:
                                      data, xml = load_env()
                                      xml += ffcgi.cgi_xml() + "%s"%list_to_xml(module.WHERE)
                                      if_id_domen = None
                                      if "IF_ID_DOMEN" in dir(module):
                                          if_id_domen = module.IF_ID_DOMEN
                                      data["where"] = make_where(module.WHERE, if_id_domen)
                                      data["order"] = make_order(module.ORDER)
                                      xml += "%s"%module.TITLE


                                      if module.PARAM:
                                          txml = ""
                                          for param in module.PARAM:
                                              if ffcgi.cgi_check_name(param):
                                                  value = ffcgi.cgi_value(param)
                                                  if type(value) == list:
                                                      for v in value:
                                                          data[param] = v
                                                          txml += "<%s>%s"%(param, libs.make_str_cdata( v ), param)
                                                  elif type(value) == str:
                                                      data[param] = value
                                                      txml += "<%s>%s"%(param, libs.make_str_cdata(value), param)
                                          xml += "%s"%txml

                                      if module.ROOT_PREFIX:
                                          xml += module.ROOT_PREFIX

                                      if ffcgi.cgi_check_name("cmd") and ffcgi.cgi_value("cmd")=="add":
                                          xml += "<%s />"%module.ROOT
                                      elif ffcgi.cgi_check_name("format"):
                                          # output format JSON
                                          try:
                                              from json import dumps
                                          except:
                                              from simplejson import dumps
                                          json_data = {module.ROOT:  [exec_sql_json(module, data, sql = module.SQL[i][1], root = module.SQL[i][0]) for i in range(0, len(module.SQL))][0]}
                                          print dumps( json_data )
                                          return
                                      else:
                                          if type(module.SQL)==str:
                                              xml += exec_sql(module, data, module.SQL, module.ROOT)
                                          else:
                                              xml += "<%s>%s"%(module.ROOT, "\n\t\t".join([exec_sql(module, data, sql = module.SQL[i][1], root = module.SQL[i][0]) for i in range(0, len(module.SQL))]), module.ROOT)



                                      if ffcgi.cgi_check_name("dbg"):
                                          xml += bd_sql.history()

                                      if ffcgi.cgi_check_name("src"):
                                          def make_source(filename):
                                              return filename, libs.make_str_cdata(open(".".join(filename.split('.')[:-1])+".py").read().replace(" "," "))
                                          xml += "%s%s"%make_source(module.__file__)
                                          xml += "%s%s"%make_source(__file__)


                                      xml = "%s"%xml.replace('\0','')
                                      libs.save_xml(xml, module.__file__ )

                                      try:
                                          print xml_xsl_proc(xml,fxsl=module.XSL_TEMPLATE)
                                      except Exception, e:
                                          print e

                                  else:
                                      print "no define module"
                                  return 0

                              if __name__ == '__main__':
                                  try:
                                      main()
                                  except Exception, e:
                                          print e

                              Отладочная информация

                              список sql запросов страницы

                              1. INSERT INTO session (UID,HASH,REFERER,UAGENT,date,id_domen) VALUES(0,'guest9072262241570561161','','webkit/None',now(),@id_domen)#созадём новую сессию для ананимоуса
                              2. select @DELO_ID:=D.KOD as DELO_ID,FOND_ID, O.*,DS.*,D.*,U.FIO, (select count(*) from list_nagrada LN where DS.DELO_ID=LN.DELO_ID)as count_nagrada, (select count(*) from digital_image dim where DS.DELO_ID=dim.DELO_ID)as count_dig_img from DELO D left join delo_sys DS on (D.KOD=DS.DELO_ID) left join opis O on (OPIS=O.OPIS_ID) left join users U on (uid=U.id) WHERE `OPIS_ID`='46635' limit 0,25;#Дело
                              3. select * from rubrikator_links_sys where `item_id`=@DELO_ID and `plugins_name`='delo_list';#Дело

                              список CGI параметров

                              параметр значение
                              src show
                              OPIS_ID 46635
                              dbg show
                              plugins delo_show