logo

Select Sidearea

Populate the sidearea with useful widgets. It’s simple to add images, categories, latest post, social media icon links, tag clouds, and more.
hello@youremail.com
+1234567890
 

1C

Как новый уровень абстракции

А что если без 1С?

Нет совершенно ни какой необходимости в дополнительных прослойках, они только усложняют жизнь. Так думают многие, это распространяется на все, включая учетные системы.

В классической модели работы с базой данных клиент напрямую подключается к ней, возможно, через красивый интерфейс, как, например, любой из современных сайтов, вводит и извлекает данные.

Это обеспечивает скорость и простоту, экономию ресурсов, включая человеческие, и позволяет «удобно все видеть». Схематически такую можель можно изобразить следующим образом:

Клиент

Пользователи системы, вводящие и извлекающие данные

База данных

Плоское хранилище данных

Но подобные методы работы помимо преимуществ накладывают и ряд ограничений. Простую систему можно как угодно развить и разукрасить, наладить в ней уровни доступа, даже приспособить ее для параллельной работы.

Эти ограничения выходят за рамки технической и административной части, они связаны со сложностью структуры и неоднородностью современных бизнес-объектов.

При решении прикладных задач, связанных с учетом, нет возможности изолированно друг от друга описать и поддерживать взаимосвязанные элементы системы, это не имеет смысла, так как с ними нельзя будет работать — вся работа будет сведена к постоянной поддержки согласованности данных. Если попытаться объединить две сложных сущности в одной «плоской» (далее будет раскрыта суть этого слова) базе данных, проблема согласованности данных уйдет, но появятся другие, прежде всего, проблема их согласованного изменения.

Не любые данные можно как угодно менять, даже если ограничивать диапазон возможных значений. Например, нельзя списать товар со склада в одном городе, не имея возможности доставить, но имея желание продать его в другом.

Магазин, склад и служба доставки и есть те самые «сущности», которые должны согласованно существовать и согласованно меняться, живущие по определенным законам. В реальном мире их гораздо больше и они могут быть очень сложные, например, крупная компания со всеми своими подразделениями.

Если упрощенно представить базу данных, она может выглядеть как некая плоскость, на которой расположены области — таблицы, их поля и строки. Они могут быть взаимосвязаны, но существует ряд ограничений этих связей, накладываемых архитектурой реляционных СУБД. Если необходимо работать с каким-то бизнес-объектом, например, складом, информация о нем может браться из различных таблиц. На изображении эти таблицы выделены красным:

Вся бизнес-логика, в соответствии с которой должен «работать» объект должна в этом случае находиться или на клиенте, или в приложении, обеспечивающим интерфейс к базе данных. При этом при разработке и поддержке такой системы абсолютно все заботы о согласованности данных между таблицами, которые нельзя или очень накладно поддерживать средствами СУБД, блокировками, параллельности работы и другие полностью ложатся на авторов этой системы — сверхлюдей, великолепно знающих как экономику в целом и специфику учета в конкретной отрасли в частности, так и программирование в той среде, где система разрабатывалась. Если эти «сверхлюди» — один или несколько сотрудников, проявивших себя созданием подобной системы, судьба ее поддержки и последующей эксплуатации не определена.

Что предлагает 1С?

Это промежуточный уровень экономических абстракций между клиентом и базой данных, позволяющий взаимодействовать с СУБД экономическими терминами.

Это позволяет решить как минимум несколько серьезных сложностей:

  • Манипуляции с объектами. Работая с конфигурацией 1С, человек получает возможность работать не с сырыми данными из базы, а с объектами, имеющими экономическую суть. Это позволяет сосредоточиться на экономической составляющей, не тратя много усилий на механизмы взаимодействия с самой базой данных, получая применимые на практике результаты в достаточно короткие сроки
  • Регламентированное взаимодействие между различными экономическими объектами. У сущностей реального мира есть отличительная особенность — они не могут быть «любыми» в произвольное время. Это достигается путем ввода различных ограничений. В случае с 1С необходимость следить за этими ограничениями, которые могут быть очень сложны и многомерны, частично снимается с человека, что также позволяет значительно более быстро получить приемлемые результаты.
  • Возможности параллельной работы реализуются благодаря механизму блокировок 1С, позволяющему согласованно изменять данные в системе, когда с ней работает большое число пользователей.

Схематически взаимодействие 1С и СУБД можно изобразить следующим образом:

Здесь изображен некий абстрактный сложный объект, который включает в себя данные из нескольких таблиц базы данных. Вместо того, чтобы следить за всеми блокировками и проверять согласованность данных, можно работать с этим объектом и оставить работу с сырыми данными платформе 1С.

Клиент

Пользователи системы

``Экономический`` уровень

Сложные экономические сущности - объемные модели

База данных

Плоское хранилище данных

Также стоит отметить отношение фирмы 1С к клиентам и специалистам. Стоимость как продуктов, так и учебных курсов в большинстве случаев является приемлемой.

Достаточно редко приходится встречать настолько хорошо документированную, сложную, но в то же время доступную для изучения и применения систему.

Все ошибки, которые встречаются в ней, со временем устраняются, а их наличие обусловлено простым фактом — подобных систем здесь еще ни кто не строил.