Еще одно сравнение с 1С



Posted by Александр, Киев. on December 20, 2000 at 03:56:46:

Накануне, уже в который раз, задаю себе вопрос: "Почему я работаю на ФБП". И снова пытаюсь понять, почему некоторые заказчики ищут альтернативу 1С и не находят ее в ФБП.
Первое сравнение - актуализация данных при вмешательстве в прошлое. Было отмечено, что при нагрузке на систему в 100 операций (под операцией подразумевается группа проводок в предалах одного документа с табличной частью 5-10 строк ) 1С потребовалось примерно 2 минуты. Финансы это делают за 0.4 с. Другими словами такие операции как движение по р/с, которые вводят как минимум "вчерашним" числом,сводят на нет, возможность организовать в 1С автоактуализацию и которая без проблем функционирует в ФБП как встроенная функция.

ФБП обладает деревом видов операций обладающим двумя глобальными назначениями: Для сервера это правила формирования проводок и вычислений, сопоставляемых с фразой операции из тела самой операции с учетом данных введеных оператором в момент формирования этой операции. Для клиента это набор сценариев, согластно которым формируются будущие операции. В сервере 1С нет никаких правил формирования проводок ибо все они формируются исключительно клиентскими частями. Таким образом разработчик приложений на 1С волен использовать всю свою фантазию для организации требуемого интерфейса с пользователем и любого алгоритма по текущей обработке вводимых данных. Сервер 1С строит таблицу корреспонденций, используя уже обработанные данные, в виде предварительно сформированых и записанных на диск проводок. Проводки 1С дооснащены возможностью подключения к ним ссылок на данные из справочников. Это выполнено для возможности получения большей информации в отчетах, чем это заложено в обычной оборотно-сальдовой ведомости. С значительной натяжкой это можно сопоставить с возможностями фактов в ФБП в смеси с механизмом историй "локала". FACT в ФБП обладает рядом свойств полного аналога которому найти не просто. Прежде всего это запись или связанные записи позволяющие представить в отчете операцию/группу операций как единый документ. Использование отчетов по фактам в ф/к я не рассматривал, т.к. до настоящего момента необходимости их использования удается избегать, но тем не менее таковые представлены.

И последний существенный (с моей точки зрения) момент. Это работа с системой в режиме редактора введенных данных. Возьмем худший из возможных вариантов. Представим себе группу операций в ФБП. Эта группа может состоять из табличной части (одна операция на строку) и одной замыкающей операции в которой можно реализовать общую часть группы, и воспользоваться расчетами /накоплениями табличных операций. Такая группа может быть представлена исключительно как последовательный список операций. Можно редактировать отдельные операции как запись, удалять, но практически нельзя добавить операцию в группу. (Исключение из этого правила: удалить весь блок и создать новый ) Блок операций представлен аппаратными скобками. По второму варианту группа может состоять из операций в каждую из которых включена как табличная запись, так и головная часть. Такие операции могут размещаться в произвольном порядке, они обладают информационной избыточностью, отсутствует возможность получения итога по группе. Объединение их в блок (только для отчетных форм) реализуется ч/з механизм фактов, за счет единого индексного поля. Эти операции могут редактироваться, удаляться и добавляться без всяких ограничений.
В 1С все выше приведенное реализуется путем перегенерации всего блока проводок той же формой которой он и был создан после необходимой коррекции необходимых елементов (не записей как в ФБП) соответственно. Последняя особенность очень нравиться пользователям.
Третий вариант, последний, до которого удалось додуматься. Это выделение табличной части в момент формирования многострочного документа в виде одной или нескльких записей в extrd.dat. Связанная с этим блоком операция несет головную часть, механизм извлечения записей из extrd.dat, их распаковку, обработку и формирование проводок. Этот способ свободен от недостатков первых двух. В качестве эксперемента была преобразована реальная база реализованная по второму варианту, приведенному здесь. По временным характеристикам получился выигрыш около 20% (за счет значительного снижения кол-ва операций против их утяжеления на раскрутку extrd.dat). В качестве недостатков зтого метода подозреваю снижение надежности целостности данных по сравнению с размещением их целиком в *.f3p. и возможность рассинхронизации. Второго, с большой степенью вероятности можно избежать. Формирование/редакция многострочной составляющей осуществляется в ветви-вопросе. Есть вероятность не завершения ввода. При этом наверное достаточно переодически контролировать extrd.dat на наличие бесхозных блоков. А операция без табличной состовляющей, сама о себе напомнит.


Мое резюме: ФБП был и остается кладезем не познаных и не реализованных возможностей. Ибо все отмеченные мною преимущества 1С достижимы на ФБП без потери ее основных преимуществ.


Приношу свои извенения тем кому чтение этого показалось утомительным.



Пpишедшие ответы: