Операции с гридами

Содержание

Элементы грида и средства управления гридами #

Тело и заголовки грида #

Грид — это разметка рабочего листа Excel в виде таблицы для ввода и отображения информации о модели.

Грид имеет тело и заголовки.

В ячейках тела грида отображаются объекты модели. Это могут быть значения связей, текстовые описания, расчетные формулы, гиперссылки на внешние документы, изображения.

В ячейках заголовков отображаются теги.

Для удобства можно выводить структуру ветви дерева, теги которой использованы в заголовке грида.

Грид создает или отображает объекты и привязанные к ним теги #

С помощью грида можно

  • создать в базе данных объект и привязать к нему теги или
  • отобразить объекты с заданными тегами.

Для каждой ячейки тела грида выполняется следующий алгоритм синхронизации:

  1. Ищутся все ячейки с тегами из заголовков грида, находящихся в той же строке или в том же столбце, что и ячейка тела грида.
  2. Формируется список всех тегов из найденных ячеек с тегами.
  3. Создается новый или отображается существующий объект, к которому привязаны теги их этого списка.

Пример записи информации в базу данных: при вводе значения «6» в отмеченную ячейку тела грида в базе данных создается объект-число со значением «6» и двумя привязанными тегами [Фактор 3] и [=>][Фактор 5].

Пример чтения информации из базы данных в этот же грид при обработке отмеченной ячейки:

  • в заголовках будут найдены два тега [Фактор 3] и [=>][Фактор 5],
  • в базе данных будет запрошен объект, которому привязаны эти два тега,
  • в ячейку тела грида будет помещен полученный из базы данных числовой объект «6».

Если требуется удалить объект, то в соответствующей ячейке нужно стереть значение. Пустая ячейка — это отсутствующий или удаленный объект.

Ячейки тела грида, содержащие объекты, подсвечиваются фоном:

Менеджер гридов #

Для выполнения операций с гридами используется менеджер гридов: «almaGRID»-«Гриды».

— панель «Гриды», в которой отображаются список всех гридов, расположенных на активном рабочем листе. Элементы списка — это обозначения диапазонов ячеек тел гридов. Если кликнуть на грид в списке панели гридов (выбрать грид), то в правой панели «Заголовки» отобразится список всех заголовков выбранного грида.

— панель «Заголовки», в которой отображаются список всех всех заголовков грида, подсвеченного в левой панели «Гриды», расположенных на активном рабочем листе. Элементы списка — это обозначения диапазонов ячеек заголовков гридов.

— выпадающий список, задающий правило синхронизации выделенного грида с базой данных.

Кнопка используется для обновления содержимого панелей менеджера гридов в соответствии с информацией о разметке гридов, сохраненной в рабочей книге.

Если открыт менеджер гридов то при клике на любой ячейке в теле грида этот грид выделяется:

  • На рабочем листе: тело грида зеленым контуром, заголовки фиолетовым контуром.
  • В менеджере гридов: на панели «Гриды».

При выделении заголовка на панели «Заголовки» по контуру выделенного заголовка начинает мерцать желтый пунктир.

Создание и удаление гридов #

Правила разметки и использования гридов #

  • Разметка гридов.
    • На одном рабочем листе может быть размечено несколько гридов.
    • Тела разных гридов не могут пересекаться.
    • Заголовки разных гридов могут пересекаться или совпадать.
    • У одного грида может быть неограниченное количество заголовков.
    • Заголовки грида могут располагаться в любых ячейках рабочего листа — заголовки могут быть размечены с любой стороны от тела грида и отстоять от него на любое расстояние.
  • Файлы с гридами. Информация о разметке и параметрах гридов сохраняется в рабочей книге. Допустимые форматы файлов рабочей книги: «.xls», «.xlsx», «.xlsm». Если вы не применяете в рабочей книге макросы Excel, то избегайте использования формата «.xlsm», даже не смотря на то, что Excel будет это предлагать.
  • Работа с гридами офф-лайн. Cохраненную рабочую книгу с гридами можно открыть без активной сессии работы с almaGRID или на компьютере, на котором не установлено ПО almaGRID. Можно внести изменение в ячейки тел гридов и сохранить книгу. Такую рабочую книгу можно открыть в сессии работы с almaGRID и синхронизировать ее содержимое с базой данных — сохранить объекты грида в базе данных.
  • Перенос гридов между базами данных. Если сохраненную рабочую книгу с гридами, созданными для одной базы данных, открыть для работы с другой базой данных, то система даст предупреждение. Технически можно продолжить работу, если коды тегов в заголовках грида одинаковы в обоих базах данных.
  • Неопознанные теги. Если открывается рабочая книга, в которой есть теги, отсутствующие в текущей базе данных, то названия этих тегов заменяются на [???]. Это может произойти, например, если со времени сохранения книги с гридами в дереве тегов были удалены теги.
  • Типы данных. В ячейках тела грида могут находиться текст, числа, логические константы, формулы в стандартном представлении Excel (см. Полные сведения о формулах в Excel), изображения.
  • Язык тегов заголовков. Для смены языка названий тегов в заголовках гридов
    • Выбрать язык «almaGRID» — «Теги» — «Селектор языков» или «almaGRID» — «Настройки» — «Язык» — «Язык тегов».
    • «almaGRID» — «Теги» — «Инструменты» — «Обновить Теги в рабочей книге».
  • Десятичный разделитель. Рекомендуется в числах использовать десятичный разделитель «.». Для установки разделителя используйте «Excel» — «Файл» — «Параметры Excel» — «Дополнительно» — «Параметры правки» — «Разделитель целой и дробной части».
  • Автоматический запуск синхронизации. При переключении между рабочими книгами или при открытии рабочей книги, если в активной книге присутствуют гриды, то автоматически запускается менеджер синхронизации. Если вы уверены в том, что синхронизация не нужна, то вы можете от нее отказаться.
  • Копирование тегов между листами и книгами. При копировании ячеек с тегами между рабочими листами (рабочими книгами) рекомендуется закрыть панели менеджеров тегов, гридов и объектов.

Не забывайте делать резервные копии базы данных.

Помните о контроле производительности.

Разметка грида на рабочем листе #

  • Разметить тело грида : «almaGRID» — «Гриды» — «Панель ‘Гриды'» — «Создать» — «Выделить прямоугольный диапазон ячеек тела грида».
  • Разметить первый заголовок: «almaGRID» — «Гриды» — «Панель ‘Заголовки'» — «Создать» — «Выделить прямоугольный диапазон ячеек заголовка грида».
  • Разметить остальные заголовки.

Шаг 1: Поместить на рабочий лист теги, которые нужно связать #

Например, для описания веса узлов графа [Фактор1] и [Фактор2] с помощью служебного тега [Значимость (Weight 0-10)] (см. Веса тегов — узлов графа).

Шаг 2: Разметить тело грида #

Шаг 3: Разметить заголовки #

Автоматическая разметка грида #

«almaGRID» — «Гриды» — «Инструменты» — «Автоматически разметить Гриды на рабочем листе».

Если диапазоны ячеек с тегами, которые предполагается разметить как заголовки грида, расположены буквой «Г» и соприкасаются углами:

то разметку грида можно выполнить в автоматическом режиме

Изменение разметки тела грида и заголовков #

  • Изменить разметку тела грида : «almaGRID» — «Гриды» — «Панель ‘Гриды'» — «Иконка грида» — «Изменить разметку Грида».
  • Изменить разметку заголовка: «almaGRID» — «Гриды» — «Панель ‘Заголовки'» — «Иконка заголовка» — «Изменить разметку Заголовка«.

Будет предложено выделить прямоугольный диапазон ячеек на рабочем листе, который будет использован как новый диапазон тела грида или заголовка.

Для удаления разметки заголовка: «almaGRID»-«Гриды»-«Панель ‘Заголовки'»-«Иконка заголовка«-«Удалить разметку Заголовка«.

Цветовая шкала значений в ячейках грида #

Интенсивность фона ячеек тела грида в зависимости от значений задается:

  • «almaGRID» — «Гриды» — «Панель ‘Гриды'» — «Иконка грида» — «Выделить цветом ячейки по их значениям 0-10» — шкала интенсивности фона ячеек от 0 до 10.
  • «almaGRID» — «Гриды» — «Панель ‘Гриды'» — «Иконка грида» — «Выделить цветом ячейки по их значениям Min-Max» — шкала интенсивности фона ячеек от минимального до максимального значения в теле грида.

Отмена отображения интенсивности фона ячеек тела грида в зависимости от значений: «almaGRID» — «Гриды» — «Панель ‘Гриды'» — «Иконка грида» — «Очистить выделение цветом ячеек».

Удаление грида #

«almaGRID»-«Гриды»

  • «Удалить только разметку грида» — разметка тела и заголовков грида будет удалена и грид исчезнет из панели менеджера гридов «Гриды».
  • «Удалить разметку грида и очистить его диапазон» — то же, что «Удалить только разметку грида» + диапазоны тела и заголовков грида будут очищены от данных.

Синхронизация грида с базой данных #

Синхронизация заголовков грида #

Название тега в ячейке рабочей книги можно изменить средствами редактирования Excel. Если в базе данных найден тег с таким названием на текущем языке, то он будет помещен в ячейку.

Если один пользователь, работающий с сетевой базой данных, изменит название тега, то автоматически название тега не обновится в рабочих книгах других пользователей. Для обновления необходимо выполнить: «almaGRID» — «Теги» — «Инструменты» — «Обновить Теги в рабочей книге».

Автоматическая запись в базу данных при изменении ячеек грида #

Значение ячеек тела грида можно изменять. Если включена опция «almaGRID» — «Настройки» — «Гриды» — «Автоматически сохранять Объекты в Базе Данных после изменения содержимого ячеек Грида», то новое значение будет автоматически записано в базу данных.

Синхронизация грида вручную #

«almaGRID»-«Гриды»

  • «Сохранить Объекты Грида в Базе данных» — объекты из тела грида записываются в текущую базу данных.
  • «Загрузить Объекты в Грида из Базы данных» — в тело грида помещаются объекты из текущей базы данных.
  • «Загрузить Объекты в Грида из Базы данных и обновить агрегаты» — в тело грида помещаются объекты из текущей базы данных и, если они агрегатные, то их значение пересчитывается по правилам, указанным в объектах.
  • «Рассчитать агрегаты в ячейках Грида» — рассчитываются агрегаты в ячейках тела грида по правилам, указанным в заголовках этого грида.

Правила синхронизации гридов #

Для каждого грида, размеченного, в рабочей книге можно задать правило синхронизации. Правила синхронизации гридов используются

  • «Загрузить данные в Грид» — в тело грида помещаются объекты из текущей базы данных.
  • «Загрузить данные в Грид, обновить агрегаты» — в тело грида помещаются объекты из текущей базы данных и, если они агрегатные, то их значение пересчитывается по правилам, указанным в объектах.
  • «Рассчитать Агрегаты» — рассчитываются агрегаты в ячейках тела грида по правилам, указанным в заголовках этого грида.
  • «Рассчитать Агрегаты и сохранить в Базе Данных» — рассчитываются агрегаты в ячейках тела грида по правилам, указанным в заголовках этого грида и результаты расчета сохраняются в базе данных.
  • «Сохранить данные в Базе Данных» — объекты из тела грида записываются в текущую базу данных.
  • «Сохранить данные; если это запрещено, то загрузить их» — выполняется попытка записать объекты из тела грида в базу данных, если у пользователя недостаточно прав для этого, то в тело грида помещаются объекты из текущей базы данных.
  • «Загрузить данные в Грид при открытии документа» — в тело грида помещаются объекты из текущей базы данных только при открытии тега-документа (макета документа).
  • «Не синхронизировать» — запрет на синхронизацию грида с базой данных.

Не забывайте делать резервные копии базы данных.

Помните о контроле производительности.

Менеджер синхронизации гридов с базой данных #

«almaGRID»-«Синхронизировать с базой данных»

Для синхронизации гридов текущей рабочей книги с базой данных используют менеджер синхронизации.

Менеджер синхронизации запускается автоматически

  • при переключении между рабочими книгами
  • при открытии рабочей книги, если в активной книге присутствуют гриды

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

Макет документа #

Операции с макетами документов #

Создание и сохранение макета документа в дереве тегов #

Макет документа — это сохраненная в базе данных информация о разметке гридов, правила формирования заголовков и правила вычисления объектов в теле гридов.

Макет документа храниться в базе данных в теге с вложением «Документ». Такой тег отмечается в дереве иконкой .

Для создания тега с вложением «Документ» нужно

Шаг 1: Создать на рабочем листе макет документа — разместить все необходимые гриды.

Выбрано действие при синхронизации этого грида: «Загрузить данные в Грид при открытии документа» — в тело грида при открытии тега-документа будут помещены объекты из текущей базы данных.

Шаг 2: Создать в дереве тегов тег с названием документа.

Шаг 3: Добавить к этому тегу макет документа из активного рабочего листа «almaGRID» — «Теги» — «Иконка тега» — «Добавить вложение — Документ».

Шаг 4: Сохранить тег с вложением.

Иконка тега, к которому добавили документ, измениться

Открытие тега-документа #

Макетом можно воспользоваться в любой рабочей книге: «almaGRID» — «Теги» — «Иконка тега-документа» — «Открыть вложение — Документ».

В рабочей книге будет создан новый лист, в котором будет размечен грид и выполнено правило его синхронизации с базой данных, в данном случае «Загрузить данные в Грид при открытии документа» — в тело грида помещены объекты из текущей базы данных.

В первую строку листа будет помещена информация о теге, макет из которого применен, и дата/время применения макета.

Изменение (редактирование) сохраненного макета #

«almaGRID» — «Теги» — «Иконка тега-документа» — «Изменить вложение — Документ».

В рабочей книге будет создан новый лист на который будет выведен сохраненный в базе данных макет. Макет можно отредактировать и

  • создать новый тег-документ
  • или добавить к существующему тегу-документу: «almaGRID» — «Теги» — «Иконка тега-документа» — «Изменить вложение — Документ» — «Принять макет с рабочего листа» — «Сохранить».

Создание нового макета на основе существующего макета #

Для создания нового макета на основе существующего макета, например, [Макет: Значимость Фактора1 и Фактора2]:

Шаг 1: Создать копию тега-документа [Макет: Значимость Фактора1 и Фактора2].

  1. «almaGRID» — «Теги» — «Иконка тега [Макет: Значимость Фактора1 и Фактора2]» — «Копировать только выделенный Тег».
  2. «almaGRID» — «Теги» — «Иконка тега [Черновики]» — «Вставить копию Тега».

Шаг 2: Переимновать созданную копию тега документа на «Макет: Значимость Фактора1 и выбранного фактора».

«almaGRID» — «Теги» — «Иконка тега [Макет: Значимость Фактора1 и Фактора2 (копия 2006172213458768)]»-«Редактировать Тег».

Шаг 3: Отредактировать макет и сохранить его в тег документ, например, в [Макет: Значимость Фактора1 и выбранного фактора].

Сохранение в макете дополнительной информации #

Если макет содержит грид без заголовков, то содержимое ячеек тела такого грида будет сохранено в теге-документе и выведено на рабочий лист при открытии тега-документа. Например, гриды без заголовков можно использовать в макетах для запоминания ширины столбцов и высоты строк.

Если таким макетом обновить тег-документ [Макет: Значимость Фактора1 и Фактора2] из примера выше, то результатом его открытия будет

Обратите внимание на

  • поясняющий текст и его форматирование и
  • высоту строки «2».

Удаление макета из тега-документа #

«almaGRID» — «Теги» — «Иконка тега-документа» — «Изменить вложение — Документ» — «Удалить» — «Подтвердить действие — ‘Ok'».

Тег перестает быть тегом-документом и снова отображается в дереве тегов с иконкой .

Использование в макете замен тегов #

Заменяемые теги #

Любой тег из заголовков гридов макета можно заменить на тег, выбранный пользователем, при открытии тега-документа. Удобно, когда заменяемые теги в макете можно легко отличить от других тегов. Например, заменяемые теги могут начинаться с символа «=». А в дереве тегов их удобно поместить в отдельную ветвь, например, [Теги для замены]. Заменяемые теги — это, как переменные, в языках программирования.

Создание тега-документа с заменяемыми тегами #

Шаг 1: Создать грид, содержащий в заголовке тег, который будет заменен при открытии документа:

Шаг 2: Сохранить макет в тег-документ, например, [Макет: Значимость Фактора1 и выбранного фактора].

«almaGRID» — «Теги» — «Иконка тега [Макет: Значимость Фактора1 и выбранного фактора]» — «Изменить вложение — Документ» — «Принять макет с рабочего листа»-«Сохранить».

Шаг 3: Определить правило замены тега [=Тег1].

Теперь при открытии тега-документа [Макет: Значимость Фактора1 и выбранного фактора]

Появиться панель выбора тега, на который будет заменен [=Тег1].

Если выбрать [Фактор 5] и нажать «Ok», то будет построен следующий грид и в него будет загружена информация из базы данных.

Создание панелей для пользовательского выбора замены тегов в макете #

«almaGRID» — «Теги» — «Иконка тега-документа» — «Изменить вложение — Документ»

  • «Не предлагать замену» — тег будет показан в открываемом документе без замены.

Если указан один из вариантов замены тега, то пользователю будет предложено выбрать корневой тег для формирования списка замены. Это тег, относительно которого идет отсчет дочерних уровней по иерархии дерева

  • «Из дерева Тегов» — поддерево, берущее начало в выбранном корневом теге.
  • «Из списка Тегов, завершающих ветвь» — список всех концевых тегов ветви, берущей начало в выбранном корневом теге.
  • «Из списка Тегов на 1-м дочернем уровне» — список всех дочерних тегов выбранного корневого тега.
  • «Из списка Тегов на 2-м дочернем уровне» — список всех тегов со второго дочернего уровня выбранного корневого тега.
  • «Из списка Тегов на 3-м дочернем уровне» — список всех тегов с третьего дочернего уровня выбранного корневого тега.

Автоматическое создание заголовка грида со списком тегов #

Формирование списка тегов для заголовка грида #

Для автоматического построения списков тегов в заголовках грида предназначены служебные теги

  • [Заменить левый Тег на список] — заменяет находящийся слева тег на список.
  • [Заменить верхний Тег на список]— заменяет находящийся сверху тег на список.

расположенные в ветви

[Служебные Теги] 
  [Теги описания вложений] 
    [Теги для шаблонов-Гридов] 
      [Построение списков Тегов]
        [Заменить левый Тег на список]
        [Заменить верхний Тег на список]

Если эти теги объединить в группу с тегом [Добавить Тег [=>]], который находится в дереве тегов

[Служебные Теги] 
  [Теги описания вложений] 
    [Теги для шаблонов-Гридов] 
      [Построение составных Тегов] 
        [Добавить Тег [=>]]

то каждый тег создаваемого списка станет составным с [=>] на первом месте.

Например макет — пример базы данных: [Проекты] [Примеры] [Примеры макетов документов] [80.25: Макет: Связи Фактор-Фактор — простой]

и правила построения списков — для двух тегов [=Тег1] и [=Тег2] заданы одинаковые правила:

при открытии документа создает следующий грид

Правила построения списка тегов для заголовка грида #

«almaGRID» — «Теги» — «Иконка тега-документа» — «Изменить вложение — Документ».

Справа или снизу от тега, который при открытии документа будет заменен на список тегов, в макете находится [Заменить левый Тег на список] или [Заменить верхний Тег на список]). Для такого тега определены следующие правила построения списка тегов

Правила построения списка тегов сохраняются в теге-документе. При выборе варианта построения списка тегов, пользователю предлагается выбрать корневой тег для формирования списка. Относительно корневой тег для формирования списка отсчитываются дочерние уровни по иерархии дерева

  • «Не предлагать замену» — тег будет показан в открываемом документе без замены.
  • «Все Теги завершающие ветвь» — будет построен список всех концевых тегов ветви, берущей начало в выбранном корневом теге.
  • «Все Теги на 1-м дочернем уровне» — будет построен список всех дочерних тегов выбранного корневого тега.
  • «Все Теги на 2-м дочернем уровне» — будет построен список всех тегов со второго дочернего уровня выбранного корневого тега.
  • «Все Теги на 9-м дочернем уровне» — будет построен список всех тегов со девятого дочернего уровня выбранного корневого тега.
  • «Все Теги на всех уровнях» — будет построен список тегов со всех дочерних уровней выбранного корневого тега.

Корневой тег для формирования списка

  • можно задать в теге-документе или
  • можно запросить у пользователя при открытии тега-документа:

Если указать «Выбор источника при открытии документа», то при открытии документа пользователю будет показана панель с вариантами выбора корневого тега, относительно которого будет сформирован список тегов для заголовка грида.

Отображение иерархии родительских тегов #

Для отображения на рабочем листе родительских тегов для тегов заголовков грида необходимо использовать составные теги, начинающиеся с

  • [Заменить левый Тег на список] и
  • [Заменить верхний Тег на список].

Например макет — пример базы данных: [Проекты] [Модель непрерывности бизнеса] [Форматы] [Связи] [20.10: Связи: Факторы-Факторы]

при открытии документа создает следующий грид

Родительские теги отображаются только для удобства чтения грида и никак не используются при синхронизации грида с базой данных.

При создании макета необходимо предусмотреть пустые строки и столбцы, где будут размещены ячейки с родительскими тегами.

Условия на отбор тегов для списка по названию тегов #

Для задания условий на отбор тегов для списка по названию тегов нужно служебные теги [Заменить левый Тег на список] и [Заменить верхний Тег на список] объединить в группу с тегами

  • [Теги содержат текст (шаблон *?): «маска1|маска2|…»],
  • [Теги не содержат текст (шаблон *?): «маска1|маска2|…»],

расположенными в дереве тегов

[Служебные Теги] 
  [Теги для агрегирования] 
    [@] 
      [Теги Объекта] 
        [Теги содержат текст (шаблон *?): "маска1|маска2|…"] 
        [Теги не содержат текст (шаблон *?): "маска1|маска2|…"]

Например макет — пример базы данных: [Проекты] [Примеры] [Примеры макетов документов] [08.30: Макет: Связи Фактор-Фактор — с условием на название тегов]

при открытии документа создает следующий грид

Отбор тегов для построения заголовка грида также можно выполнять по другим условиям.

Создание копий тегов в автоматически создаваемом заголовке #

Для копирования тегов в ячейках (заполнения тегами ячеек), создаваемых при автоматическим созданием заголовка грида со списком тегов используются теги

  • [Копировать левый Тег],
  • [Копировать верхний Тег],

расположенными в дереве тегов

[Служебные Теги] 
  [Теги описания вложений] 
    [Теги для шаблонов-Гридов] 
      [Копирование Тегов] 
        [Копировать левый Тег]
        [Копировать верхний Тег]

Например макет — пример базы данных: [Проекты] [Примеры] [Примеры макетов документов] [80.35: Макет: Связи ВнешниеФакторы-Факторы — с копированием тега в заголовке]

при открытии тега-документа создает следующий грид.

Объединение ячеек со одинаковыми тегами в заголовке #

  • «almaGRID» — «Теги» — «Инструменты» — «Объединить ячейки с одинаковыми значениями».
  • «almaGRID» — «Теги» — «Инструменты» — «Разделить объединенные ячейки».

Открытие тега-документа без синхронизации гридов #

Тег-документ можно открыть без выполнения синхронизации гридов с базой данных. Это может оказаться полезным полезно при отладке логики построения гридов и расчетов (скрипта документа).

«almaGRID» — «Теги» — «Иконка тега» — «Открыть вложение — Документ» — «Открыть без синхронизации».

Порядок гридов в списке менеджера гридов #

При открытии тега-документа гриды будут обработаны (синхронизированы) в порядке следования в списке на панели «Гриды» менеджера гридов. Для изменения порядка следования гридов:

  • «almaGRID» — «Гриды» — «Панель ‘Гриды'» — «Иконка грида» — «Переместить ВЫШЕ в порядке синхронизации»,
  • «almaGRID» — «Гриды» — «Панель ‘Гриды'» — «Иконка грида» — «Переместить НИЖЕ в порядке синхронизации».

Вычисления в гридах #

Формулы #

Формулы в теле грида #

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

Чтобы сохранить формулу в гриде макета документа, его правило синхронизации должно быть:

  • «Не синхронизировать» — при открытии документа формулы будут пересчитаны, эти значения можно использовать для расчета значений, которые будут сохранены в базе данных.
  • «Сохранить данные в базе данных» — при открытии документа формулы будут пересчитаны и результат расчета записывается в базу данных.

Формулы в макетах #

Если заголовок грида автоматически формируется в результате автоматического построения списка тегов (заголовок и тело грида растягиваются в направлении созданного списка тегов заголовка), то формулы в теле грида также протягиваются и в них изменяются ссылки на ячейки. Если

Например в макете — пример базы данных: [Проекты] [Модель непрерывности бизнеса] [Форматы] [Расчет и ввод исходных данных] [10.10: Расчет значений внутренних факторов] выполняются преобразования исходных данных, используемых в модели

Ниже показаны скриншоты макета с включенной опцией отображения формул в ячейках.

Первый грид макета загружает из базы данных значения констант (настроечных параметров модели):

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

Третий грид выполняет необходимые промежуточные расчеты. Правило синхронизации этого грида — «Не синхронизировать»:

Четвертый грид вычисляет значения для факторов, которые будут использованы в гафовых моделях и записывает эти значения в базу данных. Правило синхронизации этого грида — «Сохранить в базе данных». Перед записью в базу данных от пользователя потребуется подтвердить эту операцию. Если вы сомневаетесь в корректности построения гридов и расчетов (скрипта документа), то целесообразно отказаться от автоматической записи рассчитанного грида в базу данных:

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

При открытии тега [Расчет значений внутренних факторов] будет создан следующий документ:

Этот же документ с выключенной опцией отображения формул в ячейках.

Макросы #

Макросы пользователя #

Макросы Excel с префиксом «alma_», созданные в модуле рабочей книги «alma_Macros» сохраняются в базе данных и создаются в каждой рабочей книге, при загрузке объектов, использующих эти макросы в формулах.

Для отключения этой возможности:

  • «almaGRID» — «Настройки» — «Макросы» — «Никогда не загружать макросы, сохраненные в базе данных»,
  • «almaGRID» — «Настройки» — «Макросы» — «Никогда не сохранять макросы базе данных».

Создание макроса #

Для создания макроса, сохраняемого в базе данных:

Шаг 1: Отобразить в ленте Excel вкладку «Разработчик», если она скрыта — «Excel» — «Файл» — «Параметры» — «Настроить ленту» — «Разработчик»:

Шаг 2: «Excel» — «Разработчик» — «Visual Basic» — «VBAProject — клик ПравойКнопкойМышки» — «Вставить» — «Модуль»:

Шаг 3: Переименовать созданный модуль в «alma_Macros»

Шаг 4: В модуле «alma_Macros» создать функцию с необходимыми расчетами или импортом данных из внешних источников

Шаг 5: Созданную функцию можно использовать в формулах в ячейках макета. Иллюстрация ниже — с включенной опцией отображения формул в ячейках:

Этот пример можно найти в макете — пример базы данных: [Проекты] [Модель непрерывности бизнеса] [Форматы] [Расчет и ввод исходных данных] [10.30: Расчет значения Фактор2 (с макросом)].

Шаг 6: Сохранить макрос в базе данных

«almaGRID»-«Настройки»-«Макросы»-«Сохранить все макросы рабочей книги в базе данных». Если макрос с таким именем уже существует в базе данных то он будет замещен макросом из рабочей книги.

Если из кода макроса вызываются другие макросы, то их имена необходимо перечислить в аргументе служебной функции «UseMacro()», которую следует добавить к формуле в ячейке:

=alma_xxx(A3)+UseMacro(«alma_func1,alma_func2»)

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

Ссылки на объекты базы данных #

Использование в формулах ссылок на объекты #

Все объекты, сохраняемые из гридов в базе данных, имеют уникальные коды. По этому коду можно получить доступ к любому объекту. Этот код может быть использован при построении имени объекта в формулах.

Включение режима использования в формулах грида ссылок на объекты базы данных: «almaGRID» — «Настройки» — «Приложение» — «Загружать зависимые Объекты и строить модели для тестирования гипотез и анализа ‘Что-Если'».

Например, при открытии тега-документа с макетом — пример базы данных: [Проекты] [Модель непрерывности бизнеса] [Форматы] [Расчет и ввод исходных данных] [10.30: Расчет значения Фактор1] при включенном режиме «Загружать зависимые Объекты и строить модели для тестирования гипотез и анализа ‘Что-Если'» формат будет выведен в виде (с включенной опцией отображения формул в ячейках):

Создание автономной модели в рабочей книге #

При включенном режиме «Загружать зависимые Объекты и строить модели для тестирования гипотез и анализа ‘Что-Если'» в рабочую книгу рекурсивно загружаются все участвующие в формулах и агрегатах объекты.

Рекурсивно означает, что если загруженный объект сам является формулой или агрегатом, то также в рабочую книгу загружаются все участвующие в его формуле или агрегате объекты. Это позволяет собрать в рабочей книге интерактивный расчетный модуль модели: изменение значений объектов-параметров модели приведет к пересчету всех зависящих от этих параметров объектов. Такой расчетный модуль будет работать и при завершенной сессии almaGRID или на компьютере, на котором almaGRID не установлен.

Результат расчета с использованием автономной модели и средствами almaGRID могут отличаться на величину погрешности, обусловленной разными правилами округления чисел с плавающей точкой в .NET и в VBA, который используется для построения автономной модели.

Использование режима «Загружать зависимые Объекты и строить модели для тестирования гипотез и анализа ‘Что-Если'» может замедлить работу системы. Используйте этот режим только если вам необходимо собрать в рабочей книге интерактивную модель. После создания модели (после завершения работы скриптов) рекомендуется отключить этот режим.

Выполнение расчетов с использованием интерактивной модели существенно медленнее, чем при использовании внутренних инструментов расчета almaGRID.

Сохранение рабочей книги с автономной моделью #

Для того, чтобы в автономная модель осталась работоспособной, рабочую книгу необходимо сохранить в формате «.xlsm». Автономная модель формируется в рабочей книге в виде макросов. По умолчанию Excel предлагает сохранить рабочую книгу в формате «.xlsх» — это формат не поддерживает сохранение макросов и автономная модель после открытия такого файла работать не будет.

Действия со ссылками на объекты #

«almaGRID» — «Гриды» — «Инструменты» —

  • — «Удалить связи ячеек с базой данных»
  • «Заменить Объекты в выделенных формулах адресами ячеек»
  • «Заменить Объекты во всех формулах рабочей книги адресами выделенных ячеек»

Приведем описание действий со ссылками на объекты на примере гридов, созданных при открытии тега-документа — пример базы данных: [Проекты] [Модель непрерывности бизнеса] [Форматы] [Расчет и ввод исходных данных] [10.20: Расчет значения Фактор1] при включенном режиме «Загружать зависимые Объекты и строить модели для тестирования гипотез и анализа ‘Что-Если'» формат будет выведен в виде, с включенной опцией отображения формул в ячейках:

Действие «Удалить связи ячеек с базой данных». При применении этого действия к диапазону ячеек B2:D3, у всех ячеек диапазона будут удалены имена, связывающие их с информацией в базе данных. Эта операция также применяется и к ячейкам с тегами (форматирование ячеек при этом не изменяется). Полученный текст можно преобразовать обратно в теги.

Действие «Заменить Объекты в выделенных формулах адресами ячеек». При применении этого действия к ячейке с адресом С3 в формуле, которая записана в этой ячейке, все ссылки на объекты будут заменены адресами ячеек.

Действие «Заменить Объекты во всех формулах рабочей книги адресами выделенных ячеек». При применении этого действия к ячейке с адресом С3 во всех формулах книги ссылка на объект, размещенный в ячейке С3 (almabf7ac7c0c63e4a808377fd546685c4d1x), будет заменена на адрес ячейки С3.

Создание чек-листов #

Описание критериев оценки факторов #

Пакетное создание и загрузка рабочих книг в базу данных #

Реализация метода Делфи #

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

ru_RURussian

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: