Что такое 1С. О сложной системе простыми словами
На сегодняшний день программные продукты 1С являются неким стандартом для работы бухгалтерского, управленческого и других видов учета в малом и среднем бизнесе. Работодатели требуют от своих сотрудников обязательных навыков работы именно с этим программным продуктом. Если возникает на повестке дня вопрос интеграции интернет-магазина и систем автоматизации (остатки, цены, заявки и т.д.) – также на стороне офиса обычно оказывается база данных 1С, с которой и нужно провести интеграцию. Аналогично во многих других случаях: любой процесс автоматизации малого и среднего бизнеса традиционно начинается с продуктов 1С и продолжается с их применением.
Я, как бизнес-консультант, достаточно часто сталкиваюсь с вопросами о том, что такое 1С, какая структура может быть у этого программного продукта, и вообще – каким образом вся эта система работает.Их задают обычно веб-разработчики, которые вынуждены заниматься вопросами интеграции сайта и 1С, программисты, специализирующиеся на мобильных приложениях и другие специалисты, которым по роду работы с программами 1С приходится сталкиваться нечасто.
Пару слов о моем опыте работы с 1СВ свое время я работал 1С-программистом в крупном проекте, далее занял должность руководителя проекта, был достаточно долго руководителем проектного отдела, который занимался исключительно задачами в 1С.
Обновление от 25.02.2018: Если вы стоите перед выбором 1с для покупки рекомендую статью «Как правильно купить 1с».
Сейчас, как я уже не раз писал, я работаю бизнес-консультантом в сфере малого и среднего бизнеса. Я постоянно сталкиваюсь с различными задачами по автоматизации работы, и, как следствие, с программными продуктами 1С. Чаще всего я в качестве бизнес-консультанта нанимаю специалистов по 1С для решения определенных задач, у меня есть постоянная команда, привлекаю также и сторонних специалистов, в том числе, на фрилансе. В очень редких случаях пишу что-то на 1С и сам, чаще всего, если нужно в срочном порядке решить небольшую задачу.
С другой стороны, я все дальше и дальше ухожу от постоянной работы с продуктами 1С. Если на заре моей карьеры работа с программами 1С приносила мне 100% дохода, то сегодня внедрение каких-то 1С решений занимает в моей работе не более 20%, все остальное – это сайты, это CRM-системы и т.д.
А потому, пока я еще не слишком далеко отошел от вопросов, связанных с программой 1С, я решил систематизировать мои знания, собрать и зафиксировать важные аспекты и нюансы работы с этими программными продуктами
Еще немного об 1С и о том, зачем я это все пишу- Я планирую создать целую серию статей об 1С, где расскажу об этом программном продукте с разных точек зрения. Эта статья предназначена, прежде всего, для программистов. А потому я размещаю ее на Хабре. Следующие будут охватывать более широкий спектр понятий, интересных в том числе, бизнесменам и пользователям программных продуктов 1С, а потому они будут размещены на Мегамозге.
- Я не буду углубляться в нюансы применения кода, в другие технические подробности, которые каждый из вас может самостоятельно прочитать на официальном сайте 1С, на сайтах поддержки, на известных форумах и пр.
- Я не буду обсуждать нюансы работы той или иной версии платформы. Более того, чаще всего я буду говорить о платформе 8.3 как о последней актуальной на момент написания статьи, а также о типовых конфигурациях, которые наиболее востребованы у моих клиентов (средний и малый бизнес).
В системе 1С усилия по «запутыванию» пользователя, как мне кажется, направлены на одно: не надо ни в чем разбираться, надо просто платить. И многие бизнесмены приходят к тому, что платят и правда, не разбираясь, надо ли им это обновление, требуется ли им этот продукт. Просто платят и все.
Я же попытаюсь распутать «щупальца Спрута» и структурирую общее понимание того, каким образом работает система 1С.
Программистам хочется также напомнить, что любую техническую информацию вы можете найти на сайте 1С. Я на этих нюансах вообще не планирую останавливаться. Писать буду простым языком, насколько это возможно, о принципиальных вопросах.
- Сайт 1С и партнерский форум. http://www.1c.ru
- Сайт mista.ru
- Сайт http://infostart.ru
- Другие ресурсы
Когда бизнесмен, юрист, бухгалтер, продавец и другой пользователь сталкивается с программами 1С, очень часто возникает неправильное понимание того, что это такое. Кому-то кажется, что 1С – это удобная система учета, кому-то – что это система для автоматизации интернет-магазина, кто-то вообще не очень понимает, о чем идет речь. Некоторым даже кажется, что при помощи того или иного продукта 1С можно решить любые задачи бизнеса, надо только правильно выбрать продукт и, может быть, немного его доработать.
Причина таких явно ошибочных вариантов восприятия заключается в том, что никто не понимает, что такое 1С с точки зрения платформы. Каждый видит что-то свое, конкретное. Еще больше путаницы вносит сама 1С, так как поддерживает активно все эти заблуждения из-за своего маркетинга, который пытается позиционировать 1С — как решение на все случаи жизни и для любых целей.
В статье Почему 1С это плохо и почему так не любят 1С программистов я уже рассказывал, что на самом деле 1С нужно воспринимать как целую экосистему. Именно такой подход поможет понять, что такое 1С и зачем она нужна.
- Платформа 1С – это та основа, на которой пишутся конфигурации, с которой работают программисты и пр. Она обновляется от версии к версии, а потому может быть: 6.0, 7.7, 8.0, 8.2 или 8.3.
- Конфигурация. Это следующий уровень конкретизации. Конфигурации пишутся на платформе с использованием кода 1С. Пользователи работают с конфигурациями.
- 1С Битрикс. Система для работы с сайтами, о ней поговорить стоит отдельно.
- Сама компания 1С и ее штат специалистов.
- Партнеры 1С (франчайзинг) и специалисты, занимающиеся обслуживанием системы. Их также стоит вныделить в качестве одной из составляющих эко-системы. Без специалистов, которые дорабатывают и внедряют 1С, система работать не будет. Это могут быть компании-партнеры 1С или одиночки-фрилансеры, не важно, они просто должны быть, иначе система не будет жизнеспособной.
Платформа – это та самая основа, на которой 1С программисты, используя язык программирования 1С, пишут готовые программы (конфигурации) для пользователей. Именно платформа является той основой, без которой не будет работать ни один компонент, ни одна конфигурация. Одновременно сама платформа без конфигурации может заинтересовать исключительно 1С программиста, для всех остальных (пользователей, различных специалистов) она бесполезна.
Важно понимать, что пользователям чаще всего не требуется весь спектр возможностей, которые дает 1С. Особенно актуально это утверждение для малого и среднего бизнеса. А вот качество и надежность работы для пользователей крайне актуальны. И в этом отношении с программными продуктами 1С, к сожалению, возникает достаточно много проблем.
Одна из особенностей платформы 1С – это отсутствие модульности. Платформа – это нечто целое, здесь невозможно четко указать, что какой фрагмент кода (модуль) за какие возможности отвечает. Конечно, при установке вы можете указать, какие компоненты нужно установить, а какие – нет. Но эта возможность присутствует только в момент установки, и, на самом деле, предлагает совсем небольшое число вариантов.
Еще одна ремарка, которая поможет, надеюсь, избежать флейма и споров:
При этом я также понимаю, что при большом желании и достаточном уровне знаний программиста очень многие вопросы могут быть решены, а проблемы окажутся не актуальными. А потому, если вы используете какие-то уникальные разработки, проблемы и вопросы, которые я раскрываю, могут оказаться для вас совсем не интересными. Для всех остальных – продолжаю.
Варианты поставки платформы- Файловое решение
- Клиент-серверный вариант
Но для применения 1С в компаниях с достаточно активным документооборотом и достаточно большим числом пользователей системы (более 4 человек), файловая система будет работать неудовлетворительно. Пользователи практически одновременно будут обращаться к одному и тому же файлу, который будет постоянно увеличиваться в объемах. Кроме того, потребуются постоянные синхронизации, что еще больше замедлит работу.
Клиент-серверная организация хранения данных – это организация баз данных в таблицах на сервере. Это могут быть MSSQL, Oracle или другой вариант организации баз данных.
Плюсы этого варианта очевидны: не важно, какое количество пользователей будет обращаться к базам данных, проблем со скоростью работы и доступом не возникнет. Именно такой вариант применяет большинство предприятий среднего бизнеса, именно его я обычно рекомендую клиентам.
В большинстве случаев в компаниях устанавливают Windows сервер, на котором хранится и сама программа, и базы данных. Иногда приложения и базы данных разделяют по разным серверам, но это случаи сложные и достаточно редкие, а потому я останавливаться на них не буду.
Версии 1С для разных платформСегодня вы можете выбрать разные версии программного обеспечения 1С для работы на различных платформах. Здесь также стоит разобраться, что стоит покупать в каком случае.
- для Windows,
- для Linux.
Программу 1С, которая работает под Windows, разрабатывали с самого начала, это мощный привычный всем инструмент, который достаточно доработан, чтобы пользоваться им без особых проблем. Версия под Linux на сегодняшний день считается еще новой, а потому достаточно «сырой», в ней пока еще имеется очень много ошибок, как и в любом новом программном продукте.
Предприниматели и любые представители бизнеса – люди достаточно консервативные, им важней всего – стабильная надежная работа. Чаще всего бизнесу не столь важна высокая скорость работы или огромный перечень возможностей, сколько требуется просто стабильная работа. Кроме того, Linux на сегодня не слишком востребован в отечественном бизнесе. А потому с этой версией сталкиваться приходится очень редко.
Компонентная база 1СКомпонентная база 1С очень обширна, в ней заложено огромное число возможностей, при этом 1С постоянно дробит и добавляет функции. Т.е. в случае, когда разработчикам 1С требуется создать что-то новое, они практически всегда создают новый вид объекта. Например, когда потребовались web-сервисы, разработчики не стали делать какой-то плагин, а просто ввели понятие: web-сервис. Аналогично для многих бизнес-процессов в компании 1С чаще всего создают новый компонент даже в тех случаях, когда можно было бы просто доработать существующий.
- Часть компонентов работают давно, некоторые с момента создания программного продукта. Они стабильны и надежны.
- Часть компонентов добавлены недавно, некоторые добавляются прямо сейчас. Они в большинстве своем очень слабо протестированы, а потому работать с ними нужно с предельной осторожностью.
Одна из составляющих негативной репутации 1С – это практика компании постоянно добавлять новые неоттестированные решения. При том, что зачастую уже внедренные компоненты работают слабо, в них еще не исправлены ошибки, а разработчики уже добавляют что-то новое. Это могут быть не только компоненты, это могут быть новые функции для существующих объектов, новые методы и т.д. С этой проблемой – постоянным наличие «сырого» софта, постоянным «багами» и постоянными их исправлениями – будут сталкиваться все программисты, которые работают с 1С.
Пользователи также могут столкнуться с этой проблемой – ошибками и нестабильной работой программного обеспечения при работе с платформой. Есть определенный набор функций по обслуживанию 1С, которые может выполнять пользователь. Для этого имеется пользовательский интерфейс платформы. И здесь стоит вернуться к разным версиям интерфейса пользователя.
Платформа 1С состоит из множества различных компонентов, которые постоянно добавляются, расширяя возможности этого продукта. Помимо документов, справочников, различных регистров, здесь также предусмотрены разные компоненты для ввода/вывода информации, т.е. пользовательские интерфейсы.
- Нативный 1С-клиент. Это традиционный программный интерфейс, когда к 1С идет обращение из 1С.
- Работу через браузер.
- Работу через мобильное приложение.
Нативный клиент также делится на серию подклиентов, что вносит в вопрос выбора программного обеспечения дополнительный хаос. Здесь самое главное – это выбрать «толстый» или «тонкий» вариант клиента. На первый взгляд, выбор здесь не критичный, особенно для программиста. На самом деле, при работе с конфигурацией через интерфейс могут возникать проблемы из-за ошибок выбора.
В чем разница между этими подклиентами?
«Толстому» требуется широкий (толстый) канал связи, «тонкому» хватает минимума. Подавляющее большинство моих заказчиков пользуются «толстым» клиентом, так как локальные или интернет-каналы сейчас у всех хорошие, проблем с их «шириной» не возникает. С другой стороны, «тонкий» клиент имеет определенные ограничения в работе, есть вещи, которые в нем сделать невозможно.
Web-клиент (работа через браузер)Web-клиент – это работа с программой 1С через браузер. Т.е. вы используете определенную технологию, которая позволяет через Интернет, используя удобный для вас браузер, получить доступ к базе данных. При этом интерфейс полностью обрисовывается непосредственно в браузере.
Определенные ограничения такой вариант накладывает, об этом нужно постоянно помнить. С другой стороны, работа с Web-клиентом достаточно стабильна, неплохо отлажена, доведена до определенного логического завершения. А потому этим вариантом интерфейса пользуется довольно много людей. Работать с 1С в онлайне бывает очень удобно и даже необходимо.
Мобильная версия- Клиент получился очень сложным. Для того, чтобы настроить эту программу, человек должен знать одновременно 1С и мобильные технологии, причем, достаточно глубоко на уровне кода. Понятно, что найти такого специалиста довольно сложно, что не способствует популярности программного решения.
- Технология еще очень «сырая» и плохо отлаженная. Я лично пробовал это решение применить для своих клиентов, общался с коллегами, которые также ознакомились с этой технологией, и на данный момент мое мнение и мнение коллег совпадает: проще и удобнее создать какое-то свое мобильное приложение, чем использовать вариант от 1С.
- Настройка доступа к базе данных извне;
- Решение вопросов безопасности;
- Настройка сервера для работы с мобильными приложениями;
- Настройка программных продуктов 1С;
- Настройка web-приложений (по необходимости).
Платформа 1С – очень функциональна, в ней имеется огромный список самых разных возможностей. И это количество естественным образом переходит в сложность. В результате порог вхождения в работу с 1С для программиста очень высок. Клиенты слышат о разных возможностях 1С, просят программиста помочь в их реализации. А это значит, что специалист должен быть постоянно в курсе обновлений, понимать и знать самые разные вещи.
Очень сложно найти программиста, который сумеет на программном уровне понимать все и сразу: и работу с 1С, и веб-программирование, и работу с мобильными приложениями, и т.д. Это возможно на понятийном уровне, т.е. на том, на котором сейчас я делюсь своими знаниями.
Но клиенты этого обычно не понимают, и начинают требовать от 1С-программиста внедрения самых разных возможностей.
С другой стороны, платформа 1С постоянно меняется, в ней имеется огромное число вариантов, множество разных решений, как результат – огромное число багов и их исправлений.
- С одной стороны есть компания 1С, которая говорит клиентам, что 1С – это просто и удобно. Они нигде не пишут, что для обслуживания 1С потребуется специалист с особыми знаниями, что работать программистам с современной 1С – сложно.
- С другой стороны – в реальности клиент сталкивается со всеми этими проблемами. И хорошо, если ему на помощь придет либо хорошо сработавшаяся команда, занимающаяся внедрением 1С, либо бизнес-консультант с моим уровнем знаний, который сумеет найти нужных специалистов и поставить им правильно задачи. В иных случаях пользователя ждет масса проблем в процессе внедрения.
Итак, кратко о платформе 1С: огромное количество возможностей, высокая степень гибкости, масса различных решений. И одновременно: низкое качество реализации, постоянно растущая сложность решения, огромное число багов в каждой версии.
На понятийном уровне я думаю, информации достаточно. А технические нюансы вы всегда можете найти на ресурсах 1С, которые я рекомендовал выше.
КонфигурацииКонфигурации 1С – это уже готовые программные решения, которые созданы на базе определенной версии платформы. Конфигурация – это то, с чем работают непосредственно пользователи, та программная среда, в которой они ведут текущий учет, работают с документооборотом, со справочниками и т.д. Пользователи часто могут не знать, что у них за платформа стоит. Но какая конкретно конфигурация используется, знают всегда.
- Типовые – написанные компанией 1С. Они все присутствуют на сайте 1С.
- Нетиповые – написанные компаниями-партнерами.
- Типовые конфигурации создает и сопровождает компания 1С. В большинстве случаев они большее качественные, в этих конфигурациях лучше организована работа с кодом, используются чаще всего оптимальные решения, оперативно исправляются ошибки. Конечно, все и постоянно слышат о «вечных багах» в типовых конфигурациях 1С, и они там действительно постоянно присутствуют, но все таки, стоит отдать должное специалистам компании. Критичные ошибки они исправляют действительно оперативно.
- Нетиповые конфигурации пишут компании-партнеры 1С, и здесь достаточно сложно сказать что-то определенное. Такие конфигурации бывают очень разными. Чаще всего их пишут по случаю: отраслевые (для какой-то определенной отрасли) или написанные для определенного случая (конкретной компании). И здесь необходимо понимать, что компании-партнеры 1С в большинстве своем имеют достаточно высокую текучку кадров. А потому и конфигурации в них пишутся довольно не организовано. Начинает писать один программист, продолжает – другой, завершает – третий. При это каждый из них вносит туда что-то свое, свое понимание, решения, идеи. А наработки предшественника применяет так, как удобно, а не как это было задумано.
- Написанные на основе типовых. Эти конфигурации создаются путем добавления функционала к какой-то типовой. Например, существует такой продукт, как 1С: Управление торговлей и CRM. Здесь совместили типовую конфигурацию Управление торговли и систему CRM. Интересно, что создатели конфигурации компания Рарус, называют именно Управление торговли подсистемой, хотя на самом деле – это была та основа, на которой писалась вся конфигурация.    Плюсы таких конфигураций – они более функциональны в сравнении с типовыми, в них добавлены часто очень нужные возможности.    Минусы – разработчики этих конфигураций часто не успевают создавать своевременно свои обновления. Таким образом, очень может быть, что компания 1С уже выложила свои варианты обновлений, а пользователю нетипового решения придется ждать какое-то время, пока разработчик создаст аналогичное обновление для конкретного решения. Кроме того, подобные доработки также бывают достаточно «сырыми», в них может быть много ошибок.    
- Конфигурации, написанные с нуля. При их создании типовые конфигурации не используются вообще, решения пишутся для определенных задач.    Плюсы: конфигурация написала точно под нужны заказчика, здесь есть все необходимое и почти ничего лишнего.    Минусы: обычно при написании подобных решений стандарты кода не соблюдаются, дорабатывать подобные программные продукты очень сложно, чаще всего, это может сделать достаточно быстро только автор.
Важно понимать, что предприниматели обычно ищут именно конфигурацию. Например, для автоматизации работы бухгалтерии им требуется 1С.Бухгалтерия, а для организации работы с клиентами – 1С. Управление торговлей. Именно эти продукты им понятны, а потому интересны.
Таким образом, программисту важно знать, с какой платформой потребуется работать. Пользователю интересна конфигурация. При этом без помощи 1С: программиста бизнес в большинстве случаев не сможет настроить работу нужной конфигурации. Потому я называю специалистов 1С – неотъемлемой частью эко-системы 1С.
Напомню, что специалисты 1С также бывают разные. Одни занимаются разработкой платформы и типовых конфигураций (сотрудники компании 1С), другие являются ее партнерами и занимаются внедрением и доработками, третьи – частным образом помогают решать те или иные задачи, связанные с внедрением 1С.
О том, кто такие 1С программисты, чем они отличаются друг от друга, что такое 1С франчайзинг и о других таких же важных понятиях, я расскажу в следующей статье.
Также не стоит забывать о таком элементе эко-системы 1С, как Битрикс. О нем я также буду говорить в будущем, скорей всего, посвящу этой системе отдельную статью.