1С:Предприятие - платформа разработки бизнес-приложений

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

Андрей Колесов

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


В этом окне видны все обЪекты, доступные разработчику

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

Создание платформы

Сегодня широкий круг приложений имеет внутренние механизмы программирования, которые можно условно разделить на два типа:
1) механизмы, действующие в рамках базовых функций конкретного приложения (таковым, например, был в свое время WordBasic, изначально учитывающий специфику Word);
2) механизмы, позволяющие создавать эти базовые функции и разрабатывать приложения с принципиально новыми возможностями (то, что сейчас сделано в MS Office).
Средства адаптации ПО к задачам конкретного пользователя появились уже в самых первых версиях бухгалтерских программ "1С". В 1996 г. фирма выпустила "1С:Торговлю". Она была реализована на новой технологической платформе V7, которая сегодня известна под торговой маркой "1С:Предприятие". Этот инструментарий можно смело отнести к средствам разработки второго типа.
Описывая данную платформу разработки приложений, интересно сравнить ее с подобными средствами. Но нужно подчеркнуть, что, в отличие от универсальных систем быстрой разработки типа VB и Delphi, платформа "1С:Предприятие" - специализированное средство создания приложений для решения экономических задач. По-видимому, более близким ориентиром для сравнения являются пакеты семейства MS Office.
Кроме того, выпуская собственный инструментарий, разработчики "1С" учитывали особенности не только предметной области, но также и российской действительности (не очень высокий уровень затрат на ИТ, длительный этап перехода от ручных методов к автоматизированным и пр.).
Далее я буду проводить некоторые аналогии с VB и Office/VBA, но не с точки зрения оценки лучше - хуже, а просто чтобы на фоне этих широко известных систем была более понятна логика работы платформы "1С:Предприятие".

Проблемы роста

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


"Конфигуратор" - среда разработки приложения

Говоря о смещении акцентов в стратегии развития технологий "1С", следует сделать несколько важных уточнений. Компания по-прежнему считает ключевой составляющей своего бизнеса именно поставку готовых решений для конечных пользователей и не рассматривает (по крайней мере пока) инструментарий в качестве самостоятельного продукта. В этой связи "1С:Предприятие" сегодня позиционируется как "полнофункциональное готовое решение с гибким инструментом настройки". Но нужно подчеркнуть, что такое совмещение определяется в первую очередь маркетинговыми, а не технологическими вопросами.
Как ни странно, но одна из проблем смены позиционирования системы "1С:Предприятия" заключается в необходимости корректировки используемой в ней терминологии. "1С:Предприятие" сейчас означает несколько понятий, различаемых только в конкретном контексте, что создает серьезную путаницу: во-первых, это название коробочного продукта, во-вторых, наименование программы, с которой работает конечный пользователь, в-третьих, средство разработки, в-четвертых, название технологической базы.
В то же время язык программирования платформы до сих пор не имеет наименования. Поэтому в описании приходится использовать длинный термин "встроенный язык '1С:Предприятие'" - согласитесь, что VB или Java читается проще. (Разработчики "1С" обЪясняют отсутствие названия тем, что язык является не самостоятельной ценностью, а одним из инструментов настройки "1С:Предприятия".)
Другой аспект этой же проблемы - некоторое несоответствие внутренней терминологии "1С" и общепринятой в среде разработчиков (это будет показано ниже). Конечно, тут большую роль играет наследуемый информационный ресурс, однако при планировании расширения сферы применения продуктов желательно устранить подобные расхождения.

Общая логика работы системы

В общем случае функционирование системы "1С:Предприятие" определяется взаимодействием трех ее ключевых составляющих частей:
  1. приложения "1С:Предприятие" (название то же, но суть уже другая) - программная среда для макропрограммы, называемой "Конфигурация". Фактически данное приложение - это специализированный интерпретатор, исходный интерфейс которого предназначен для управления режимами трансляции и для запуска минимально необходимого набора функций (в какой-то степени здесь уместна аналогия между средой VB и работающим в этой среде VB-проектом).
  2. макропрограммы "Конфигурация", работающей в среде "1С:Предприятие" и полностью определяющей функциональность решаемых пользователем задач (в том числе и настройку интерфейса). Физически "Конфигурация" хранится в виде специального файла-контейнера 1cv7.md. Конфигурация тренировочной системы "Учет основных средств", создаваемой в течение пяти дней слушателями учебных курсов, имеет обЪем около 350 Кб. Комплексная конфигурация, поставляемая "1С" ("Бухгалтерия", "Зарплата и Кадры", "Торговый и складской учет"), - почти 9 Мб.
    Пользователь может применять несколько конфигураций для решения своих задач. Соответственно каждая конфигурация может работать с несколькими базами данных (это позволяет, например, с помощью одной "Бухгалтерии" обрабатывать данные разных организаций).
  3. приложения "Конфигуратор" - основной среды разработки конфигурации (пользовательской программы). Кроме нее в состав пакета входят еще программы для отладки конфигураций.



Приложение "Адресная книга" можно создать "с нуля" за несколько минут

Итак, в общем случае владелец пакета "1С:Предприятие" может использовать готовые конфигурации, поставляемые "1С" или ее партнерами, модернизировать их (с учетом вопросов лицензирования и технической поддержки) или создавать собственные. Вместе с тем существует довольно большой набор продуктов "1С", в которых возможности модернизации программных компонентов пользователем ограничены. Например, известный пакет "1С:Деньги" - вариант "1С:Предприятия" с фиксированной конфигурацией и без программы "Конфигуратор".
Отметим некоторые особенности разработки приложений в системе "1С:Предприятие".
  1. В данном случае, в отличие от известных систем RAD и MS Office/VBA, физически разнесены среды написания программы и ее исполнения. Очевидно, что это экономит ресурсы, но несколько замедляет процедуру отладки (при каждом тестовом запуске происходит загрузка среды исполнения).
  2. Лицензионная политика фирмы "1С" подразумевает комплексную поставку всех трех программных составляющих. В частности, пользователь не может купить только инструментальные средства без какой-то конфигурации. И он не может создавать с помощью пакета автономные тиражируемые приложения - новые конфигурации будут работать лишь в среде "1С:Предприятия". В данном случае имеется полная аналогия с приложениями MS Office.
  3. Очень любопытно реализована процедура компиляции и исполнения кода конфигурации. Программные модули хранятся в конфигурации в виде исходного текста, и компиляция каждого из них выполняется в момент первого обращения, после чего его скомпилированный код сохраняется в оперативной памяти. Таким образом компиляция программ происходит каждый раз при запуске приложения, но благодаря распределенной схеме трансляции эта операция проходит практически незаметно для пользователя, тем более что структура языка реализует схему однопроходной трансляции, повышающую скорость преобразования кода. Отрицательным моментом используемой модели "позднего связывания" является невозможность проверки связей на уровне синтаксического контроля.


Разработка конфигурации

Разработчик может создавать свой вариант конфигурации либо на основе уже существующего варианта, либо, как говорится, "с нуля". Если выбрать второй подход, запустить программу "Конфигуратор" и открыть главное окно "Конфигурация", то в нем появятся три вкладки, которые отражают взаимосвязанные составные части конфигурации:
  • структура метаданных;
  • набор пользовательских интерфейсов;
  • набор прав пользователя.

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


Состав библиотек и обЪектов системы "1С:Предприятие"

Например, обЪект "Справочник" предназначен для ведения любых списков однородных данных: справочников, картотек и пр. По содержанию подобный обЪект в какой-то степени соответствует понятию "Таблица" в таких базах данных, как Access, FoxPro и пр. Однако в этом случае разработчик фактически вообще не имеет дела с понятием "база данных" - все вопросы хранения информации, в том числе создания и коррекции файлов, решаются самим обЪектом.
Таким образом, все обЪекты "1С: Предприятия" принимают на себя как функции сохранения данных на внешних носителях, так и визуального представления информации в виде экранных диалогов (форм с набором визуальных элементов управления) и печатных документов. Кроме того, большинство обЪектов в качестве своего компонента включают модуль формы, содержащий программный код для выполнения нестандартных операций при работе с обЪектом.
Однако то, что появляется в окне "Конфигурация" в начальный момент, - всего лишь список доступных типов обЪектов. (Если проводить сравнение с VB - это панель инструментов, которые можно использовать для разработки приложения.) На их основе затем создаются реальные обЪекты с набором конкретных параметров.
Все обЪекты "1С:Предприятия" обЪединены в несколько групп (см. таблицу). Базовые обЪекты используются во всех версиях системы, и с их помощью можно делать законченные приложения для решения достаточно широкого круга задач (например, только с их применением слушатели пятидневных учебных курсов создают довольно сложную систему учета основных средств). Остальные обЪекты представлены в виде нескольких библиотек для определенных предметных областей: "Бухгалтерский учет", "Оперативный учет", "Расчет". Разработчику доступны те библиотеки, которые входят в состав приобретенного им варианта продукта.
Функциональная настройка обЪектов, а также их обЪединение в законченную конфигурацию выполняются с помощью встроенного языка (к сожалению, пока не имеющего названия). В его основе лежит упрощенный вариант синтаксиса Pascal, но при этом его авторы предусмотрели два способа использования ключевых слов - на русском и на английском языке, а также в смешанном виде.

Завершая краткий обзор

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

Комментарии

1
  • Хранитель_врат
    Я согласен, с автором статьи, что "в данном случае мы имеем дело с глубоко продуманной и хорошо реализованной технологией, обладающей большим потенциалом развития".
    Это так.
Банки

Центробанк запустил новый сервис, приоткрыв доступ к 49 статистическим показателям

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

Курсы повышения
квалификации

20
Официальное удостоверение с занесением в госреестр Рособрнадзора

IPO-зависимость, или когда уже новые первичные размещения

Господи, как скучно без IPO! На бирже пропал дух авантюризма! Мы перестали делать по 100500 заявок, чтобы получить чуть больше, чем четырёхпроцентную аллокацию. Пошуршал по интернетам и обновил список компаний, которые готовы выйти на IPO в этом году.

IPO-зависимость, или когда уже новые первичные размещения

Президент: оборонка должна быть готова к выпуску гражданской продукции

Предприятия оборонно-промышленного комплекса (ОПК) должны быть готовы в любой момент выпускать продукцию гражданского назначения.

Лучшие спикеры, новый каждый день

Дробление бизнеса. Понятие, основные тенденции и амнистия

Как уже многие слышали, Президент РФ в своем недавнем конституционном Послании Парламенту высказался о проблеме резкого перехода налогоплательщиков, применяющих УСН и другие специальные режимы, на общую систему налогообложения по мере укрупнения бизнеса.

Три новости на Клерке: Ашан, Эвотор и Тот еще разговор

В создании любого продукта должны участвовать люди, которые считают юнит-экономику и отвечают за продукт. Это продакт-менеджеры. Мы это поняли, и поэтому у меня важные продуктовые новости.

Три новости на Клерке: Ашан, Эвотор и Тот еще разговор
1

ФНС разъяснила определение продавцом на УСН размер доходов при удержании МП суммы вознаграждения

Письмо ФНС России № СД-4-3/5416@ от 08.05.2024.

Опытом делятся эксперты-практики, без воды
IT-компании

Для ИТ-компаний введут новое условие сохранения права на льготы

Качество обучения ИТ-специалистов в вузах будут повышать за счет привлечения профильных ИТ-компаний.

Стоит ли перечислять платежи на карту третьего лица: у бухгалтеров разошлись мнения. 💸«Ночной бухгалтер» № 1683

Если ваш исполнитель или сотрудник попросит переводить деньги не на свою карту, а например, жене или вообще постороннему лицу, как вы поступите? Закон не запрещает такие переводы, но практика говорит, что могут возникнуть непредвиденные проблемы. Если дойдет дело до суда, то Фемида может развернуться в любую сторону.

Иллюстрация: Вера Ревина/Клерк.ру
Бесплатно с Отчетность в СФР

Технический сбой в СФР: кто отвечает за несдачу ЕФС-1

Суды поставили точку в принципиальном деле: должен ли страхователь платить штраф за непредставление ЕФС-1, если СФР не уведомил об обновлении сертификатов шифрования.

Технический сбой в СФР: кто отвечает за несдачу ЕФС-1
Проверки ФАС

ФАС назвала свою приоритетную задачу

Контроль ценообразования на социально значимых рынках остается для Федеральной антимонопольной службы приоритетной задачей.

Трудовое право

Роструд ответил на основные вопросы про сезонную работу

По Трудовому кодексу есть особенности регулирования труда работников, занятых на сезонных работах.

Банки

Тинькофф запустил банковскую карту по нормам шариата

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

Миникурсы, текстовые и видеоинструкции для бухгалтеров

Минцифры обозначило 10 задач, которые будет решать

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

Маркетплейсы

На Авито продавцы смогут оставлять отзывы на покупателей

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

Розничная торговля в ЛНР за год выросла на 42%

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

Обзоры новостей

⚡️ Итоги дня: Apple защитит пользователей от укачивания, в Москве перестанут строить маленькие студии, а рак мозга будут лечить во сне

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

3
Банки

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

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

Как ИП на УСН уменьшить налог на страховые взносы в 2024 году

Предприниматели на УСН «доходы» могут уменьшать налог и авансы по нему на страховые взносы. Расскажем, как это сделать в 2024 году.

Как ИП на УСН уменьшить налог на страховые взносы в 2024 году
Криптовалюта

Где купить USDT за рубли: лучшие платформы для обмена usdt на наличные в Москве и СПБ

Сегодня многие ищут способы выгодно купить USDT за рубли, ведь Тезер – самый надежный и популярный стейблкоин в мире, и его курс напрямую привязан к курсу доллара (USD). В России эту монету можно приобрести несколькими способами: через биржи, с помощью P2P-сервисов и офлайн-обменников, которые находятся в крупных городах : Москва(МСК), Санкт-Петербург (СПБ).

Где купить USDT за рубли: лучшие платформы для обмена usdt на наличные в Москве и СПБ

Интересные материалы

Мошенничество

Росфинмониторинг: в агрегатор такси встроили казино

Злоумышленники использовали агрегатор такси и проводили через него незаконные операции, связанные с выигрышами на ставках и в онлайн-казино.