• 03.03.2020
  • Елена Петрова
Когда бизнесмен, юрист, бухгалтер, продавец и другой пользователь сталкивается с программами 1С, очень часто возникает неправильное понимание того, что это такое. Кому-то кажется, что 1С – это удобная система учета, кому-то – что это система для автоматизации интернет-магазина, кто-то вообще не очень понимает, о чем идет речь. Некоторым даже кажется, что при помощи того или иного продукта 1С можно решить любые задачи бизнеса, надо только правильно выбрать продукт и, может быть, немного его доработать.

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

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

Итак, с точки зрения технической экосистемы 1С состоит из следующих компонентов:
Платформа 1С – это та основа, на которой пишутся конфигурации, с которой работают программисты и пр. Она обновляется от версии к версии, а потому может быть: 6.0, 7.7, 8.0, 8.2 или 8.3.
Конфигурация. Это следующий уровень конкретизации. Конфигурации пишутся на платформе с использованием кода 1С. Пользователи работают с конфигурациями.
1С Битрикс. Система для работы с сайтами, о ней поговорить стоит отдельно.

Еще один разрез, в котором можно структурировать работу 1С, — это организационный уровень. И здесь есть 2 части, которые также друг без друга не работают:
Сама компания 1С и ее штат специалистов.
Партнеры 1С (франчайзинг) и специалисты, занимающиеся обслуживанием системы. Их также стоит вныделить в качестве одной из составляющих эко-системы. Без специалистов, которые дорабатывают и внедряют 1С, система работать не будет. Это могут быть компании-партнеры 1С или одиночки-фрилансеры, не важно, они просто должны быть, иначе система не будет жизнеспособной.

Далее я предлагаю подробнее рассмотреть части эко-системы 1С.




Платформа

Платформа – это та самая основа, на которой 1С программисты, используя язык программирования 1С, пишут готовые программы (конфигурации) для пользователей. Именно платформа является той основой, без которой не будет работать ни один компонент, ни одна конфигурация. Одновременно сама платформа без конфигурации может заинтересовать исключительно 1С программиста, для всех остальных (пользователей, различных специалистов) она бесполезна.

Работать можно на разных версиях платформы. Я знаю, что на практике встречается применение версии 8.2 и 8.0, а также достаточно старой, но все еще популярной 7.7, иногда встречается даже использование первого удачного релиза 6.0. Но я буду говорить исключительно о версии 8.3, как о самой последней на момент написания статьи. Многие вещи, которые мы обсудим, одинаково актуальны и для прошлых версий. Но часть была добавлена только в последних релизах. Хотелось бы, чтобы читатели учитывали этот факт.

Важно понимать, что пользователям чаще всего не требуется весь спектр возможностей, которые дает 1С. Особенно актуально это утверждение для малого и среднего бизнеса. А вот качество и надежность работы для пользователей крайне актуальны. И в этом отношении с программными продуктами 1С, к сожалению, возникает достаточно много проблем.

Программисты при работе с 1С используют специальный язык программирования, который был создан разработчиками 1С для работы с платформой 1С. Сегодня он доступен на русском и английском языках, но изначально был написан на русском, а потому типовые конфигурации также пишутся традиционно на русском языке, хотя всегда есть возможность применить в нужном месте также и английские версии операторов, если программисту так удобнее работать. Язык этот представляет смесь бейсика и C+ с добавлением SQL для написания запросов. Кроме того, в нем предусмотрена возможность использования различных конструкторов и плагинов.

Одна из особенностей платформы 1С – это отсутствие модульности. Платформа – это нечто целое, здесь невозможно четко указать, что какой фрагмент кода (модуль) за какие возможности отвечает. Конечно, при установке вы можете указать, какие компоненты нужно установить, а какие – нет. Но эта возможность присутствует только в момент установки, и, на самом деле, предлагает совсем небольшое число вариантов.

Еще одна ремарка, которая поможет, надеюсь, избежать флейма и споров:
Я понимаю, что платформа 1С – это мощный и очень гибкий инструмент. И если вы, будучи опытным программистом 1С зададитесь целью написать на ней нечто свое, особенное, скорей всего, у вас получится прекрасное программное обеспечение. И для разных случаев здесь можно найти решение именно благодаря богатству возможностей платформы. Но я чаще всего сталкиваюсь с применением типовых конфигураций (Бухгалтерия, Управление Торговлей, Зарплата и Кадры, Управление Производством), с ними работает большинство пользователей, особенно, если говорить о малом и среднем бизнесе. А потому и о выборе платформы, и о каких-то проблемах, связанных с работой 1С я буду писать преимущественно с точки зрения работы с типовыми конфигурациями.

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

Варианты поставки платформы

При выборе платформы очень важно обратить внимание на варианты поставки решения. Первое, что вам важно, это метод организации работы с данными:
Файловое решение
Клиент-серверный вариант

В файловом решении вся рабочая информация будет храниться в одном общем файле. Не важно, какую из конфигураций вы при этом установите. В любом случае вы получите служебный файл с расширением CD (внутренний формат 1С), в котором будет храниться все: справочники, документы, регистры и т.д. Если число пользователей вашей программы не превышает 4 человек, скорей всего, вам вполне подойдет этот вариант. Тем более, что настраивать файловую систему значительно проще, здесь можно даже обойтись без помощи 1С-специалиста. Отчасти проблему скорости работы можно решить при помощи RPD (Remote Desktop Protocol — протокол удалённого рабочего стола), но только отчасти.

Но для применения 1С в компаниях с достаточно активным документооборотом и достаточно большим числом пользователей системы (более 4 человек), файловая система будет работать неудовлетворительно. Пользователи практически одновременно будут обращаться к одному и тому же файлу, который будет постоянно увеличиваться в объемах. Кроме того, потребуются постоянные синхронизации, что еще больше замедлит работу.

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

Клиент-серверная организация хранения данных – это организация баз данных в таблицах на сервере. Это могут быть MSSQL, Oracle или другой вариант организации баз данных.

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

В большинстве случаев в компаниях устанавливают Windows сервер, на котором хранится и сама программа, и базы данных. Иногда приложения и базы данных разделяют по разным серверам, но это случаи сложные и достаточно редкие, а потому я останавливаться на них не буду.
Автор
Елена Петрова