1.11.5 Оперативные расчеты |
Несмотря на то, что система TechnologiCS имеет в своем составе достаточно развитые подсистемы построения расчетов (см. разделы 6 и 18) и формирования отчетов (см. разделы 16 и 17), построенных на основе использования приложений Microsoft Office и OpenOffice, в ее состав включена встроенная подсистема оперативных расчетов, предназначенная для проведения расчетов и подготовки итогов при работе с таблицами системы. Данная подсистема позволяет быстро получать расчетные результаты, не используя сторонних приложений, при этом сами алгоритмы расчетов могут быть сохранены для последующего использования, а полученные результаты - переданы как текст в любое внешнее приложение.
Подсистема вызывается на любой таблице TechnologiCS из главного меню
«Правка»
- «Операции с сеткой» - «Итоговые расчеты»
или нажатием соответствующей кнопки на панели управления или вызовом из контекстного меню в области редактирования или нажатием клавиш «Ctrl+Shift+Q».
При нажатии правой клавиши мыши появляется контекстное меню режимов работы подсистемы.
· «Итоги» - режим настройки итогов и расчетов;
· «Только итоги» - режим в котором на экране отображаются только итоговые строчки;
· «Фильтр» - установка/снятие пользовательского фильтра;
· «Копировать в буфер обмена как текст» - режим копирования в буфер обмена выделенной области таблицы в виде текста;
· «Сохранить как/Сохранить конфигурацию/Загрузить конфигурацию» - режимы сохранения и загрузки настроек соответственно.
Разработанные расчеты и фильтры можно сохранить в базе данных и в дальнейшем, в процессе работы, загрузить конфигурацию в соответствующий режим.
При выборе режима «Итоги» пользователь попадает в окно настройки, которое содержит три закладки:
· «Расчет по вертикали»
· «Расчет по горизонтали»
· «Фильтр»
Расчет по вертикали
Закладка «Расчет по вертикали» служит для создания итогов. Здесь можно посчитать количество одинаковых полей или суммы одинаковых полей, при этом результаты будут добавлены в таблицу в виде отдельных строк.
В выпадающем списке «При изменении» следует выбрать поле, по которому будет производиться подсчет.
В пункте «Расчетная функция» следует выбрать алгоритм расчета, при этом всегда доступны два алгоритма: сумма и количество:
· Для алгоритма подсчета суммы необходимо выбрать в списке «Считать для столбцов», столбцы в таблице, по которым производить подсчет суммы. Следует учесть, что поля должны быть числовые, иначе пользователь получит сообщение об ошибке.
· Для алгоритма подсчета количества будет подсчитываться количество строк для поля указанного в выпадающем списке «При изменении».
Также можно
задать способ сортировки. Для этого нужно добавить столбцы в самый нижний
список, предварительно выбрав их в списке «Считать для столбцов»
и нажав кнопку со стрелкой вниз .
Сортировка по столбцам будет происходить в том порядке, в котором расположены
имена столбцов в списке.
Так, например, если выбрана расчетная функция «Количество», то в разузлованной спецификации можно подсчитать, сколько наименований номенклатуры находится в каждом из разделов спецификации:
А если выбрана расчетная функция «Сумма», то в каждом из разделов спецификации можно подсчитать общее количество позиций на данную сборочную единицу.
В пункте «Расчетная функция» также можно выбрать пустое поле, если производить построение данных расчетов не нужно.
Расчет по горизонтали
Закладка «Расчет по горизонтали» служит для создания новых столбцов и проведения расчетов в них, на основе данных таблицы.
Выпадающий список «Колонка» с полем редактирования служит для ввода названия колонки. Если имя колонки отсутствует или уникальное, то кнопка «Создать колонку» будет доступна.
Удаление колонок происходит при нажатии «Удалить колонку», при этом в списке должна быть выделена колонка, которая удаляется.
В области «Расчетный алгоритм» задается расчетный алгоритм, основанный на встроенном в систему языке CSDNBasic (см. раздел 1.11.9). При этом существует ряд определенных правил и ограничений:
· Результат вычислений, проделанных в ходе выполнения программы, должен быть занесён в переменную result, иначе результат будет равен нулю. По своей сути, текст программы - это тело функции и результат работы функции должен быть возвращен в переменной result.
· Для доступа к данным таблицы, используется функция getFieldValue, которая возвращает значение поля в зависимости от уникального идентификатора, переданного в качестве параметра в функцию.
Для вставки идентификатора поля, необходимо в области «Быстрая вставка» выполнить двойное нажатие левой клавиши мыши на требуемом поле.
· При расчете математических выражений, типы данных автоматически преобразуются.
Нажатие правой клавиши мыши в области «Расчетный алгоритм» вызывает контекстное меню:
·
«Копировать»
(клавиши «Ctrl+C»)
·
«Вырезать» (клавиши
«Ctrl+X»)
·
«Вставить» (клавиши «Ctrl+V»)
·
«Отмена» (клавиши «Ctrl+Z»)
·
«Загрузить...»
· «Сохранить...» (клавиши «Ctrl+S»)
· «Проверить» - проверка расчетного алгоритма на наличие ошибок.
· «Вставить конструкцию» - вставка в расчетный алгоритм синтаксической конструкции языка из списка.
· «Вставить функцию» - вставка в расчетный алгоритм предопределенной функции из списка.
· «Вставить колонку» - вставка в расчетный алгоритм запроса на значение поля из таблицы текущего режима.
Фильтр
Закладка «Фильтр» служит для создания пользовательского фильтра.
В области «Текст фильтра» задаётся текст фильтра, основанный на встроенном в систему языке Basic (см. раздел 1.11.9). Данный фильтр определяет, будет видима или нет строка в таблице. При этом существует ряд определенных правил и ограничений:
· Результат фильтрации, проделанный в ходе выполнения программы, записывается в переменную result. Здесь в result следует записать true или false.
Включение/отключение фильтра осуществляется в контекстном меню окна работы с итоговыми расчетами.
См. также: