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. Однако ряд архитектурных идей и конкретная реализация отдельных элементов технологии кажутся мне не вполне оптимальными.
Но что бесспорно - в данном случае мы имеем дело с глубоко продуманной и хорошо реализованной технологией, обладающей большим потенциалом развития. Уже то, что при критическом анализе российский инструментарий сравнивается с признанными мировыми лидерами средствами разработки, говорит о многом.

Ещё раз: как продвигать свои посты на «Клерке»

Если вы видите это сообщение, значит продвижение работает.

Ещё раз: как продвигать свои посты на «Клерке»
10

Комментарии

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

💥 Бодрящие скидки на курсы повышения квалификации и профессиональной переподготовки! Ведем запись на первый летний поток

Набираем первый летний поток-2024 на профкурсы. Успейте записаться до 3 июня, чтобы за лето повысить квалификацию и выйти на новый уровень знаний!

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

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

Календарь вебинаров для бухгалтера в июне 2024. Выбирайте и смотрите!

Будьте в курсе последних изменений в законодательстве! Выбирайте из 9 вебинаров интересные именно вам и записывайтесь. Забирайте в закладки календарь вебинаров для бухгалтера, которые пройдут в июне 2024. Подписчикам «Клерк.Премиум» — бесплатный доступ.

Календарь вебинаров для бухгалтера в июне 2024. Выбирайте и смотрите!
7
Инвестиции

Инвестиции в космические объекты пропишут в законе

Госдума приняла в первом чтении законопроект о государственно-частном партнерстве в сфере космической деятельности.

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

Чем грозит неявка сотрудника на медосмотр

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

Все гранты на инновационное развитие освободили от налога

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

Предприятия за каждого сотрудника из другого региона получат 300 тысяч рублей

Государство выделит субсидии бизнесу, который работает над крупным проектом и привлекает сотрудников из других регионов. Размер поддержки составит 12 МРОТ.

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

За что заблокируют ваш счет? Что не нужно делать, чтобы «влететь» на блок

Сейчас в мире бизнеса идет война за темную и светлую сторону.

За что заблокируют ваш счет? Что не нужно делать, чтобы «влететь» на блок

Налоговые перспективы на 2025 год. Прогрессивная шкала НДФЛ

Какими будут налоговые ставки НДФЛ в 2025 году и можно ли этот налог оптимизировать.

🚚 Грузоперевозка в страну ЕАЭС может облагаться разным НДС

При сделках с контрагентами из стран ЕАЭС взимание косвенных налогов при работах, услугах идет в стране, территория которой признается местом реализации. При грузоперевозках место реализации – страна исполнителя.

МСФО

Внедрение азиатских МСФО на российский рынок

В данном докладе мы рассмотрим перспективы внедрения азиатских Международных стандартов финансовой отчетности (МСФО) на российский рынок.

Внедрение азиатских МСФО на российский рынок
1
Маркетплейсы

Цены на наушники на маркетплейсах оказались завышенными по сговору

ФАС выявила картель продавцов наушников на маркетплейсах. Продавцы общались в чате мессенджера, писали негативные комментарии конкурентам и заказывали наушники «в никуда».

💥 Бодрящие скидки на курсы повышения квалификации и профессиональной переподготовки! Ведем запись на первый летний поток обучения

Набираем первый летний поток-2024 на курсы повышения квалификации и переподготовки с максимальными скидками, чтобы вы не ограничивали траты на отпуск и получили полезные знания. Начало обучения 1 июня, присоединяйтесь!

💥 Бодрящие скидки на курсы повышения квалификации и профессиональной переподготовки! Ведем запись на первый летний поток обучения
2
Миникурсы, текстовые и видеоинструкции для бухгалтеров

Итоги 35 месяцев инвестиций. 3,83 млн рублей

1 июня, значит пора защищать детей и подводить итоги мая! Ежемесячно я пишу отчёт о том, что произошло с моими инвестициями. Напоминаю: я начал копить на квартиру в Сочи в июле 2021. 35 месяцев позади. Погнали!

Итоги 35 месяцев инвестиций. 3,83 млн рублей

Горящие глаза, «ген предпринимательства» и Борис Мальцев 

Студенты из акселератора «БизнесКуб» КубГУ, мечтая о собственных стартапах и предпринимательских прорывах, направлялись на встречу с успешными бизнесменами.

Горящие глаза, 
«ген предпринимательства» и 
Борис Мальцев 
1
Бесплатно с УСН

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

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

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

О чем говорят бухгалтеры — топ 5 обсуждаемых тем на этой неделе. 👂«Ночной бухгалтер» № 1694

Говорили не только о реформах, обычные рабочие проблемы никуда не делись. Кто-то в Китай не может перевести деньги, у кого-то налог на УСН — выпади глаза, а у кого-то вообще счета заблокировали. Но всегда есть коллеги-спасители, которые и словом утешат, и делом помогут.

Иллюстрация: Вера Ревина / Клерк.ру
Валюта

Стартовал сезон скупки долларов

Интерес к валюте вырос в преддверии сезона отпусков, на спрос также повлияло укрепление рубля.

3

Иван Никитенко: «Я точно не готов продавать душу и работать с клиентами-говнюками»

Это второй сезон проекта «ТоТ еще разговор». Хочется говорить с предпринимателями об их бизнесе. Мы пригласили краснодарского предпринимателя Ивана Никитенко.

Иван Никитенко: «Я точно не готов продавать душу и работать с клиентами-говнюками»
3
Банки

Доля просроченных микрозаймов сократилась до 32%

80% клиентов МФО получают займы дистанционно.

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

УСН

Изменения по УСН: НДС и новые лимиты

К каким переменам ИП и организациям на УСН надо приготовиться в 2024-2025 гг.

Иллюстрация: Вера Ревина/Клерк.ру