Несмотря на то, что система TechnologiCS имеет в своем составе достаточно развитые подсистемы построения расчетов (см. разделы 6 и 16) и формирования отчетов (см. разделы 13.7 и 15), построенных на основе использования приложений MS Office, в ее состав включена встроенная подсистема оперативных расчетов, предназначенная для проведения расчетов и подготовки итогов при работе с таблицами системы. Данная подсистема позволяет быстро получать расчетные результаты, не используя сторонних приложений, при этом сами алгоритмы расчетов могут быть сохранены для последующего использования, а полученные результаты – переданы как текст в любое внешнее приложение.
Подсистема вызывается на любой таблице TechnologiCS из главного меню «Правка» или контекстного меню выбором режимов:
«Операции с сеткой» - «Итоговые расчеты»,
или нажатием комбинации «горячих клавиш» «Ctrl+Shift+Q». При этом появляется окно с копией данных таблицы. Например, на рисунке приведено окно, полученное из режима ведения итоговой спецификации (см. раздел 8).
При нажатии правой клавиши мыши появляется контекстное меню режимов работы подсистемы.
Здесь:
Итоги
При выборе режима «Итоги» пользователь попадает в окно настройки, которое содержит три закладки:
Расчет по вертикали
Закладка «Расчет по вертикали» служит для создания итогов. Здесь можно посчитать количество одинаковых полей или суммы одинаковых полей, при этом результаты будут добавлены в таблицу в виде отдельных строк.
В выпадающем списке «При изменении» следует выбрать поле, по которому будет производиться подсчет.
В пункте «Расчетная функция» следует выбрать алгоритм расчета, при этом всегда доступны два алгоритма: сумма и количество:
· Для алгоритма подсчета суммы необходимо выбрать в списке «Считать для столбцов», столбцы в таблице, по которым производить подсчет суммы. Следует учесть, что поля должны быть числовые, иначе пользователь получит сообщение об ошибке.
· Для алгоритма подсчета количества будет подсчитываться количество строк для поля указанного в выпадающем списке «При изменении»
Также можно задать способ сортировки. Для этого нужно добавить столбцы в самый нижний список, предварительно выбрав их в списке «Считать для столбцов» и нажав кнопку со стрелкой вниз . Сортировка по столбцам будет происходить в том порядке, в котором расположены имена столбцов в списке.
Так, например, если выбрана расчетная функция «Количество», то в разузлованной спецификации можно подсчитать, сколько наименований номенклатуры находится в каждом из разделов спецификации:
А если выбрана расчетная функция «Сумма», то в каждом из разделов спецификации можно подсчитать общее количество позиций на данную сборочную единицу.
В пункте «Расчетная функция» также можно выбрать пустое поле, если производить построение данных расчетов не нужно.
Расчет по горизонтали
Закладка «Расчет по горизонтали» служит для создания новых столбцов и проведения расчетов в них, на основе данных таблицы.
Выпадающий список «Колонка» с полем редактирования служит для ввода названия колонки. Если имя колонки уникальное, то кнопка «Создать колонку» будет доступна. Удаление колонок происходит при нажатии «Удалить колонку», при этом в списке должна быть выделена колонка, которая удаляется.
Далее, следует ввести текст программы на языке Visual Basic, в окне «Расчетный алгоритм». При этом используется встроенный редактор, имеющий для удобства использования предопределенные функции, конструкции и т.д.
Все ключевые слова и предопределённые функции, в ходе редактирования, подсвечиваются синим цветом. Это помогает избежать ошибок при написании программы. Для проверки написанного текста, существует пункт контекстного меню «Проверить». При этом произойдёт запуск программы для текущей строки в таблице. В результате проверки будет выдан результат расчета для этой строки или сведения об ошибке.
Результат вычислений, проделанных в ходе выполнения программы, должен быть занесён в переменную «result», иначе результат будет равен нулю. По своей сути, текст программы - это тело функции и результат работы функции должен быть возвращен в переменной «result».
Для доступа к данным таблицы, используется функция «getFieldValue» которая возвращает значение поля в зависимости от уникального идентификатора переданного в качестве параметра в функцию. Получить идентификатор поля можно используя окно «Быстрая вставка», из которого по двойному нажатию левой клавиши мыши в текст вставляется запрос на значение поля. Например: getFieldValue(“QUANTITY”). Для того чтобы узнать, какому полю соответствует этот запрос достаточно подвести курсор на идентификатор, и в подсказке напишется название поля.
При расчете математических выражений, типы данных автоматически преобразуются. Нажатие правой клавиши мыши в окне «Расчетный алгоритм» вызывает специализированное контекстное меню,
в которое помимо стандартных возможностей, добавлены следующие пункты:
Фильтр
Закладка «Фильтр» служит для создания пользовательского фильтра.
В окне «Текст фильтра» задаётся программа на языке Visual Basic, определяющая будет видима или не видима строчка в таблице. Результат работы программы записывается в переменную «result». Здесь в «result» следует записать true или false. Возможности языка в данном контексте такие же, как и в закладке «Расчет по горизонтали». Включение/отключение фильтра осуществляется в контекстном меню работы данного режима.
Копировать в буфер обмена как текст
Подготовленную таблицу с итогами можно копировать в буфер обмена как
текст, для того, чтобы в последствии использовать в различных внешних
приложениях.
Сохранить/загрузить конфигурацию
Разработанные расчеты и фильтры можно сохранить в базе данных, выбрав соответствующий режим из контекстного меню:
При этом, если включен переключатель «Общий», то данные расчеты и фильтры становятся доступными всем пользователям системы.
Также в процессе работы можно загрузить конфигурацию соответствующий режим из контекстного меню:
! См. также: