Использование MS Excel

Материал из AutoPark
(Различия между версиями)
Перейти к: навигация, поиск
(Ошибка при удалении файла .xls)
("Compile Error: User-defined type not defined")
 
(не показаны 18 промежуточных версий 2 участников)
Строка 5: Строка 5:
  
 
===Термины===
 
===Термины===
;<форма_отчета>:  Название программного модуля, выполняющего отчет. Так же этим именем назван шаблон отчета и подкаталог в каталоге BASIS, содержащий книги Excel и файлы базисов.
+
;<форма_отчета>:  Название программного модуля, выполняющего отчет. Так же этим именем назван шаблон отчета и подпапка в папке BASIS, содержащий книги Excel и файлы базисов.
 
;<шаблон_отчета> : Файл Excel, служащий образцом при создании нового отчета. Не содержит никаких данных и определяет лишь внешний вид нового отчета (группировка и сортировка данных, фильтры, раскраска и т.п.). Для одной формы отчета может быть подготовлено несколько шаблонов, (если для данной формы надо настроить много разных сводных таблиц, помещение их в один шаблон может создавать неудобства - например, длительное время обновления отчета).  
 
;<шаблон_отчета> : Файл Excel, служащий образцом при создании нового отчета. Не содержит никаких данных и определяет лишь внешний вид нового отчета (группировка и сортировка данных, фильтры, раскраска и т.п.). Для одной формы отчета может быть подготовлено несколько шаблонов, (если для данной формы надо настроить много разных сводных таблиц, помещение их в один шаблон может создавать неудобства - например, длительное время обновления отчета).  
 
:Шаблон имеет имя <форма_отчета> или <форма_отчета>#NN, где # - символ "#", NN - номер шаблона. Например "T9021#01". Расширение - XLT.
 
:Шаблон имеет имя <форма_отчета> или <форма_отчета>#NN, где # - символ "#", NN - номер шаблона. Например "T9021#01". Расширение - XLT.
Строка 16: Строка 16:
 
::;остальное: <имя>_YYYYMMDD_yyyymmdd,
 
::;остальное: <имя>_YYYYMMDD_yyyymmdd,
 
:где <имя> для книги = <шаблон_отчета>, для файлов базиса = <форма_отчета>.
 
:где <имя> для книги = <шаблон_отчета>, для файлов базиса = <форма_отчета>.
;Книга: Собственно отчет, сводная таблица Excel, построенная на основе шаблона и содержащая в себе данные из базиса. Внешний вид книги можно изменить (пересортировать данные, раскрасить таблицы) и сохранить, чтобы при следующем открытии отчета он предстал в том же виде. Находится в каталоге BASIS\<форма_отчета>\.
+
;Книга: Собственно отчет, сводная таблица Excel, построенная на основе шаблона и содержащая в себе данные из базиса. Внешний вид книги можно изменить (пересортировать данные, раскрасить таблицы) и сохранить, чтобы при следующем открытии отчета он предстал в том же виде. Находится в папке BASIS\<форма_отчета>\.
;Базис: Данные, подготовленные в системе для отражения с помощью Excel. В случае каких-либо изменений в базе данных, которые должны повлиять на отчет, базис необходимо создать заново. Состоит из двух текстовых файлов: <экземпляр_отчета>.TXT – содержит данные, и <экземпляр_отчета>.CSV – содержит сведения о периоде (дате), за который(-ую) выполнялся отчет, исполнителе, подготовившем базис, дате создания отчета и его названии. Находятся в каталоге BASIS\<форма_отчета>\.
+
;Базис: Данные, подготовленные в системе для отражения с помощью Excel. В случае каких-либо изменений в базе данных, которые должны повлиять на отчет, базис необходимо создать заново. Состоит из двух текстовых файлов: <экземпляр_отчета>.TXT – содержит данные, и <экземпляр_отчета>.CSV – содержит сведения о периоде (дате), за который(-ую) выполнялся отчет, исполнителе, подготовившем базис, дате создания отчета и его названии. Находятся в папке BASIS\<форма_отчета>\.
 
;Обновить данные: При выборе в Excel кнопки [[Изображение:ExcelButtonUpdate.jpg|Обновить данные]] с таким названием или пункта меню "АвтоПарк"-"Обновить данные" данные из базиса заносятся в сводную таблицу. Не путать со стандартным пунктом меню Excel "Данные"-"Обновить данные".
 
;Обновить данные: При выборе в Excel кнопки [[Изображение:ExcelButtonUpdate.jpg|Обновить данные]] с таким названием или пункта меню "АвтоПарк"-"Обновить данные" данные из базиса заносятся в сводную таблицу. Не путать со стандартным пунктом меню Excel "Данные"-"Обновить данные".
  
Строка 23: Строка 23:
 
====Виды шаблонов====
 
====Виды шаблонов====
 
;Шаблоны, предоставляемые Разработчиком: предоставляются с заранее разработанными формами отчетов. Шаблоны, предоставляемые Разработчиком, недоступны для редактирования.
 
;Шаблоны, предоставляемые Разработчиком: предоставляются с заранее разработанными формами отчетов. Шаблоны, предоставляемые Разработчиком, недоступны для редактирования.
;Пользовательские шаблоны: находятся в каталоге XLT. Ни при каких обстоятельствах не модифицируются Разработчиком.
+
;Пользовательские шаблоны: находятся в папке XLT. Ни при каких обстоятельствах не модифицируются Разработчиком.
  
 
====Выбор шаблонов====
 
====Выбор шаблонов====
При формировании отчета сначала выполняется поиск соответствующего шаблона в каталоге с пользовательскими шаблонами, если шаблон не найден - в локальных шаблонах, затем в каталогах с системными шаблонами. Если найдено более одного подходящего шаблона, пользователю будет предложен список из всех доступных шаблонов. По умолчанию в списке доступных шаблонов отображаются только пользовательские шаблоны. Если необходим доступ к шаблонам, предоставляемым Разработчиком, необходимо включить соответствующий режим доступа ("Главное меню-Прочее-Сервис-Настройки-Показывать MS Excel шаблоны, предоставленные разработчиком"). В списке доступных шаблонов шаблон, предоставляемый Разработчиком, будет с пометкой "Образец".
+
При формировании отчета сначала выполняется поиск соответствующего шаблона в папке с пользовательскими шаблонами, если шаблон не найден - в локальных шаблонах, затем в папках с системными шаблонами. Если найдено более одного подходящего шаблона, пользователю будет предложен список из всех доступных шаблонов. По умолчанию в списке доступных шаблонов отображаются только пользовательские шаблоны. Если необходим принудительный доступ к шаблонам, предоставляемым Разработчиком, необходимо включить соответствующий режим доступа ("Главное меню-Прочее-Сервис-Настройки-Показывать MS Excel шаблоны, предоставленные разработчиком"). В списке доступных шаблонов шаблон, предоставляемый Разработчиком, будет с пометкой "Образец".
 
В списке доступных шаблонов существует возможность загрузки (занимает время) описания шаблонов - дополнительная информация, позволяющая облегчить выбор шаблона из списка доступных шаблонов.
 
В списке доступных шаблонов существует возможность загрузки (занимает время) описания шаблонов - дополнительная информация, позволяющая облегчить выбор шаблона из списка доступных шаблонов.
  
Строка 41: Строка 41:
 
##Если требуется несколько разных форм (а обычно требуется), повторить п. 2-3 для каждой формы.
 
##Если требуется несколько разных форм (а обычно требуется), повторить п. 2-3 для каждой формы.
 
##В шаблон может быть добавлено текстовое описание. Рекомендуется размещать описание на листе "Заголовок". Добавление текстового описания:
 
##В шаблон может быть добавлено текстовое описание. Рекомендуется размещать описание на листе "Заголовок". Добавление текстового описания:
##*MS Office XP/2003: выделить ячейку, в которой будет находиться описание, пункт меню "Вставка" - "Имя" - "Присвоить", присвоить имя "RepComment".
+
##;MS Office 2007: Выделить ячейку, в которой будет находиться описание, на вкладке "Формулы" в группе "Присвоенные имена" выберите команду "Присвоить имя". В диалоговом окне "Создание имени" в поле "Имя" укажите имя "RepComment".
##*MS Office 2007: выделить ячейку, в которой будет находиться описание, на вкладке "Формулы" в группе "Присвоенные имена" выберите команду "Присвоить имя". В диалоговом окне "Создание имени" в поле "Имя" укажите имя "RepComment".
+
##;MS Office XP-2003: Выделить ячейку, в которой будет находиться описание, пункт меню "Вставка" - "Имя" - "Присвоить", присвоить имя "RepComment".
 
#В меню Excel «АвтоПарк» - «Подготовка шаблона» выбрать один из режимов подготовки Excel-шаблонов:
 
#В меню Excel «АвтоПарк» - «Подготовка шаблона» выбрать один из режимов подготовки Excel-шаблонов:
 
#;БЕЗ зачистки данных: Автоматически будет создан шаблон по подготовленному отчету с сохранением всех пользовательских настроек этого отчета (группировка, скрытие/отображение данных и т.п.).
 
#;БЕЗ зачистки данных: Автоматически будет создан шаблон по подготовленному отчету с сохранением всех пользовательских настроек этого отчета (группировка, скрытие/отображение данных и т.п.).
 
#;с ЧАСТИЧНОЙ зачисткой данных: в этом режиме сохраняются пользовательские настройки в полях области <b>страницы</b> сводной таблицы и группировки полей. Из-за особенностей работы MS Excel могут быть сохранены только "пользовательские фильтры" ([http://img35.imageshack.us/img35/4434/filterexcel2007.jpg установка пользовательского фильтра в MS Excel 2007], [http://img200.imageshack.us/img200/6148/filterexcel2003.jpg установка пользовательского фильтра в MS Excel 2003]), установленный отбор по единственному значению из списка возможных значений НЕ СОХРАНЯЕТСЯ. Таким образом, если в шаблоне требуется сохранить отбор по конкретному значению поля сводной таблицы, необходимо наложить пользовательский фильтр так, чтобы это значение осталось единственным доступным из всех возможных. Подготовка шаблона в этом режиме может занимать продолжительное время.
 
#;с ЧАСТИЧНОЙ зачисткой данных: в этом режиме сохраняются пользовательские настройки в полях области <b>страницы</b> сводной таблицы и группировки полей. Из-за особенностей работы MS Excel могут быть сохранены только "пользовательские фильтры" ([http://img35.imageshack.us/img35/4434/filterexcel2007.jpg установка пользовательского фильтра в MS Excel 2007], [http://img200.imageshack.us/img200/6148/filterexcel2003.jpg установка пользовательского фильтра в MS Excel 2003]), установленный отбор по единственному значению из списка возможных значений НЕ СОХРАНЯЕТСЯ. Таким образом, если в шаблоне требуется сохранить отбор по конкретному значению поля сводной таблицы, необходимо наложить пользовательский фильтр так, чтобы это значение осталось единственным доступным из всех возможных. Подготовка шаблона в этом режиме может занимать продолжительное время.
 
#;с ПОЛНОЙ зачисткой данных: Перед созданием шаблона будут зачищены все сводные таблицы отчета, все пользовательские настройки будут потеряны.
 
#;с ПОЛНОЙ зачисткой данных: Перед созданием шаблона будут зачищены все сводные таблицы отчета, все пользовательские настройки будут потеряны.
#После окончания процедуры подготовки будет предложено сохранить шаблон (по умолчанию - в каталог пользовательских шаблонов \AutoPark\XLT) с возможностью изменить имя шаблона. Если шаблон с указанным именем уже присутствует в выбранном каталоге, перед сохранением будет сделана резервная копия существующего шаблона с именем <имя шаблона>.xl_.
+
#После окончания процедуры подготовки будет предложено сохранить шаблон (по умолчанию - в папку пользовательских шаблонов \AutoPark\XLT) с возможностью изменить имя шаблона. Если шаблон с указанным именем уже присутствует в выбранной папке, перед сохранением будет сделана резервная копия существующего шаблона с именем <имя шаблона>.xl_.
  
 
====Удаление/переименование поля====
 
====Удаление/переименование поля====
Строка 72: Строка 72:
 
::;Символ разделитель: Пробел
 
::;Символ разделитель: Пробел
  
===Размещение каталога хранения отчетов вне каталога AutoPark===
+
===Размещение папки хранения отчетов вне папки AutoPark===
#Для размещения отчетов в каталоге, отличном от AutoPark\BASIS, необходимо в RED-файле в раздел [ASB Special Folders] добавить новый путь в формате [http://ru.wikipedia.org/wiki/%CF%F3%F2%FC_%EA_%F4%E0%E9%EB%F3 UNC]<br/>''BasisRoot = путь к каталогу, где необходимо хранить отчеты'', например, \\Server1\AutoParkBasisAndXLT\BASIS.
+
#При размещении папки хранения отчетов вне папки AutoPark папки BASIS и XLT размещаются только совместно (нельзя папку BASIS перенести, а XLT нет, и наоборот).
#Для размещения пользовательских шаблонов в каталоге, отличном от AutoPark\XLT, необходимо в RED-файле:
+
#Наличие в путях к BASIS и к XLT папки с именем AutoParkBasisAndXLT (или любой другой, содержащей в имени AutoPark) обязательно.
##в разделе [ASB Special Folders] добавить новый путь в формате UNC <br/>''xltRoot = путь к каталогу, где необходимо хранить пользовательские шаблоны'', например, \\Server1\AutoparkBasisAndXLT\XLT. Локальные шаблоны, предоставляемые разработчиком (находятся в каталоге XLT\LOCAL) не перемещаются.
+
#Копирование папок необходимо выполнять с сохранением разрешений NTFS. Это можно сделать, используя консольную команду xcopy (для получения справки о ключах команды наберите <b>xcopy /?</b>): Для выполнения консольных команд нажмите в Windows Пуск -> Выполнить. Введите команду cmd и нажмите ОК. В открывшемся окне введите:
##в разделе [Redirection] поправить строку *.xlt = xlt;xlt\local;xlt\tmp_lib;xlt\Stable;$_lib\xlt\ap;$_lib\xlt\sys.<br/>Исправленная строка должна быть такой: *.xlt = $(xltRoot);$_lib\xlt\ap;$_lib\xlt\sys.
+
#*<code>xcopy /E /I /H /R /K /O /X AutoPark\BASIS \\Server1\AutoParkBasisAndXLT\BASIS</code>. Копируются все вложенные папки и файлы.
#Наличие в путях к BASIS и к XLT каталога с именем AutoParkBasisAndXLT (или любого другого, содержащего в имени AutoPark) обязательно.
+
#При размещении каталога хранения отчетов вне каталога AutoPark каталоги BASIS и XLT размещаются только совместно (нельзя каталог BASIS перенести, а XLT нет, и наоборот).
+
#Копирование каталогов необходимо выполнять с сохранением разрешений NTFS. Это можно сделать, используя консольную команду xcopy (для получения справки о ключах команды наберите <b>xcopy /?</b>): Для выполнения консольных команд нажмите в Widows Пуск -> Выполнить. Введите команду cmd и нажмите ОК. В открывшемся окне введите:
+
#*<code>xcopy /E /I /H /R /K /O /X AutoPark\BASIS \\Server1\AutoParkBasisAndXLT\BASIS</code>. Копируются все вложенные каталоги и файлы.
+
 
#*<code>xcopy /I /H /R /K /O /X AutoPark\XLT \\Server1\AutoparkBasisAndXLT\XLT</code>. Копируются только пользовательские шаблоны.
 
#*<code>xcopy /I /H /R /K /O /X AutoPark\XLT \\Server1\AutoparkBasisAndXLT\XLT</code>. Копируются только пользовательские шаблоны.
 
+
#После копирования необходимо открыть общий доступ к папке \\Server1\AutoparkBasisAndXLT и проверить сетевые разрешения.
Для выполнения
+
#В RED-файле в раздел [ASB Special Folders] необходимо добавить новый путь в формате [http://ru.wikipedia.org/wiki/%CF%F3%F2%FC_%EA_%F4%E0%E9%EB%F3 UNC]<br/>''BasisRoot = путь к папке, где необходимо хранить отчеты'', например, \\Server1\AutoParkBasisAndXLT\BASIS.
 +
#Для размещения пользовательских шаблонов в папке, отличной от AutoPark\XLT, необходимо в RED-файле:
 +
##в разделе [ASB Special Folders] добавить новый путь в формате UNC <br/>''xltRoot = путь к папке, где необходимо хранить пользовательские шаблоны'', например, \\Server1\AutoparkBasisAndXLT\XLT. Шаблоны, предоставляемые разработчиком (находятся в папках AutoPark\XLT\LOCAL и AutoPark\XLT\TMP_LIB) не перемещаются.
 +
##в разделе [Redirection] поправить строку *.xlt = xlt;xlt\local;xlt\tmp_lib;$_lib\xlt\ap;$_lib\xlt\sys.<br/>Исправленная строка должна быть такой: *.xlt = $(xltRoot);xlt\local;xlt\tmp_lib;$_lib\xlt\ap;$_lib\xlt\sys.
 
#Чтобы изменения red файла вступили в силу, пользователям необходимо перезайти в АвтоПарк.
 
#Чтобы изменения red файла вступили в силу, пользователям необходимо перезайти в АвтоПарк.
 
+
#После проверки работоспособности Excel-отчетов рекомендуется все пользовательские шаблоны, находящиеся в папке AutoPark\XLT, заархивировать, архив перенести для хранения, и удалить все пользовательские шаблоны.
После проверки работоспособности Excel-отчетов рекомендуется все пользовательские шаблоны в каталоге AutoPark\XLT (т.е. каталог, который после перемещения не используется) заархивировать, архив перенести для хранения, и удалить все пользовательские шаблоны из каталога AutoPark\XLT.
+
  
 
===Известные проблемы===
 
===Известные проблемы===
Строка 92: Строка 90:
 
При формировании Excel-отчета возможно возникновении ошибки "Ошибка при удалении файла <имя отчета>.xls. Файл используется на других рабочих станциях или доступ к файлу запрещен" либо "Не удалось удалить файл <имя отчета>.xls. Процесс не может получить доступ к файлу, так как этот файл занят другим процессом". Возможные причины возникновения:
 
При формировании Excel-отчета возможно возникновении ошибки "Ошибка при удалении файла <имя отчета>.xls. Файл используется на других рабочих станциях или доступ к файлу запрещен" либо "Не удалось удалить файл <имя отчета>.xls. Процесс не может получить доступ к файлу, так как этот файл занят другим процессом". Возможные причины возникновения:
 
*Отчет уже открыт в Excel другим пользователем. Следует проверить, присутствует ли файл <имя отчета>.xls в списке открытых файлов <b>на сервере</b>. Если файл открыт, необходимо либо договориться с пользователем о закрытии отчета, либо (если связаться с пользователем невозможно) принудительно закрыть файл (все изменения, сделанные пользователем, будут утеряны).
 
*Отчет уже открыт в Excel другим пользователем. Следует проверить, присутствует ли файл <имя отчета>.xls в списке открытых файлов <b>на сервере</b>. Если файл открыт, необходимо либо договориться с пользователем о закрытии отчета, либо (если связаться с пользователем невозможно) принудительно закрыть файл (все изменения, сделанные пользователем, будут утеряны).
*;Windows Server 2003: Оснастка «Управление компьютером» (compmgmt.msc), раздел "Служебные программы" - "Общие папки" - "Открытые файлы".
 
 
*;Windows Server 2008: Оснастка «Управление общими ресурсами и хранилищами» (StorageMgmt.msc), опция «Управление открытыми файлами».
 
*;Windows Server 2008: Оснастка «Управление общими ресурсами и хранилищами» (StorageMgmt.msc), опция «Управление открытыми файлами».
*У пользователя отсутствуют права по записи в каталог AutoPark\BASIS. Необходимо проверить NTFS-разрешения.
+
*;Windows Server 2003: Оснастка «Управление компьютером» (compmgmt.msc), раздел "Служебные программы" - "Общие папки" - "Открытые файлы".
 +
*У пользователя отсутствуют права по записи в папку AutoPark\BASIS. Необходимо проверить NTFS-разрешения.
  
 
===="AUTOPARK.XLS уже используется. Редактирование AUTOPARK.XLS запрещено пользователем XXX"====
 
===="AUTOPARK.XLS уже используется. Редактирование AUTOPARK.XLS запрещено пользователем XXX"====
Необходимо проверить права на каталог ASBClient - права на запись должны быть только у Администратора ДОМЕНА.
+
Необходимо проверить права на папку ASBClient - права на запись должны быть только у Администратора ДОМЕНА.
  
===="RunTime Error 1004 Не удалось найти файл AUTOPARK.XLS"====
+
===="RunTime Error 1004 Не удалось найти файл AUTOPARK.XLS" или "Compile error: Can't find project or library"====
 
Возможные причины возникновения:
 
Возможные причины возникновения:
 
*Не выполнена или возникли проблемы в настройке системного окружения для работы с MS Excel. Необходимо повторно выполнить эту настройку
 
*Не выполнена или возникли проблемы в настройке системного окружения для работы с MS Excel. Необходимо повторно выполнить эту настройку
 
*Какой-либо объект MS Office был загружен с ошибками, после чего Excel отключает этот объект. Для включения объекта необходимо:  
 
*Какой-либо объект MS Office был загружен с ошибками, после чего Excel отключает этот объект. Для включения объекта необходимо:  
*;Для Excel 97 - 2003: В системном меню Excel выбрать пункт "Справка", пункт "О программе", кнопка "Отключенные объекты". Выбрать объект "AutoPark" и нажать кнопку "Включить".
+
*;Excel 2010: Выбрать закладку "Файл", в появившемся окне перейти на закладку "Параметры", далее на закладку  "Надстройки". В пункте "Управление" выбрать из выпадающего списка "Отключенные объекты" и нажать кнопку "Перейти". Выбрать объект "AutoPark" в списке и нажать кнопку "Включить".
*;Для Excel 2007: Нажать кнопку [[Изображение:MS_Office.jpg]], в появившемся окне нажать кнопку "Параметры Excel". Выбрать пункт "Надстройки". В пункте "Управление" выбрать из выпадающего списка "Отключенные объекты" и нажать кнопку "Перейти". Выбрать объект "AutoPark" в списке и нажать кнопку "Включить".
+
*;Excel 2007: Нажать кнопку [[Изображение:MS_Office.jpg]], в появившемся окне нажать кнопку "Параметры Excel". Выбрать пункт "Надстройки". В пункте "Управление" выбрать из выпадающего списка "Отключенные объекты" и нажать кнопку "Перейти". Выбрать объект "AutoPark" в списке и нажать кнопку "Включить".
*;Для Excel 2010: Выбрать закладку "Файл", в появившемся окне перейти на закладку "Параметры", далее на закладку  "Надстройки". В пункте "Управление" выбрать из выпадающего списка "Отключенные объекты" и нажать кнопку "Перейти". Выбрать объект "AutoPark" в списке и нажать кнопку "Включить".
+
*;Excel 97 - 2003: В системном меню Excel выбрать пункт "Справка", пункт "О программе", кнопка "Отключенные объекты". Выбрать объект "AutoPark" и нажать кнопку "Включить".
 
*В памяти присутствуют незавершенные процессы MS Excel. Необходимо перезагрузить компьютер или отключить все процессы Excel в "Диспетчере задач".
 
*В памяти присутствуют незавершенные процессы MS Excel. Необходимо перезагрузить компьютер или отключить все процессы Excel в "Диспетчере задач".
  
 
===="RunTime error 91 ... variable not set"====
 
===="RunTime error 91 ... variable not set"====
 
При открытии Excel-отчета ошибка "RunTime error 91 ... variable not set". Следует снять галочку в AVP Касперского "макросы" - "включить постоянную проверку VBA-макросов".
 
При открытии Excel-отчета ошибка "RunTime error 91 ... variable not set". Следует снять галочку в AVP Касперского "макросы" - "включить постоянную проверку VBA-макросов".
====Прочие RunTime ошибки====
+
====Прочие RunTime ошибки или завершение работы Excel с ошибкой====
При возникновении RunTime ошибок с другим номером рекомендуется в каталоге AutoPark\BASIS\Имя отчета найти последний по дате (самый новый) рабочий xls-отчет (т.е. при открытии отчета не случается ошибки) и на основе этого отчета переформировать шаблон XLT.
+
При возникновении RunTime ошибок с другим номером рекомендуется в папке AutoPark\BASIS\Имя отчета найти последний по дате (самый новый) рабочий xls-отчет (т.е. при открытии отчета не случается ошибки) и на основе этого отчета переформировать шаблон XLT.
 +
 
 
====В данных какие-то 7,78755Е-12?====
 
====В данных какие-то 7,78755Е-12?====
 
При суммировании данных в большом количестве ячеек Excel "путается" и показывает очень малое число (что-то в минус большой степени) вместо нуля. Это ошибка Excel, поскольку исходные данные представлены с конкретной точностью и должны в сумме давать чистый ноль. Для исправления ситуации следует задать формат вывода (числа) проблемного поля (в мастере сводных таблиц) с необходимым количеством знаков после точки.
 
При суммировании данных в большом количестве ячеек Excel "путается" и показывает очень малое число (что-то в минус большой степени) вместо нуля. Это ошибка Excel, поскольку исходные данные представлены с конкретной точностью и должны в сумме давать чистый ноль. Для исправления ситуации следует задать формат вывода (числа) проблемного поля (в мастере сводных таблиц) с необходимым количеством знаков после точки.
Строка 123: Строка 122:
 
===Необходимые настройки===
 
===Необходимые настройки===
 
;Для работы отчета необходимо, чтобы на компьютере была выполнена сетевая инсталляция АвтоПарка:
 
;Для работы отчета необходимо, чтобы на компьютере была выполнена сетевая инсталляция АвтоПарка:
;Для Office версий XP и выше требуется доверить программный доступ к проекту Visual Basic.
+
;Excel 2010:Выбрать закладку "Файл". В появившемся окне перейти на закладку "Параметры", далее на закладку "Центр управления безопасностью". Нажать кнопку "Параметры центра управления безопасностью". В открывшемся окне перейти на закладку "Параметры макросов" и поставить галочку "Доверять доступ к объектной модели VBA".
;Для Excel XP: Сервис - Макрос - Безопасность, на закладке "Надежные источники" поставить галочку "Доверять доступ к объектной модели VBA".  
+
;Excel 2007:Нажать кнопку [[Изображение:MS_Office.jpg]], в появившемся окне нажать кнопку "Параметры Excel". Перейти на закладку "Центр управления безопасностью". Нажать кнопку "Параметры центра управления безопасностью". В открывшемся окне перейти на закладку "Параметры макросов" и поставить галочку "Доверять доступ к объектной модели VBA".
;Для Excel 2007:Нажать кнопку [[Изображение:MS_Office.jpg]], в появившемся окне нажать кнопку "Параметры Excel". Перейти на закладку "Центр управления безопасностью". Нажать кнопку "Параметры центра управления безопасностью". В открывшемся окне перейти на закладку "Параметры макросов" и поставить галочку "Доверять доступ к объектной модели VBA".
+
;Excel XP/2003: Сервис - Макрос - Безопасность, на закладке "Надежные источники" поставить галочку "Доверять доступ к объектной модели VBA".  
;Для Excel 2010:Выбрать закладку "Файл". В появившемся окне перейти на закладку "Параметры", далее на закладку "Центр управления безопасностью". Нажать кнопку "Параметры центра управления безопасностью". В открывшемся окне перейти на закладку "Параметры макросов" и поставить галочку "Доверять доступ к объектной модели VBA".
+
 
Если этого не сделать, то при открытии отчета возникает ошибка "Compile error: Sub or Function not defined".
 
Если этого не сделать, то при открытии отчета возникает ошибка "Compile error: Sub or Function not defined".
  
Строка 132: Строка 130:
 
===="Compile Error: User-defined type not defined"====
 
===="Compile Error: User-defined type not defined"====
 
Из-за ошибки в MS Excel при открытии отчета в редких случаях может выдаваться указанное в заголовке сообщение об ошибке. Способ обойти проблему: открыть отчет с отключенными макросами, сохранить его, закрыть Excel, открыть отчет с включенными макросами.
 
Из-за ошибки в MS Excel при открытии отчета в редких случаях может выдаваться указанное в заголовке сообщение об ошибке. Способ обойти проблему: открыть отчет с отключенными макросами, сохранить его, закрыть Excel, открыть отчет с включенными макросами.
 +
====Automation Error. Неопознанная ошибка====
 +
Может возникать на MS Excel 2010. В этом случае помочь могут следующие действия:
 +
#Обновить MS Excel 2010. Должна быть версия не меньше, чем 14.0.6112.1000.
 +
#Открыть отчет с пользователем, имеющим права на запись в папку $_LIB\XLA\SYS. Включить макросы.
 +
#Будут возникать ошибки "Compile Error: User-defined type not defined" - нажимать "ОК", пока они не кончатся.
 +
#В Excel перейти в редактор Visual Basic ("Alt+F11"), убедиться, что в списке проектов (левое верхнее окно) нет "AP_OLE (AP_OLE.XLA)", и есть другой проект с расширением XLA (Например, "STMAN (STMAN.XLA)" или "CAR (CAR.XLA)"), выделить его.
 +
#В редактор Visual Basic открыть "Tools" - "References..." вручную добавить ссылку на AP_OLE.XLA: Нажать кнопку "Browse", найти и выбрать $_LIB\XLA\SYS\AP_OLE.XLA, закрыть диалог "References", сохранить проект ("Ctrl+S"), закрыть редактор Visual Basic.
 +
#Закрыть Excel.
 +
 
===="Subscript out of range"====
 
===="Subscript out of range"====
 
Решение проблемы: при получении такой ошибки продолжить открытие отчёта (выбрать "End"), сохранить его, закрыть Excel и открыть отчет снова из АвтоПарк. После этого может произойти такая же ошибка - это нормально, следует повторить то же самое ещё раз. После максимум 3-4 раз отчет должен "заработать".
 
Решение проблемы: при получении такой ошибки продолжить открытие отчёта (выбрать "End"), сохранить его, закрыть Excel и открыть отчет снова из АвтоПарк. После этого может произойти такая же ошибка - это нормально, следует повторить то же самое ещё раз. После максимум 3-4 раз отчет должен "заработать".
 
Может возникать после обновления используемых в отчете Excel-модулей (XLA) разработчиком. Дело в том, что Excel хранит в своих файлах прямые ссылки на связанные модули. Если имеющаяся в файле ссылка оказывается неверной, эта ссылка исправляется, но затем возникает данная ошибка. Если "портятся" сразу несколько ссылок, то исправятся они только после нескольких "исправлений".
 
Может возникать после обновления используемых в отчете Excel-модулей (XLA) разработчиком. Дело в том, что Excel хранит в своих файлах прямые ссылки на связанные модули. Если имеющаяся в файле ссылка оказывается неверной, эта ссылка исправляется, но затем возникает данная ошибка. Если "портятся" сразу несколько ссылок, то исправятся они только после нескольких "исправлений".
 +
===="System Error &H80040111(-2147221231). Требуемый класс отсутствует в ClassFactory"====
 +
Причина - ошибка в MS Excel 2010 версий меньше, чем 14.0.6112.1000. Решение проблемы: обновить MS Excel 2010.
  
 
===Работа с отчетами===
 
===Работа с отчетами===

Текущая версия на 13:59, 20 мая 2014

Содержание

Отчеты с использованием сводных таблиц

Для удобства часть отчетов выполнена в виде сводных таблиц Excel. Помечаются в меню АвтоПарка знаком "[E]". Для каждого периода (или даты) выполнения отчета имеется возможность сохранить данные и внешнее представление отчета, чтобы воспользоваться ими впоследствии.

Прежде всего, для работы Excel-отчетов на конкретном компьютере, необходимо выполнить в АвтоПарк "Главное меню-Прочее-Администратор-Настройка системного окружения-... для работы с MS Excel".

Термины

<форма_отчета>
Название программного модуля, выполняющего отчет. Так же этим именем назван шаблон отчета и подпапка в папке BASIS, содержащий книги Excel и файлы базисов.
<шаблон_отчета> 
Файл Excel, служащий образцом при создании нового отчета. Не содержит никаких данных и определяет лишь внешний вид нового отчета (группировка и сортировка данных, фильтры, раскраска и т.п.). Для одной формы отчета может быть подготовлено несколько шаблонов, (если для данной формы надо настроить много разных сводных таблиц, помещение их в один шаблон может создавать неудобства - например, длительное время обновления отчета).
Шаблон имеет имя <форма_отчета> или <форма_отчета>#NN, где # - символ "#", NN - номер шаблона. Например "T9021#01". Расширение - XLT.
<экземпляр_отчета>
Комплект из трёх файлов: книги и базиса. Имеет уникальное имя, присваиваемое файлам базиса и XLS-файлу книги. Его можно увидеть в заголовке окна Excel или в отчете на листе "Заголовок", там же рядом показан путь к этим файлам. Правила формирования имени экземпляра отчета:
На дату
<имя>_YYYYMMDD
За период (маленькие буквы - конец периода)
полный месяц
<имя>_YYYYMM
в пределах месяца
<имя>_YYYYMM_DD_dd
несколько полных месяцев
<имя>_YYYYMM_yyyymm
остальное
<имя>_YYYYMMDD_yyyymmdd,
где <имя> для книги = <шаблон_отчета>, для файлов базиса = <форма_отчета>.
Книга
Собственно отчет, сводная таблица Excel, построенная на основе шаблона и содержащая в себе данные из базиса. Внешний вид книги можно изменить (пересортировать данные, раскрасить таблицы) и сохранить, чтобы при следующем открытии отчета он предстал в том же виде. Находится в папке BASIS\<форма_отчета>\.
Базис
Данные, подготовленные в системе для отражения с помощью Excel. В случае каких-либо изменений в базе данных, которые должны повлиять на отчет, базис необходимо создать заново. Состоит из двух текстовых файлов: <экземпляр_отчета>.TXT – содержит данные, и <экземпляр_отчета>.CSV – содержит сведения о периоде (дате), за который(-ую) выполнялся отчет, исполнителе, подготовившем базис, дате создания отчета и его названии. Находятся в папке BASIS\<форма_отчета>\.
Обновить данные
При выборе в Excel кнопки Обновить данные с таким названием или пункта меню "АвтоПарк"-"Обновить данные" данные из базиса заносятся в сводную таблицу. Не путать со стандартным пунктом меню Excel "Данные"-"Обновить данные".

Шаблоны отчетов

Виды шаблонов

Шаблоны, предоставляемые Разработчиком
предоставляются с заранее разработанными формами отчетов. Шаблоны, предоставляемые Разработчиком, недоступны для редактирования.
Пользовательские шаблоны
находятся в папке XLT. Ни при каких обстоятельствах не модифицируются Разработчиком.

Выбор шаблонов

При формировании отчета сначала выполняется поиск соответствующего шаблона в папке с пользовательскими шаблонами, если шаблон не найден - в локальных шаблонах, затем в папках с системными шаблонами. Если найдено более одного подходящего шаблона, пользователю будет предложен список из всех доступных шаблонов. По умолчанию в списке доступных шаблонов отображаются только пользовательские шаблоны. Если необходим принудительный доступ к шаблонам, предоставляемым Разработчиком, необходимо включить соответствующий режим доступа ("Главное меню-Прочее-Сервис-Настройки-Показывать MS Excel шаблоны, предоставленные разработчиком"). В списке доступных шаблонов шаблон, предоставляемый Разработчиком, будет с пометкой "Образец". В списке доступных шаблонов существует возможность загрузки (занимает время) описания шаблонов - дополнительная информация, позволяющая облегчить выбор шаблона из списка доступных шаблонов.

Создание нескольких шаблонов одного отчета

Некоторые отчеты требуется отображать в различных разрезах. Это приводит к увеличению количества листов в XLT-шаблоне и увеличению времени обновления. Чтобы избежать перегруженности отчета данными, существует возможность использования нескольких вариантов шаблона для одного отчета. Для создания дополнительного шаблона необходимо скопировать основной шаблон со специальным именем: <имя XLT-шаблона>#NN.xlt, где NN - двухзначный номер варианта шаблона (рекомендуется начать с номера 01, последующие варианты нумеровать в порядке возрастания). При подготовке отчета в АвтоПарке будет предложено выбрать нужный шаблон из списка доступных.

Подготовка шаблона

Процедура подготовки шаблона позволяет делать только пользовательские шаблоны (в качестве образца может выступать шаблон любого вида).

Для подготовки шаблона необходимо выполнить следующие действия:

  1. Выполнить отчет и привести его к желаемому виду:
    1. Откройте любой имеющийся отчет или изготовьте новый, сделайте копию листа "Исходная", настройте нужный вид отчета.
    2. Когда получили на листе то, что хочется, дайте этому листу понятное название.
    3. Если требуется несколько разных форм (а обычно требуется), повторить п. 2-3 для каждой формы.
    4. В шаблон может быть добавлено текстовое описание. Рекомендуется размещать описание на листе "Заголовок". Добавление текстового описания:
      MS Office 2007
      Выделить ячейку, в которой будет находиться описание, на вкладке "Формулы" в группе "Присвоенные имена" выберите команду "Присвоить имя". В диалоговом окне "Создание имени" в поле "Имя" укажите имя "RepComment".
      MS Office XP-2003
      Выделить ячейку, в которой будет находиться описание, пункт меню "Вставка" - "Имя" - "Присвоить", присвоить имя "RepComment".
  2. В меню Excel «АвтоПарк» - «Подготовка шаблона» выбрать один из режимов подготовки Excel-шаблонов:
    БЕЗ зачистки данных
    Автоматически будет создан шаблон по подготовленному отчету с сохранением всех пользовательских настроек этого отчета (группировка, скрытие/отображение данных и т.п.).
    с ЧАСТИЧНОЙ зачисткой данных
    в этом режиме сохраняются пользовательские настройки в полях области страницы сводной таблицы и группировки полей. Из-за особенностей работы MS Excel могут быть сохранены только "пользовательские фильтры" (установка пользовательского фильтра в MS Excel 2007, установка пользовательского фильтра в MS Excel 2003), установленный отбор по единственному значению из списка возможных значений НЕ СОХРАНЯЕТСЯ. Таким образом, если в шаблоне требуется сохранить отбор по конкретному значению поля сводной таблицы, необходимо наложить пользовательский фильтр так, чтобы это значение осталось единственным доступным из всех возможных. Подготовка шаблона в этом режиме может занимать продолжительное время.
    с ПОЛНОЙ зачисткой данных
    Перед созданием шаблона будут зачищены все сводные таблицы отчета, все пользовательские настройки будут потеряны.
  3. После окончания процедуры подготовки будет предложено сохранить шаблон (по умолчанию - в папку пользовательских шаблонов \AutoPark\XLT) с возможностью изменить имя шаблона. Если шаблон с указанным именем уже присутствует в выбранной папке, перед сохранением будет сделана резервная копия существующего шаблона с именем <имя шаблона>.xl_.

Удаление/переименование поля

При получении уведомления о переименовании или об объявлении устаревшими полей Excel-отчета необходимо внести исправления в каждый имеющийся пользовательский шаблон этого отчета. При переименовании поля в уведомлении указывается старое и новое наименование поля, а также указывается срок (как правило, 30 дней), по окончании которого поле со старым наименованием/объявленное устаревшим будет удалено. Для исправления пользовательских шаблонов необходимо:

  1. Сформировать новый отчет.
  2. На каждом листе отчета заменить устаревшие поля на новые или удалить. Не забывать, что в сводной таблице поля могут быть переименованы и следует ориентироваться на "Исходное имя поля".
  3. На каждом листе отчета проверить, не используются ли удаляемые поля в формулах вычисляемых полей, при необходимости внести исправления.
  4. На основании исправленного отчета выполнить подготовку шаблона.

Ранее подготовленные отчеты

Если отчет выполняется за период (или дату), за который(-ую) он уже ранее запускался (т.е. базис уже создан), пользователю будет предложен выбор:

"Использовать имеющийся базис и Excel книгу" 
Будут использоваться базис и книга, полученные при предыдущем выполнении отчета. Данный пункт может отсутствовать, если отсутствует книга (например, удалена в целях экономии места на сервере).
"Использовать имеющийся базис и Excel шаблон"
Будет взят готовый базис, но старая книга будет удалена (если она существовала) и создана заново на основе шаблона.
"Заново построить базис"
Будут заново подготовлены данные базиса с учетом изменений в системе, которые произошли с момента предыдущего запуска отчета. Книга будет создана заново на основе шаблона.

Полезные приемы

Разделение поля ФИО по столбцам отчета

Разделение возможно только в обычных таблицах Excel, в сводных таблицах эта операция не может быть выполнена.

  1. При разделении текста по столбцам данные вставляются в режиме замены в соседние столбцы справа, заменяя данные и в текущем столбце. Если в заменяемых столбцах присутствуют данные, Excel выдаст соответствующее предупреждение. Для сохранения этих данных перед разделением текста рекомендуется либо вставить несколько (по количеству элементов ИО, разделенных пробелом, как правило - 2) столбцов справа от текущего столбца, либо указать начальную ячейку столбца, в которую будет помещен первый элемент (поле "Поместить в" мастера разделения текста по столбцам). Остальные элементы будут помещены в соседние столбцы справа от указанного.
  2. Выделить колонку
  3. Меню: Данные -> Текст по столбцам
Формат данных
С разделителем
Символ разделитель
Пробел

Размещение папки хранения отчетов вне папки AutoPark

  1. При размещении папки хранения отчетов вне папки AutoPark папки BASIS и XLT размещаются только совместно (нельзя папку BASIS перенести, а XLT нет, и наоборот).
  2. Наличие в путях к BASIS и к XLT папки с именем AutoParkBasisAndXLT (или любой другой, содержащей в имени AutoPark) обязательно.
  3. Копирование папок необходимо выполнять с сохранением разрешений NTFS. Это можно сделать, используя консольную команду xcopy (для получения справки о ключах команды наберите xcopy /?): Для выполнения консольных команд нажмите в Windows Пуск -> Выполнить. Введите команду cmd и нажмите ОК. В открывшемся окне введите:
    • xcopy /E /I /H /R /K /O /X AutoPark\BASIS \\Server1\AutoParkBasisAndXLT\BASIS. Копируются все вложенные папки и файлы.
    • xcopy /I /H /R /K /O /X AutoPark\XLT \\Server1\AutoparkBasisAndXLT\XLT. Копируются только пользовательские шаблоны.
  4. После копирования необходимо открыть общий доступ к папке \\Server1\AutoparkBasisAndXLT и проверить сетевые разрешения.
  5. В RED-файле в раздел [ASB Special Folders] необходимо добавить новый путь в формате UNC
    BasisRoot = путь к папке, где необходимо хранить отчеты, например, \\Server1\AutoParkBasisAndXLT\BASIS.
  6. Для размещения пользовательских шаблонов в папке, отличной от AutoPark\XLT, необходимо в RED-файле:
    1. в разделе [ASB Special Folders] добавить новый путь в формате UNC
      xltRoot = путь к папке, где необходимо хранить пользовательские шаблоны, например, \\Server1\AutoparkBasisAndXLT\XLT. Шаблоны, предоставляемые разработчиком (находятся в папках AutoPark\XLT\LOCAL и AutoPark\XLT\TMP_LIB) не перемещаются.
    2. в разделе [Redirection] поправить строку *.xlt = xlt;xlt\local;xlt\tmp_lib;$_lib\xlt\ap;$_lib\xlt\sys.
      Исправленная строка должна быть такой: *.xlt = $(xltRoot);xlt\local;xlt\tmp_lib;$_lib\xlt\ap;$_lib\xlt\sys.
  7. Чтобы изменения red файла вступили в силу, пользователям необходимо перезайти в АвтоПарк.
  8. После проверки работоспособности Excel-отчетов рекомендуется все пользовательские шаблоны, находящиеся в папке AutoPark\XLT, заархивировать, архив перенести для хранения, и удалить все пользовательские шаблоны.

Известные проблемы

Ошибка при удалении файла <имя отчета>.xls

При формировании Excel-отчета возможно возникновении ошибки "Ошибка при удалении файла <имя отчета>.xls. Файл используется на других рабочих станциях или доступ к файлу запрещен" либо "Не удалось удалить файл <имя отчета>.xls. Процесс не может получить доступ к файлу, так как этот файл занят другим процессом". Возможные причины возникновения:

"AUTOPARK.XLS уже используется. Редактирование AUTOPARK.XLS запрещено пользователем XXX"

Необходимо проверить права на папку ASBClient - права на запись должны быть только у Администратора ДОМЕНА.

"RunTime Error 1004 Не удалось найти файл AUTOPARK.XLS" или "Compile error: Can't find project or library"

Возможные причины возникновения:

"RunTime error 91 ... variable not set"

При открытии Excel-отчета ошибка "RunTime error 91 ... variable not set". Следует снять галочку в AVP Касперского "макросы" - "включить постоянную проверку VBA-макросов".

Прочие RunTime ошибки или завершение работы Excel с ошибкой

При возникновении RunTime ошибок с другим номером рекомендуется в папке AutoPark\BASIS\Имя отчета найти последний по дате (самый новый) рабочий xls-отчет (т.е. при открытии отчета не случается ошибки) и на основе этого отчета переформировать шаблон XLT.

В данных какие-то 7,78755Е-12?

При суммировании данных в большом количестве ячеек Excel "путается" и показывает очень малое число (что-то в минус большой степени) вместо нуля. Это ошибка Excel, поскольку исходные данные представлены с конкретной точностью и должны в сумме давать чистый ноль. Для исправления ситуации следует задать формат вывода (числа) проблемного поля (в мастере сводных таблиц) с необходимым количеством знаков после точки.

Вместо значений вычисляемых полей выводится #ИМЯ?

Иногда в Excel 2007 и 2010 вычисляемые поля выводятся как #ИМЯ?, при этом в Excel 2003 и более ранних такой отчет открывается корректно. Четкой закономерности появления ошибки выявить не удалось. Единственный способ исправления ошибки - удалить испорченные вычисляемые поля и создать заново, исправленный отчет сохранить в качестве шаблона.

Отчеты с использованием технологии OLE

Технология OLE позволяет использовать в ячейках Excel формулы, извлекающие данные из АвтоПарка, что позволяет реализовать сложные отчеты, например, требующие настройки состава выдаваемой информации, а также отчетов, в которых наряду с данными АвтоПарка выводится другая информация (например, данные из отчетов прошлых периодов). Помечаются в меню АвтоПарка знаком "[O]".

Необходимые настройки

Для работы отчета необходимо, чтобы на компьютере была выполнена сетевая инсталляция АвтоПарка
Excel 2010
Выбрать закладку "Файл". В появившемся окне перейти на закладку "Параметры", далее на закладку "Центр управления безопасностью". Нажать кнопку "Параметры центра управления безопасностью". В открывшемся окне перейти на закладку "Параметры макросов" и поставить галочку "Доверять доступ к объектной модели VBA".
Excel 2007
Нажать кнопку MS Office.jpg, в появившемся окне нажать кнопку "Параметры Excel". Перейти на закладку "Центр управления безопасностью". Нажать кнопку "Параметры центра управления безопасностью". В открывшемся окне перейти на закладку "Параметры макросов" и поставить галочку "Доверять доступ к объектной модели VBA".
Excel XP/2003
Сервис - Макрос - Безопасность, на закладке "Надежные источники" поставить галочку "Доверять доступ к объектной модели VBA".

Если этого не сделать, то при открытии отчета возникает ошибка "Compile error: Sub or Function not defined".

Известные проблемы

"Compile Error: User-defined type not defined"

Из-за ошибки в MS Excel при открытии отчета в редких случаях может выдаваться указанное в заголовке сообщение об ошибке. Способ обойти проблему: открыть отчет с отключенными макросами, сохранить его, закрыть Excel, открыть отчет с включенными макросами.

Automation Error. Неопознанная ошибка

Может возникать на MS Excel 2010. В этом случае помочь могут следующие действия:

  1. Обновить MS Excel 2010. Должна быть версия не меньше, чем 14.0.6112.1000.
  2. Открыть отчет с пользователем, имеющим права на запись в папку $_LIB\XLA\SYS. Включить макросы.
  3. Будут возникать ошибки "Compile Error: User-defined type not defined" - нажимать "ОК", пока они не кончатся.
  4. В Excel перейти в редактор Visual Basic ("Alt+F11"), убедиться, что в списке проектов (левое верхнее окно) нет "AP_OLE (AP_OLE.XLA)", и есть другой проект с расширением XLA (Например, "STMAN (STMAN.XLA)" или "CAR (CAR.XLA)"), выделить его.
  5. В редактор Visual Basic открыть "Tools" - "References..." вручную добавить ссылку на AP_OLE.XLA: Нажать кнопку "Browse", найти и выбрать $_LIB\XLA\SYS\AP_OLE.XLA, закрыть диалог "References", сохранить проект ("Ctrl+S"), закрыть редактор Visual Basic.
  6. Закрыть Excel.

"Subscript out of range"

Решение проблемы: при получении такой ошибки продолжить открытие отчёта (выбрать "End"), сохранить его, закрыть Excel и открыть отчет снова из АвтоПарк. После этого может произойти такая же ошибка - это нормально, следует повторить то же самое ещё раз. После максимум 3-4 раз отчет должен "заработать". Может возникать после обновления используемых в отчете Excel-модулей (XLA) разработчиком. Дело в том, что Excel хранит в своих файлах прямые ссылки на связанные модули. Если имеющаяся в файле ссылка оказывается неверной, эта ссылка исправляется, но затем возникает данная ошибка. Если "портятся" сразу несколько ссылок, то исправятся они только после нескольких "исправлений".

"System Error &H80040111(-2147221231). Требуемый класс отсутствует в ClassFactory"

Причина - ошибка в MS Excel 2010 версий меньше, чем 14.0.6112.1000. Решение проблемы: обновить MS Excel 2010.

Работа с отчетами

Меню Excel "АвтоПарк"

В меню Excel "АвтоПарк" имеются специальные пункты для работы с OLE-отчётами:

Слепок
Копирует подготовленный отчёт за месяц на новый лист книги Excel, заменяя все формулы вычисленными значениями.
Пересчитать
Производит пересчёт всех формул на листе, подготавливая наборы данных, только если их нет.
Перестроить индексы
Подготавливает все наборы данных, даже если они существуют, и производит пересчёт всех формул на листе.
Настройка ASL
Используется только в процессе разработки отчета.
Построить список
Используется в отчетах-построителях списков. Заполнение отчета по подготовленной форме с помещением полученных данных на новый лист (делается "слепок").
Вставить определение поля
Используется в отчетах-построителях списков. Серия диалогов ("мастер") для построения определения значения, которое нужно выводить.

'Обычные' OLE-отчеты

Подготовка таких отчетов происходит частично в Excel, частично в АвтоПарк. В АвтоПарк реализуются процедуры подготовки специальных наборов данных и функции извлечения нужных значений из подготовленных наборов. В Excel реализуются функции, связывающиеся с АвтоПарк и получающие подготовленные в нём данные. Такой отчет представляет собой лист Excel, в котором в некоторых ячейках (часто - в скрытых строках и столбцах) внесены настроечные значения, а в других таблицах указаны формулы, извлекающие из АвтоПарк данные, соответствующие настройкам.

Для подготовки такого отчета обычно следует ввести в специально выделенные ячейки параметры отчета (например, дата или период отчета), выполнить пункт "Пересчитать", сохранить полученный отчет с помощью пункта "Слепок".

Специальный отчет - построитель разовых списков

Кроме того, имеются специальные отчеты - построители списков. В таком отчете есть лист "Подготовка отчета", на котором настраивается формат отчета. На нем в верхней части листа производится настройка состава данных, а также имеются две строки с формулами, извлекающими данные из АвтоПарка. Для подготовки списка специальная процедура ("Построить список") сначала добавляет в таблицу необходимое количество строк, заполняя их формулами по образцу, затем делает "Слепок", после чего возвращает лист "Подготовка отчета" к прежнему виду.

Подготовка отчета производится следующим образом:

  1. Указать дату, на которую строится список.
  2. С помощью пункта "Вставить определение поля" настроить набор сведений, выводимый в отчет.
  3. В случае, если в отчет добавлялись столбцы, в строках-заготовках отчета настроить формулы, для этого надо скопировать формулы из любой (кроме первой) ячейки той же строки. При этом в ячейке должны появиться требующиеся данные.
  4. С помощью пункта "Построить список" получить список объектов с необходимыми данными на другом листе.
  5. Подготовленный список обработать средствами Excel, если требуется - изменить сортировку, применить фильтр, оформить внешний вид. Система всегда готовит "полный" список объектов, например, в список работников выводятся все работники, числящиеся в штате на дату отчета. Если нужен список только объектов с определенными свойствами, следует вывести эти свойства в отчет, а затем отсортировать список по этим свойствам и удалить лишние строки.

Выгрузка произвольных файлов в Excel

Для самостоятельного изготовления отчетов можно воспользоваться выгрузкой произвольных файлов в Excel. Доступны три варианта выгрузки:

Весь текущий файл
"F7-Выгрузка в Excel-Весь текущий файл". Будут выгружены записи текущего файла.
Текущая запись файла
"F7-Выгрузка в Excel-Текущая запись файла". Будет выгружена одна выбранная запись текущего файла.
Выбрать файл
"Главное меню-Прочее-Сервис-Выгрузка в Excel-Выбрать файл". Будет предложен перечень всех файлов базы данных для выбора файла для выгрузки.

В зависимости от выгружаемого файла доступны разные варианты выгрузки:

Файлы, чьи записи относятся к конкретной дате
Только записи за отчетный период.
Файлы, чьи записи имеют период действия
Все записи.
Только действующие записи на текущую дату.
Только записи за отчетный период.
Остальные файлы
Все записи.

Кроме того, можно выбрать перечень связанных с выгружаемым файлов (подчиненных или справочников), которые будут выгружены на отдельные листы MS-Excel. Связанные файлы выгружаются не полностью, а лишь те записи, которые связаны с выгружаемыми записями основного файла.

Названия полей выгруженного файла будут выведены в первой строке листа Excel, в соответствии со структурой базы данных. Для получения привычного вида отчета, можно оформить новый лист Excel, в который скопировать данные из листов, созданных в результате выгрузки. Для того, чтобы увязать между собой коды справочника на одном листе и содержимое этого справочника (например, значения поля "Наименование") из листа с содержимым этого справочника, можно воспользоваться функцией Excel ВПР:

  • В качестве параметра "Искомое_значение" указываем ячейку в этой же строке, в которой выведен код справочника.
  • В качестве параметра "Таблица" на странице с данными справочника нужно выделить несколько столбцов таким образом, чтобы первым столбцом был столбец с кодами справочника, а последним - столбец с наименованиями.
  • В качестве параметра "Номер_столбца" указываем порядковый номер столбца с наименованиями, считая столбец с кодами справочника за первый.
  • В параметре "Интервальный_просмотр" указываем 0.

Проблемы совместимости Excel 2003 и Excel 2007

Лучше, конечно, сказать - проблемы несовместимости.

"В книге обнаружено содержимое, которое не удалось прочитать"

Такое сообщение возникает при открытии в MS Excel 2007 книги, изготовленной (сохраненной) в MS Excel 2003 (или более ранней версии). Проблема проявляется лишь иногда - только в некоторых книгах шаблонах и/или книгах. Следует выбирать "Да" из двух предложенных MS Excel вариантов ("Пробовать восстановить? Да/Нет"). Никакой закономерности в том, когда и почему возникают такие галлюцинации, пока не установлено. Да, собственно, и проблемой это не является - просто несколько надоедает. Лекарство - переход на какую-нибудь одну версию MS Office, по крайней мере, в пределах одного отдела (службы).

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты
Другие ресурсы