Несмотря на то, что система 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.

Включение/отключение фильтра осуществляется в контекстном меню окна работы с итоговыми расчетами.

 

См. также:

1.11 Общесистемные инструменты и режимы