1С мобильная платформа

О мобильной платформе 1С: Предприятия

Мобильная платформа 1С:Предприятия – это набор инструментов и технологий для быстрой разработки приложений под мобильные ОС iOS, Android, Windows Phone / 8.1 / 10, с использованием тех же сред разработки (Конфигуратор или 1С:Entrprise Development Tools) и тех же методик разработки, что используются для «обычных» приложений 1С. В результате получаются автономные, офлайновые приложения, но с возможностью обмена информацией с внешним миром при помощи широкого спектра средств интеграции, предоставляемого платформой: Web и HTTP-сервисы, е-мейл и т.д. Поскольку протоколы обмена – платформенно-независимые, мобильная платформа 1С, помимо прочего – это средство быстрого создания мобильного фронт-энда для практически любого серверного решения.

Предыстория

Еще во времена «1С:Предприятия» версии 8.0 (и последующих версий) существовал программный продукт «Расширение для карманных компьютеров». Расширение позволяло создавать продукты только для ОС Windows Mobile, Windows CE и т.д. Продукт обладал собственным конфигуратором, и сервером, и поддерживался вплоть до выпуска «1С:Предприятия» версии 8.3. Последняя версия расширения (8.2.9) была выпущена в октябре 2013 года, а полная поддержка прекратилась 1 января 2015 года.
Расширение имело ограниченное применение даже во времена расцвета коммуникаторов на Windows Mobile, а уход таких устройств с мобильного рынка явно не добавил популярности этому программному продукту. Устройства на iOS и Android заняли практически весь рынок мобильных устройств, и стало очевидно, что поддержка этих ОС является одним из ключевых моментов для системы, которая должна эксплуатироваться в современном мобильном мире. Также казалось очевидным, что основной подход существующей платформы «1С:Предприятие» должен использоваться и на мобильных устройствах: прикладной разработчик должен в первую очередь думать о решении прикладных задач, а во вторую — о том, какие возможности используемой ОС ему задействовать для решения этих задач. Другими словами, нужен инструмент, который изолирует прикладного разработчика от особенностей конкретных мобильных ОС и инструмента разработки.

Мобильная платформа

Опираясь на опыт разработки и эксплуатации расширения для карманных компьютеров, было принято решение разработать специализированную систему, которая бы удовлетворяла нескольким требованиям:

  • она должна поддерживать современные популярные мобильные операционные системы и устройства под их управлением. В первую очередь это ОС iOS фирмы Apple и Android компании Google.
  • эта система должна позволять использовать разработанные приложения в стиле, принятом на современных мобильных устройствах. В частности, интерфейс должен опираться на ручное управление (в буквальном смысле этого слова) с использованием сенсорных экранов.
  • система должна обеспечивать единообразный программный интерфейс для реализации различных специфических механизмов, вне зависимости от используемой мобильной ОС.
  • разработчик должен использовать тот же инструмент и те же подходы к разработке, что и при разработке приложений для «обычного» компьютера.
  • прикладной разработчик должен разрабатывать прикладное решение в привычной среде разработки, по возможности используя единый код для настольной и мобильной систем.
  • интерфейс прикладного решения, работающего на мобильном устройстве, должен быть аналогичен для различных платформ и в целом однозначно узнаваем.

Результатом разработки явилась так называемая мобильная платформа, которая была выпущена 29 мая 2013 года в вариантах для iOS и Android. Мобильная платформа «1С:Предприятия» — это набор инструментов и технологий, позволяющий создавать приложения для мобильных ОС iOS, Android, Windows Phone / 8.1 / 10, используя ту же среду разработки (Конфигуратор) и те же методики разработки, что и для обычных приложений на платформе «1С:Предприятие». В результате получаются автономные, офлайновые приложения, но с возможностью обмена информацией с внешним миром при помощи широкого спектра средств интеграции, предоставляемого платформой: Web- и HTTP-сервисы, электронная почта и т.д.
Мобильная платформа была достаточно хорошо воспринята сообществом, начали появляться различные статьи на эту тему (например, , и ). Для того, чтобы разработать полнофункциональное приложение, работающее одновременно на подавляющем большинстве мобильных устройств, теперь требовалось минимальное время и знания, принципиально не отличающиеся от знаний «обычного» прикладного разработчика на платформе «1С:Предприятие». Безусловно, такой низкий порог вхождения привлекает разработчиков, которым надо «малой кровью» обеспечить некоторой базовой функциональностью сотрудников, работающих на выезде, начальство, да и прочих мобильных сотрудников, которым требуется работа с корпоративной системой.
Начать разрабатывать мобильное приложение на платформе «1С:Предприятие» просто. В Конфигураторе нужно установить у конфигурации свойство «Назначение использования» в значение «Мобильное устройство». При этом часть прикладных объектов конфигурации станет недоступна (планы видов характеристик, планы счетов и т.д.), но станут доступны специфичные для мобильных приложений свойства (например, встроенные средства мультимедиа и геопозиционирования мобильного устройства и т.п.).
При этом отлаживать основные алгоритмы приложения (не связанные непосредственно с мобильной спецификой) можно непосредственно в Конфигураторе на компьютере разработчика. При этом участки кода, в которых происходит обращение к «мобильной» функциональности, рекомендуется обрамлять соответствующими инструкциями препроцессору, чтобы избежать ошибки при выполнении кода на персональном компьютере:
#Если МобильноеПриложениеКлиент Тогда Данные = ГеопозиционированиеСервер.ПолучитьИмяПровайдера(); #КонецЕсли
Начиная с версии мобильной платформы 8.3.7 стала доступна и отладка приложения непосредственно на мобильном устройстве (подробнее об этом ниже).
Разработка на мобильной платформе может следовать различным подходам, но можно выделить несколько основных моментов. С точки зрения построения собственно мобильного приложения, его функциональной насыщенности и роли в ИТ инфраструктуре предприятия:

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

Две вышеописанные ситуации можно считать крайними вариантами. Но это не единственные варианты разработки. Прикладной разработчик может самостоятельно выбирать возможности интеграции между мобильным приложением и той информационной системой, которая выступает бэк-офисом для него.
Мобильное приложение разрабатывается как полностью автономная конфигурация, но может разделять часть исходного текста с «родительской» конфигурацией. Кстати, «родительская» конфигурация может физически не существовать (например, если вы разрабатываете некое универсальное приложение, которое может работать с разными системами по универсальному протоколу).

Устройство мобильной платформы

Что же представляет собой мобильная платформа и что она умеет?
Справедливости ради, мобильная платформа — это всего один из компонентов всего комплекса, благодаря которому «1С:Предприятие 8» работает на мобильных устройствах. Итак, прикладной разработчик оперирует следующими компонентами:

  1. Собственно мобильная платформа — мобильная часть фреймворка «1С:Предприятие». Она бывает обычной (которая используется во время сборки приложения для публикации в магазине приложений) и мобильной платформой разработчика, которая используется (сюрприз) во время разработки мобильного приложения.
  2. Мобильная конфигурация — это конфигурация системы программ «1С:Предприятие», записанная в виде XML-файла.
  3. Комбинация мобильной платформы и мобильной конфигурации дает мобильное приложение.
  4. Сборщик мобильных приложений — специализированное прикладное решение, которое умеет сделать из мобильной платформы, конфигурации, заставок, иконок и прочих компонентов, готовый файл мобильного приложения, который можно загрузить в магазины Apple AppStore, Google Play, Windows Phone Apps / Windows Apps.

Почему все так сложно? Почему нельзя сделать на мобильном устройстве точно так, как это сделано в большой платформе? Т.е. ставить на устройство одну мобильную платформу и загружать в нее любое количество конфигураций/приложений? Это запрещают делать лицензионные ограничения на приложения, которые распространяются через магазины приложений. Например, если ваше приложение будет загружать исполняемый код (в виде скрипта) через Интернет, то оно никогда не появится в магазине приложений Apple. Следует, однако, понимать, что возможности по загрузке любой конфигурации, которые есть в мобильной платформе разработчика, не предназначены для дистрибуции мобильных приложений даже внутри одной компании, не говоря уже о дистрибуции клиентам разработчика.
После того, как мобильное приложение оказывается на целевом мобильном устройстве, возникает необходимость использовать какую-то базу данных (данные надо где-то хранить). В качестве движка базы данных мобильная платформа использует собственный движок базы данных, который портирован на мобильную платформу из платформы для персонального компьютера. Он компактен и достаточно быстр, но главное — он обеспечивает ровно такое же поведение, к которому привыкли прикладные разработчики, работая на платформе для персональных компьютеров.
Также стоит отметить, что внутри себя мобильное приложение построено по той же схеме, что и работа обычной платформы с файловым вариантом информационной базы: есть клиентская часть, есть серверная часть, есть база данных и есть клиент-серверное взаимодействие.
Собственно мобильная платформа написана как native-приложение, компилируется в двоичный код под основные процессорные архитектуры, используемые сейчас в мобильном мире: это архитектура ARM v5 и выше и x86.
Кроме того, для взаимодействия с теми или иными возможностями мобильного устройства (телефония, GPS, работа со встроенной камерой и т.п.) могут требоваться специальные разрешения. Для iOS они задаются непосредственно в процессе работы самого приложения, а для Android разрешения указываются при создании приложения. Требуемые разрешения указываются при разработке мобильного приложения и используются сборщиком мобильных приложений, но о сборщике — чуть позже.

Немного о платформе разработчика

Пока мы ведем разработку мобильного приложения – мы не связаны лицензионными ограничениями, налагаемыми на мобильные приложения, распространяемые через магазины приложений. А значит, мы можем использовать мобильную платформу 1С так же, как используем «большую» платформу на персональном компьютере – установить саму мобильную платформу на смартфон/планшет и подгружать в нее конфигурации мобильных приложений. После запуска платформа покажет нам список зарегистрированных в ней приложений:
Чтобы добавить новое приложение в платформу, нужно разместить XML-файл с его описанием на ресурсе, доступном с мобильного устройства по протоколу HTTP. Удобнее всего сделать это из Конфигуратора, через меню «Конфигурация \ Мобильное приложение \ Публиковать». При этом XML-файл с конфигурацией приложения размещается на веб-сервере на компьютере разработчика (соответственно на этом компьютере должен быть веб-сервер – IIS или Apache).
Если для приложения указать опцию «Перезапуск из конфигуратора», то приложение на мобильном устройстве будет автоматически обновляться с компьютера разработчика каждый раз, когда разработчик обновит размещенный на веб-сервере XML файл конфигурации.
При включенной опции «Отладка разрешена» возможна пошаговая отладка приложения на мобильном устройстве из Конфигуратора на компьютере разработчика (в Конфигураторе должна быть выбрана опция «Отладка по протоколу HTTP» в меню «Сервис \ Параметры»). Если в Конфигураторе поставить в коде точки останова и выбрать команду «Мобильное приложение – начать отладку», то мобильное приложение на устройстве остановится, когда исполняемый код дойдет до точки останова, и в Конфигураторе можно будет посмотреть значения переменных, стек вызовов и т.д.

Что умеет?

Итак, что умеет мобильная платформа? Достаточно много 🙂
Если не оперировать специфическими терминами «1С:Предприятия», то мобильная платформа предоставляет возможность работать с нормативно-справочной информацией, оформлять документы, описывающие какие-то внешние действия, просматривать отчеты, связываться с внешним миром с помощью интернет-сервисов и многое другое. Т.е. она предоставляет прикладному разработчику возможность написать достаточно функциональное приложение, например, программу учета домашних финансов, программу для выездной торговли и тому подобное.
Но кроме обычной функциональности, которая есть на платформе для персонального компьютера, мобильная платформа должна обеспечивать работу со специфическими возможностями, которые присущи только мобильным устройствам:

  • работа со звонками и журналом звонков;
  • работа с короткими сообщениями (SMS) и их списком;
  • контакты;
  • календари;
  • геопозиционирование (без прокладки маршрутов);
  • позволяет делать фотоснимки, а также осуществлять видео- и аудиозапись;
  • реагировать на изменение ориентации экрана;
  • работать с уведомлениями (локальными и PUSH, как напрямую, так и через специальный сервис-посредник);
  • сканировать штрих- и QR-коды с помощью камеры
  • Монетизация мобильных приложений (т.е. способ дать разработчику мобильных приложений возможности для дополнительного заработка):
    • Работа с сервисами покупок Apple In-App Purchase (для ОС iOS) и Google Play In-App Billing (для ОС Android), с помощью которых можно организовывать в мобильном приложении различного рода подписки, покупки функциональности и т.д
    • Показ рекламы в мобильных приложениях (пока поддерживаются сервисы iAd для ОС iOS и AdMob для ОС Android).
  • и т.д.

Понятно, что какие-то возможности могут быть недоступны на каждом конкретном устройстве, поэтому для определения того, что можно делать на том устройстве, на котором исполняется мобильное приложение, предусмотрены специальные методы, которые позволяют узнать, доступна на данном устройстве, например, возможность набора номера или нет. Таким образом, реализуется примерно такая схема использования: проверяем, можно использовать какую-то возможность или нельзя и если можно — используем:
Если СредстваТелефонии.ПоддерживаетсяНаборНомера() Тогда СредстваТелефонии.НабратьНомер(НомерТелефона, ВызватьСразу); КонецЕсли;
Спрятать от прикладного разработчика подробности об используемой мобильной ОС, предоставить ему унифицированные механизмы для использования мобильной функциональности – важная задача для нас. Мы считаем, что задача нами успешно решается. Различия в реализуемых механизмах или отсутствуют или сведены к минимуму. Кроме, конечно, случаев, когда функциональности в одной из ОС нет совсем.
Например, техника работа с PUSH-уведомлениями сильно отличается у Google и Apple. Мы приложили немало усилий, чтобы унифицировать механизм работы с PUSH-уведомлениями из прикладного кода. В случае мобильного приложения нам это удалось почти на 100%: один и тот же прикладной код на мобильном устройстве обрабатывает прием PUSH-уведомлений и на iOS, и на Android. И код рассылки PUSH-уведомлений в серверном приложении также выглядит одинаково. Но чтобы добиться такой унификации, нам пришлось разработать специальный сервер-прокси https://pushnotifications.1c.com/, который скрывает от разработчика разную технику работы с сервисами Apple Push Notification Service (APNS) и Google Cloud Messaging (GCM). Вся разница заключается в разных настройках непосредственно на сайте-прокси https://pushnotifications.1c.com/; для работы c APNS на сайт нужно загрузить SSL-сертификат (который Apple выдает для приложения по заявке разработчика), для работы с GCM – указать уникальный идентификатор приложения.
Очевидно, что сразу невозможно реализовать все возможности, которые вы хотите иметь в мобильном приложении. И всегда приходится искать компромисс между несколькими очень полезными вещами. И если вам чего-то не хватает — пишите нам о том, какие бизнес-задачи (ведь платформа — это в первую очередь инструмент по реализации бизнес-задач!) у вас не получается решить и какой механизм помог бы вам для этого.

Как выглядит?

Графический интерфейс мобильной платформы – отдельная тема. В 1С:Предприятии, как известно, интерфейс описывается декларативно. Это, с одной стороны, накладывает некоторые ограничения на разработку UI (например, отсутствует возможность попиксельного позиционирования), но, с другой стороны, позволяет платформе единообразно отрисовывать интерфейс на экранах разного размера, в тонком и веб-клиенте. Этого же принципа мы старались придерживаться и в мобильной платформе. Насколько хорошо нам это удалось? Попробуем разобраться.
В первых версиях мобильной платформы (до 8.3.5 включительно) графический интерфейс приложений выглядел весьма привычно для искушенных пользователей 1С; фактически он переносил знакомый по «десктопным» версиям 1С интерфейс в мобильный мир. Но с точки зрения пользователей, ранее с 1С не знакомых, интерфейс выглядел несколько архаичным.
Учтя замечания и пожелания, мы коренным образом пересмотрели свой подход к мобильному интерфейсу в версии 8.3.6. Можно сказать, что мы сделали совершенно новый мобильный интерфейс для наших приложений. Он имеет много общего с нашим интерфейсом «Такси». Модель разработки для разработчиков мобильных приложений соответствует модели разработки в «Такси». При этом мобильный интерфейс полностью соответствует принятым в мобильных приложениях подходам к дизайну и UX. Интерфейс полностью учитывает специфику мобильного мира: небольшой размер экрана (а значит, оформление графических элементов должно стать более аскетичным – без теней, градиентов), есть поддержка пальцевых жестов и т.д. Интересный факт: новый механизм платформы, отвечающий за размещение элементов в форме (layouter) оказался настолько удачным и своевременным для мобильной платформы, что был выпущен в ней раньше (в версии 8.3.6) чем в платформе для ПК (в версии 8.3.7), для которой он в первую очередь предназначался.
На картинке можно увидеть, как поменялся наш интерфейс.
Приложение «Управление небольшой фирмой» на версии мобильной платформы 8.3.5:
Оно же на версии 8.3.6:
А вот так выглядит интерфейс мобильной платформы вживую:

Сборщик — и что это за зверь?

Как уже было сказано ранее, мобильное приложение состоит из нескольких компонентов (собственно мобильная платформа, конфигурация, различные ресурсы), которые должны представлять собой единое целое для помещения приложения в магазин. Чтобы облегчить превращение компонентов в приложение, был разработан сборщик мобильных приложений. Это конфигурация (приложение), созданная на платформе «1С:Предприятие», которая хранит в своей базе данных все компоненты, необходимые для формирования мобильного приложения. Для того чтобы сборщик выполнял свою работу, нужно скачать и установить различные программные пакеты, которые нужны для его работы (Java и Android SDK и т.п.), затем указать пути к этим пакетам в настройках сборщика и задать некоторые дополнительные параметры (ключи разработчиков и т.д.).
После настройки сборщик готов к работе. В общем случае работа со сборщиком выглядит следующим образом:

  1. Загружаем версию мобильной платформы 1С, на которой будем собирать приложение
  2. Загружаем конфигурацию, из которой будем собирать мобильное приложение
  3. Создаем мобильное приложение, в котором указываем, для каких платформ (Android, iOS, Windows) надо выполнять сборку, какую конфигурацию и платформу следует использовать (в частности, указать, какой сертификат для сборки под iOS использовать в случае, если приложение работает с PUSH-уведомлениями).
  4. Выполняем «одним кликом» сборку мобильного приложения под все выбранные платформы
  5. «Другим кликом» отправляем собранные мобильные приложения в магазины приложений (если это приложение для iOS или Android). В магазины Windows Apps / Windows Phone Apps приложение нужно загружать вручную, т.к. Microsoft пока не предоставляет API для размещения приложения в магазине.

Следует отдельно отметить, что сборщик не нужен для разработки и отладки мобильного приложения. Для этого можно использовать мобильную платформу разработчика и средства Конфигуратора для передачи конфигурации на мобильное устройство. А вот для распространения мобильного приложения — нужен сборщик.

Приложения на мобильной платформе

Сама фирма «1С» выпускает на мобильной платформе ряд приложений, являющихся мобильными клиентами серверных приложений 1С (1С:Документооборот, 1С:Управление Небольшой Фирмой и т.д.). Эти приложения реализуют некоторое подмножество функциональности «обычных» клиентов. В случае мобильной версии «1С:Управление Небольшой Фирмой» функциональности достаточно для полноценного использования программы, и мы часто видели ситуацию, когда клиентам для ведения бизнеса достаточно мобильной версии приложения.
Наши партнеры используют мобильную платформу как для разработки тиражных мобильных приложений, распространяемых через магазины приложений, так и для заказных приложений, созданных по запросам конкретных клиентов. Среди тиражных приложений встречаются приложения, которые используют не 1С-ный back-end в качестве центрального хранилища данных.
Среди мобильных приложений, созданных по заказу клиентов, можно упомянуть мобильный клиент для «1С:Управления Производственным Предприятием», созданный по заказу крупного машиностроительного холдинга. Около ста сотрудников холдинга используют мобильное приложение в горячих цехах, где по соображениям техники безопасности поставить стационарные компьютеры невозможно. Встроенная камера мобильного устройства используется для чтения штрих-кодов изделий и поиска их в справочнике номенклатур, мобильное приложение позволяет понять, на каком этапе технологической цепочки находится данное изделие, отметить прохождение изделием очередной операции и т.п.

Заключение

Мы постарались очень поверхностно описать мобильную платформу, то, что она позволяет делать и почему она получилась такой, какой получилась. В данной статье практически ничего не сказано про мобильную Windows. На то есть несколько причин: во-первых, версия мобильной платформы под Windows вышла сравнительно недавно («1С:Предприятие» версии 8.3.7), во-вторых эта версия мобильной платформы не обладает какими-то существенными отличиями от реализации для других мобильных ОС. Естественно, что функциональность для ОС Windows мы будем наращивать. Равно как и наращивать функциональность мобильной платформы в целом. Так, в ближайших планах у нас – поддержка в мобильной платформе внешних компонентов; этот механизм (давно доступный в «большой» платформе), позволит разработчикам реализовать функциональность, недоступную в силу каких-либо причин в мобильной платформе.
Традиционно сильными сторонами технологической платформы «1С:Предприятие» являются легкость в освоении для разработчика и быстрота создания и модификации бизнес-приложений. Мобильная платформа 1С перенесла оба этих козыря в мобильный мир. Мобильная платформа 1С – это возможность быстро разработать приложение, работающее на трех самых массовых мобильных платформах (iOS, Android, Windows Phone / 8.1 / 10). А благодаря широкому спектру доступных платформенно-независимых средств интеграции (Web- и HTTP-сервисы и т.д.) мобильная платформа 1С — это возможность быстро создать мобильный клиент под три мобильные платформы для практически любого серверного приложения, поддерживающего любой из способов интеграции, доступных в платформе 1С (Web- и HTTP-сервисы, файловый обмен и т.д).

Вот мы и подобрались к 1С: Предприятие в виде мобильного приложения — небольшой обзор на мобильное приложение изнутри.

Мобильное приложение представляет собой самодостаточное приложение со своей собственной базой данных для работы с пользовательской информацией. На данный момент, мобильные приложение от 1С могут работать на трех самых популярных платформах — Android, Apple iOS, и Windows.

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

Конфигурировать и программировать само мобильное приложение можно только в полноценном режиме Конфигуратора, а затем собирать его с помощью специальной конфигурации Сборщик мобильных приложений.
Это огромный плюс, так как разработку мобильного приложения может вести разработчик 1С конфигураций, который сопровождает Вашу программу 1С: Предприятие.
Конечно, мобильное приложение обладает меньшими возможностями, чем десктопная платформа: например, отсутствуют такие объекты как Отчеты, Регистры бухгалтерии, Бизнес-процессы.

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

Зато есть функционал для использования мобильных достоинств: при разработке мобильного приложения можно использовать Контактную книгу, совершать вызов из приложения через подсистему «Телефония», получить данные о местонахождении через Геопозиционирование.

Вы спросите: «Как же работать с обычной базой на 1С? Зачем такое приложение вообще нужно?»

Для связи с «внешним миром»существует несколько механизмов, например Планы обмена. Они позволяют связать полноценную базу 1С и базу мобильного приложения — примерно также, как работают распределенные базы данных.

Мобильное приложение должно выполнять функцию мобильного приложения и соответствующий функционал, поэтому полностью все данные из одной базы в другую не синхронизируются, да и не смогли бы из-за объектного ограничения, описанного выше.
Такая реализация обмена доступна, например, в связке программ 1С: Предприятие 8 Управление Торговлей ред.11 и мобильное приложение «1С:Заказы». Базы обмениваются информацией о контрагентах, заказах покупателей товарным ассортиментом и ценами. При этом мобильное приложение может работать оффлайн, а при доступности сети Интернет производить обмен данными.
Мобильное приложение выглядит достойно, есть визуальный узнаваемый стиль по сравнению с десктопной версией 1С, а также набор стандартных операций производимый с объектами, типа: «Провести», «Пометить на удаление» и тому подобные. Поэтому пользователям мобильного приложения будет знаком контекст работы.

Вот так выглядит интерфейс приложения в последних версиях:

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

По простому: с мобильного приложения в режиме онлайн можно обратиться к учетной системе 1С: Предприятие 8, выполнить какую-либо функцию, описанную в сервисе — например, получить данные по отчету или завести нового контрагента

Подробнее:

Сервис может передавать данные в формате, описанном в XDTO пакете, причем сам разработчик описывает эту модель данных. Можно передавать примитивные типы: числа, строки, даты. Можно передавать составные типы, можно передавать бинарные данные — например, картинки, или документы PDF, XLS. Мы покажем простой пример, где описан пакет с задачами — номер задачи и заголовок. Пример того, как выглядит пакет:

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

Все готово! В мобильном приложении теперь можно вызывать функцию сервиса 1С: Предприятие 8 или получать необходимые данные.

А что с лицензиями на мобильные приложения от 1С?
В информационном письме от фирмы 1С данный вопрос раскрыт. Выдержка приведена ниже.
Наши рекомендации:
Мобильные приложения от 1С — это довольно новый продукт, но в привычной «обертке» — разработку может выполнять штатный специалист по 1С. Они открывают новые горизонты для расширения взаимодействия с учетной системой и консолидация данных для управленческого учета. Рекомендуем использовать этот вариант работы, когда стационарный вариант работы с 1С не подходит и мобильного функционала будет достаточно, например, доступ только к части данных или части какого-либо процесса.

И по традиции, кейс:

Задача:

Заказчик имеет центральный офис и несколько точек в своей торговой сети. На каждой точке несколько продавцов-менеджеров и одно рабочее место продажи товара с учетной программой.

При этом, центральный офис дает поручения продавцам — например, собрать заказ для другой точки из своих остатков или разукомплектовать указанный товар.

Для постановки задач Заказчик сначала использовал электронную почту и телефонные звонки, но — автоматизированное рабочее место одно и оперативно получать задачи и реагировать на них работники не могли. Центральный офис имел трудности в контроле таких задач, так как при постановке по телефону задача нигде не записывалась, а пересматривать почту на предмет невыполненных задач было затруднительно.

Решение:

Мы предложили следующее решение. Разработать необходимый функционал для постановки задач сотрудникам на базе мобильного приложения «1С: Заказы» и интегрировать его с центральной учетной системой.

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

Благодаря тому, что мобильное приложение и центральная учетная система работают в одном информационном пространстве — была достигнута оперативность постановки задач и адресация именно на того сотрудника, кому она предназначалась.

Повысилась точность передачи информации — если раньше по электронной почте менеджер в офисе писал — «подготовить товар по Заказу№ ___», то теперь в задаче он просто указывал ссылку на необходимый заказ, которые работник точки мог открыть на телефоне.

Повысился уровень контроля по задачам — они никуда не пропадали и имели статус, который им устанавливал работник в процессе исполнения задачи. А центральный офис всегда мог проконтролировать поставленную задачу.

Анатолий Никулин

Что такое 1С. О сложной системе простыми словами

Введение

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

Пару слов о моем опыте работы с 1С

В свое время я работал 1С-программистом в крупном проекте, далее занял должность руководителя проекта, был достаточно долго руководителем проектного отдела, который занимался исключительно задачами в 1С.
Обновление от 25.02.2018: Если вы стоите перед выбором 1с для покупки рекомендую статью «Как правильно купить 1с».
Сейчас, как я уже не раз писал, я работаю бизнес-консультантом в сфере малого и среднего бизнеса. Я постоянно сталкиваюсь с различными задачами по автоматизации работы, и, как следствие, с программными продуктами 1С. Чаще всего я в качестве бизнес-консультанта нанимаю специалистов по 1С для решения определенных задач, у меня есть постоянная команда, привлекаю также и сторонних специалистов, в том числе, на фрилансе. В очень редких случаях пишу что-то на 1С и сам, чаще всего, если нужно в срочном порядке решить небольшую задачу.
С другой стороны, я все дальше и дальше ухожу от постоянной работы с продуктами 1С. Если на заре моей карьеры работа с программами 1С приносила мне 100% дохода, то сегодня внедрение каких-то 1С решений занимает в моей работе не более 20%, все остальное – это сайты, это CRM-системы и т.д.
А потому, пока я еще не слишком далеко отошел от вопросов, связанных с программой 1С, я решил систематизировать мои знания, собрать и зафиксировать важные аспекты и нюансы работы с этими программными продуктами

Еще немного об 1С и о том, зачем я это все пишу

Я и сам знаю, что собрался, как говорится, объять необъятное. А потому – еще одно предупреждение:

  1. Я планирую создать целую серию статей об 1С, где расскажу об этом программном продукте с разных точек зрения. Эта статья предназначена, прежде всего, для программистов. А потому я размещаю ее на Хабре. Следующие будут охватывать более широкий спектр понятий, интересных в том числе, бизнесменам и пользователям программных продуктов 1С, а потому они будут размещены на Мегамозге.
  2. Я не буду углубляться в нюансы применения кода, в другие технические подробности, которые каждый из вас может самостоятельно прочитать на официальном сайте 1С, на сайтах поддержки, на известных форумах и пр.
  3. Я не буду обсуждать нюансы работы той или иной версии платформы. Более того, чаще всего я буду говорить о платформе 8.3 как о последней актуальной на момент написания статьи, а также о типовых конфигурациях, которые наиболее востребованы у моих клиентов (средний и малый бизнес).

При этом я хочу не просто помочь веб-программисту или другому специалисту понять, где искать нужный фрагмент кода, я хочу помочь разобраться с тем, что это такое – 1С.
Сегодня компания 1С своими силами внесла такое количество путаницы в описания продуктов, в требования к уровню специалистов, которые будут настраивать систему, в выбор платформы, конфигурации, плагинов, надстроек, версий и прочее, прочее, что система 1С лично мне начинает напоминать старый сериал «Спрут». Если кто-то еще помнит, то в этом фильме комиссар боролся с преступной группировкой, часть которой являлась банковская группа. И эта банковская система была настолько запутанной, что понять, откуда берутся деньги, куда они уходят, каким образом работает то или иное подразделение и главное зачем, было очень трудно.
В системе 1С усилия по «запутыванию» пользователя, как мне кажется, направлены на одно: не надо ни в чем разбираться, надо просто платить. И многие бизнесмены приходят к тому, что платят и правда, не разбираясь, надо ли им это обновление, требуется ли им этот продукт. Просто платят и все.
Я же попытаюсь распутать «щупальца Спрута» и структурирую общее понимание того, каким образом работает система 1С.
Программистам хочется также напомнить, что любую техническую информацию вы можете найти на сайте 1С. Я на этих нюансах вообще не планирую останавливаться. Писать буду простым языком, насколько это возможно, о принципиальных вопросах.
А если вам нужны какие-то конкретные технические нюансы работы 1С, то вы всегда можете воспользоваться следующими ресурсами:

  1. Сайт 1С и партнерский форум. http://www.1c.ru
  2. Сайт mista.ru
  3. Сайт http://infostart.ru
  4. Другие ресурсы

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

1С как экосистема

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

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

Еще один разрез, в котором можно структурировать работу 1С, — это организационный уровень. И здесь есть 2 части, которые также друг без друга не работают:

  1. Сама компания 1С и ее штат специалистов.
  2. Партнеры 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 сервер, на котором хранится и сама программа, и базы данных. Иногда приложения и базы данных разделяют по разным серверам, но это случаи сложные и достаточно редкие, а потому я останавливаться на них не буду.

Версии 1С для разных платформ

Сегодня вы можете выбрать разные версии программного обеспечения 1С для работы на различных платформах. Здесь также стоит разобраться, что стоит покупать в каком случае.
Итак, существуют версии 1С:

  • для Windows,
  • для Linux.

Для Mac OS на момент написания статьи версии не разработано.
Программу 1С, которая работает под Windows, разрабатывали с самого начала, это мощный привычный всем инструмент, который достаточно доработан, чтобы пользоваться им без особых проблем. Версия под Linux на сегодняшний день считается еще новой, а потому достаточно «сырой», в ней пока еще имеется очень много ошибок, как и в любом новом программном продукте.
Предприниматели и любые представители бизнеса – люди достаточно консервативные, им важней всего – стабильная надежная работа. Чаще всего бизнесу не столь важна высокая скорость работы или огромный перечень возможностей, сколько требуется просто стабильная работа. Кроме того, Linux на сегодня не слишком востребован в отечественном бизнесе. А потому с этой версией сталкиваться приходится очень редко.

Компонентная база 1С

Компонентная база 1С очень обширна, в ней заложено огромное число возможностей, при этом 1С постоянно дробит и добавляет функции. Т.е. в случае, когда разработчикам 1С требуется создать что-то новое, они практически всегда создают новый вид объекта. Например, когда потребовались web-сервисы, разработчики не стали делать какой-то плагин, а просто ввели понятие: web-сервис. Аналогично для многих бизнес-процессов в компании 1С чаще всего создают новый компонент даже в тех случаях, когда можно было бы просто доработать существующий.
Что можно сказать о компонентах платформы 1С:

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

При выборе компонента, с которым вы будете работать, всегда нужно обращать внимание на то, когда он был добавлен. У профессиональных программистов 1С есть такое правило: при добавлении разработчиками новой функции по возможности обходить ее стороной, пока не пройдет достаточное количество времени. Т.е. они выжидают, пока компонент не пройдет тестирование на практике, будут выявлены и исправлены основные «баги», и только потом начинают с ним активно работать.
Одна из составляющих негативной репутации 1С – это практика компании постоянно добавлять новые неоттестированные решения. При том, что зачастую уже внедренные компоненты работают слабо, в них еще не исправлены ошибки, а разработчики уже добавляют что-то новое. Это могут быть не только компоненты, это могут быть новые функции для существующих объектов, новые методы и т.д. С этой проблемой – постоянным наличие «сырого» софта, постоянным «багами» и постоянными их исправлениями – будут сталкиваться все программисты, которые работают с 1С.
Пользователи также могут столкнуться с этой проблемой – ошибками и нестабильной работой программного обеспечения при работе с платформой. Есть определенный набор функций по обслуживанию 1С, которые может выполнять пользователь. Для этого имеется пользовательский интерфейс платформы. И здесь стоит вернуться к разным версиям интерфейса пользователя.
Платформа 1С состоит из множества различных компонентов, которые постоянно добавляются, расширяя возможности этого продукта. Помимо документов, справочников, различных регистров, здесь также предусмотрены разные компоненты для ввода/вывода информации, т.е. пользовательские интерфейсы.
По этому признаку можно выбрать:

  1. Нативный 1С-клиент. Это традиционный программный интерфейс, когда к 1С идет обращение из 1С.
  2. Работу через браузер.
  3. Работу через мобильное приложение.

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

Нативный клиент

Нативный клиент также делится на серию подклиентов, что вносит в вопрос выбора программного обеспечения дополнительный хаос. Здесь самое главное – это выбрать «толстый» или «тонкий» вариант клиента. На первый взгляд, выбор здесь не критичный, особенно для программиста. На самом деле, при работе с конфигурацией через интерфейс могут возникать проблемы из-за ошибок выбора.
В чем разница между этими подклиентами?
«Толстому» требуется широкий (толстый) канал связи, «тонкому» хватает минимума. Подавляющее большинство моих заказчиков пользуются «толстым» клиентом, так как локальные или интернет-каналы сейчас у всех хорошие, проблем с их «шириной» не возникает. С другой стороны, «тонкий» клиент имеет определенные ограничения в работе, есть вещи, которые в нем сделать невозможно.

Web-клиент (работа через браузер)

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

Мобильная версия

Этот вариант клиента от 1С появился сравнительно недавно и пока что особым спросом не пользуется. Причины такого отношения:

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

Мобильная версия должна сочетать в себе очень много всего, здесь требуется работа нескольких специалистов, которые будут работать вместе и помогать друг другу:

  • Настройка доступа к базе данных извне;
  • Решение вопросов безопасности;
  • Настройка сервера для работы с мобильными приложениями;
  • Настройка программных продуктов 1С;
  • Настройка web-приложений (по необходимости).

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

Платформа 1С: резюме

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

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

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

Конфигурации

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

  1. Типовые – написанные компанией 1С. Они все присутствуют на сайте 1С.
  2. Нетиповые – написанные компаниями-партнерами.

На уровне пользователя эти два типа различаются следующим образом:

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

Может быть, вы помните забавный мультфильм «Трое из Простоквашино»? Там мальчик дядя Федор писал письмо родителям, но не дописал, отвлекся, и за него дописывали по очереди друзья: кот и пес. И каждый из них рассказывал о своих проблемах. В результате родители мальчика с удивлением узнали, что у него «то лапы ломит, то хвост отваливается». Вот по такому принципу очень часто пишут нетиповые конфигурации.
Отсутствие преемственности при написании нетиповых конфигураций, а часто и достаточно подробной документации, приводят к тому, что по всем вопросам внедрения и доработок придется обращаться в компанию, которая разработала эту конфигурацию.
Нетиповые конфигурации также бывают двух видов:

  1. Написанные на основе типовых. Эти конфигурации создаются путем добавления функционала к какой-то типовой. Например, существует такой продукт, как 1С: Управление торговлей и CRM. Здесь совместили типовую конфигурацию Управление торговли и систему CRM. Интересно, что создатели конфигурации компания Рарус, называют именно Управление торговли подсистемой, хотя на самом деле – это была та основа, на которой писалась вся конфигурация.
    &nbsp&nbsp&nbspПлюсы таких конфигураций – они более функциональны в сравнении с типовыми, в них добавлены часто очень нужные возможности.
    &nbsp&nbsp&nbspМинусы – разработчики этих конфигураций часто не успевают создавать своевременно свои обновления. Таким образом, очень может быть, что компания 1С уже выложила свои варианты обновлений, а пользователю нетипового решения придется ждать какое-то время, пока разработчик создаст аналогичное обновление для конкретного решения. Кроме того, подобные доработки также бывают достаточно «сырыми», в них может быть много ошибок.
    &nbsp&nbsp&nbsp
  2. Конфигурации, написанные с нуля. При их создании типовые конфигурации не используются вообще, решения пишутся для определенных задач.
    &nbsp&nbsp&nbspПлюсы: конфигурация написала точно под нужны заказчика, здесь есть все необходимое и почти ничего лишнего.
    &nbsp&nbsp&nbspМинусы: обычно при написании подобных решений стандарты кода не соблюдаются, дорабатывать подобные программные продукты очень сложно, чаще всего, это может сделать достаточно быстро только автор.

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

Резюме

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

Оставьте комментарий