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

Вкладка "Формулы" состоит из списка формул и кнопок управления (Рис. 1). Также с этой вкладкой связано окно редактирования формулы, которое будет рассмотрено ниже.

Рис. 1. Вкладка "Формулы" окна редактирования


1. Список формул содержит следующие графы:

  1. Номер формулы. У большинства формул сохранены те номера, которые они имели в версии программы для DOS (версии 3.4). Всем новым формулам, которые создаются пользователями, присваиваются номера начиная с 500.
  2. Наименование формулы. Это наименование используется для составления примечания к формуле в текстовой части расценки.
  3. Применение. Возможны три режима применения формул.

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

    Переключить режим применения можно двумя способами:

    • Нажать на кнопку "Изменить" и в окне редактирования формулы произвести переключение в строке "Применять автоматически"
    • Нажать русскую букву "М" (подчеркнута в заголовке) достаточное количество раз.

  4. Впечатывать. Точно также Вы можете установить один из трех вариантов формирования примечания в текстовой части расценки, содержащего результаты расчета по формулам. Смысл вариантов Да, Спрашивать и Hет очевиден. Для изменения режима впечатывания используйте кнопку "Изменить" или на клавиатуре нажимайте клавишу "ч".
  5. Программа. Последний параметр "Программа" предназначен для программистов. Он позволяет значительно повысить гибкость и универсальность применения формул. В поле "Программа" необходимо указать имя (без расширения) специальной программы, написанной на языке VISUAL FOXPRO. Эта программа должна быть функцией логического типа, т.е. возвращать .T. или .F. Программа исполняется ПЕРЕД применением формул, а формулы, в свою очередь, применяются только если программа вернула .T. Тактим образом можно из программы управлять срабатыванием формулы в режиме автоматического применения.

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

2. Кнопки управления "Добавить, Изменить, Удалить, Применить"

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

  2. Изменить. Открывает окно редактирования формулы. По-другому формулу можно "открыть" для просмотра и редактирвоания нажатием Enter или двойным щелчком мыши на соответствующей строке списка формул.

  3. Удалить. На самом деле удаление предусмотрено только для формул с номером 500 и выше, то есть удалить можно столько формулы, созданные пользователями. Это ограничение служит защитной мерой против случайого удаления штатных формул и потери функциональности. Если пользовательская формула использовала программную поддержку, например, в модуле formula1, то при удалении формулы Вам придется вручную удалить соответствующий ей программный код (если в этом возникнет необходимость).

  4. Применить. Запускает формулу на исполнение. Запустить формулу можно также комбинацией клавиш Ctrl+End или аналогичной кнопкой "Применить", находящейся в окне редактирования формулы.

    Особо следует пояснить, как ведет себя программа при нажатии на клавишу Enter или при двойном щелчке мыши на формуле. Если, редактирование формулы запрещено (см. ниже), от произойдет Применение формулы, как если бы была нажата кнопка "Применить". Если редактирование разрешено, то откроется окно редактирования формулы. Точно также ведет себя и клавиша Пробел.

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

3. Окно редактирования предназначено для задания или редактирования формул пересчета таких параметров расценки, как составляющие стоимости и ресурсные нормы. Как уже упоминалось, это окно вызывается кнопкой "Изменить" на вкладке "Формулы".
Рис. 2. Окно редактирования формулы

  • Таблица формул. В центре окна располагается таблица с формулами пересчета, разделенная на две половины. Верхняя часть предназначена для пересчета цен, нижняя - для пересчета ресурсов. Каждая ценовая составляющая стоимости расценки и каждая категория ресурсов имеют свои условные обозначения, которые можно использовтаь в формулах. Обозначения указанных переменных выписаны в первой колонке таблицы, а их расшифровка - во второй (обе колонки - справочные). Ценовые переменные ОЗ...МР все измеряются в рублях. Трудозатраты ТЗО и ТЗМ - в человеко-часах. Машины МШ - в машино-часах. Материалы МТ не имеют однозначной единицы измерения, поскольку представляют разнородный набор различных материалов.

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

  • Правила написания. В тривильном случае формула представляет собой повторение своей переменной. Такая формула ничего не делает, то есть не изменяет соответствующую составляющую затрат или категорию ресурсов. Например, в первой строке формула в виде "ОЗ" не изменяет зарплату. Если формулы вообще нет, программа сама допишет соответствующее обозначение переменной и тем самым обеспечит сохранение значения. Но явное указание нуля на месте формулы обнулит соответствующую величину.

    Формулы представляют сбой обыкновенные арифметические выражения, в которых можно использовать четыре знака арифметических операций и скобки. Знак равенства недопустим. В числах в качестве десятичного разделителя дроби можно использовать как точку, так и запятую. В арифметические выражения можно включать переменные от ОЗ до МТ, а также специальные обозначения коэффициентов k1, k2, ... k8 - по числу строк-формул. Эти коэффициенты предназначены исключительно для задания в программе, обслуживающей формулу. В простых явно заданных формулах обозначения коэффициентов k1...k8 не применяются.

    Первые четыре формулы пересчитывают составляющие затрат единичной расценки. Следующие четыре формулы пересчитывают нормы затрат каждого ресурса соответствующей категории. Не допускайте ошибок написания формул, например, ОЗ:2 (знак деления "/", а не ":"), ЗП*1.15 (у зарплаты обозначение "ОЗ", а не "ЗП"), МТ*k9 (коэффициент k9 неопределен). Некоторые формулы хотя и имеют "правильный" вид, но являются бессмысленными, например, ОЗ+МШ (к рублям нельзя прибавлять машино-часы). Следите за правильным написанием формул.

    Наиболее простой тип формул (и наиболее востребованный) - это умножение на коэффициенты. Например, умножение стоимости материалов на коэффициент 1.02 может быть реализовано формулой
    ЭМ*1,02
    а уменьшение нормы расхода всех материалов в два раза - формулой
    МТ*0,5 или МТ/2
    Для того, чтобы исключить все материалы из ресурсной части, напишите МТ*0.

  • Управление формулами.
  • Примечание для программистов. Программа применения формул - formula1.prg - находится в папке "ФОРМУЛЫ". Вы можете свободно модифицировать или иначе использовать эту программу при условии ссылки на программу "СМЕТА-БАГИРА". Для разработки собственных программных модулей обслуживания формул лучше в той же папке создать новый файл, например, formula2.prg. Таким образом Вы надежнее защитите свои разработки, которые могут пострадать при обновлении основной программы и встроенного файла formula1.prg.

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