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

Известен день старта продаж акций Яндекса на Мосбирже

Ценные бумаги МКПАО «Яндекс» допустят к торгам с 8 июля, а 10 июля Мосбиржа проведет делистинг акций нидерландской компании Yandex N.V.

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

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

Путин: планы по экономическому развитию не изменятся даже в условиях СВО

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

Новостной дайджест: поддержка стартапов, снижение налогов для ИП, новая программа субсидирования, изменения в патентной системе, электронное взаимодействие с ФНС

В рамках национального проекта по поддержке предпринимательства стартовала новая инициатива для стартапов.

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

Проверяя декларацию по УСН, налоговики складывают банк и чеки от ОФД по безналу, а еще незаконно требуют КУДИР. 😤«Ночной бухгалтер» № 1682

Не так давно ИП закончили сдавать декларации по УСН (срок был до 25 апреля), а организации отчитались еще раньше. Теперь бухгалтеров засыпают требованиями пояснений, но у ФНС странный подход к камералке, например, они складывают и все поступления по выпискам со счетов, и суммы по чекам от ОФД на безналичный (картами) расчет.

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

ФНС обновила форму декларации по акцизам на табак

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

УК РФ

Должники станут более защищены при исполнительном производстве

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

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

Ставку по семейной ипотеке могут поднять до 12%

Для семей с детьми до 6 лет условия льготной ипотеки не изменятся: ставка сохранится на уровне 6% годовых. Однако для остальных Минфин планирует ужесточить условия.

Зачем IT- компаниям нужен юрист: три примера из моей практики

Я Павел Патрикеев — практикующий юрист, специализирующийся на поддержке малого и среднего ИТ-бизнеса, кратко расскажу о том, как даже одна юридическая консультация может существенно облегчить вашу жизнь, и разберу, на какие плюшки от государства могут рассчитывать IT-компании. Читайте до конца, чтобы узнать почему большинство из них не доходит до адресатов.

Как вести бухгалтерский учет в строительстве в 2024 году

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

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

Названы причины, почему работники рвутся на удаленку, особенно летом. И это выгодно работодателям

По данным опроса 80% россиян хотят перейти на удаленный режим работы летом.

⚡️ Итоги дня: появился новый вирус FLiRT, готовить кофе можно ультразвуком, а в России будет свой музыкальный конкурс «ИнтерВидение»

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

Банки

Центробанк запустил новый сервис со статистикой

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

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

💥 Депутаты готовят большой пакет поправок в Трудовой кодекс

В Госдуму внесен депутатский законопроект с изменениями в ТК по дополнительным гарантиям защиты прав работников.

Можно ли делать выплаты самозанятому на чужую карту

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

Можно ли делать выплаты самозанятому на чужую карту

Пять фактов, которые нужно знать про обучение по охране труда

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

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

МИД договорится с Малайзией о безвизовом режиме

Туристы смогут проводить в Малайзии без визы до 30 дней.

Снижение компенсации за нарушение исключительных прав

Компенсация за нарушение авторских прав — это санкция, которая носит не только восстановительный характер, но и как любая мера юридической ответственности — превентивный и карательный (штрафной) характер, а также является альтернативной санкцией и взыскивается вместо убытков.

Нужна ли оценка объекта интеллектуальной деятельности, при включении его в состав наследства?

Размер оценки имущества, включенного в состав наследства = госпошлина за выдачу свидетельства о наследстве = зарплата нотариуса.

НДФЛ

С 2026 года для вычетов НДФЛ не нужно будет собирать справки и документы-подтверждения

Для получения вычетов по НДФЛ больше не понадобится собирать справки и другие подтверждающие документы. Налоговая с 2026 года сама рассчитает размер вычета и автоматически переведет нужную сумму.

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

Бесплатно с Расчеты с работниками

Как безопасно заменить индексацию премиями: судебная практика

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

Как безопасно заменить индексацию премиями: судебная практика