Материал из РУВИКИ — свободной энциклопедии

Встроенный язык программирования 1С:Предприятие

Встроенный язык программирования 1С:Предприятие
Изображение логотипа
Класс языка процедурный, предметно-ориентированный
Тип исполнения предварительно компилируемый
Появился в 1996
Автор
Выпуск 1С:Предприятие 8.3.9
Тестовая версия 1С:Предприятие 8.4.1
Система типов динамическая типизация
Основные реализации 1С:Предприятие 7.0-8.x
Сайт 1c-dn.com

Встроенный язык программирования 1С:Предприятиеязык программирования, который используется в семействе программ «1С:Предприятие». В версии 7.x являлся интерпретируемым языком сверхвысокого уровня. Интерпретация текста программного модуля в байт-код выполнялась в момент обращения к этому модулю в процессе работы, таким образом обычно интерпретировалась только часть текстов программных модулей (в версиях 7.7 и старше). Начиная с версии 8.х модули компилируются.

Средой исполнения языка является программная платформа «1С:Предприятие». Визуальная среда разработки («Конфигуратор») является неотъемлемой частью пакета программ «1С:Предприятие».

С 2017 года фирма 1С разрабатывает среду разработки EDT[1], основанную на eclipse.

Диалекты языка для платформ 1С седьмых версий (7.0, 7.5, 7.7) совместимы «снизу вверх» с незначительными исключениями. Языки для платформ 1С:7.х и 1С:8.х совместимы по основным операторам, но значительно отличаются в работе с прикладными объектами, вследствие чего перенос кода из 1С:7.х в 1С:8.х не имеет смысла.

Встроенный язык имеет много общих черт с другими языками, такими как Pascal, Java Script, Basic[2].

Платформой предоставляется фиксированный набор базовых классов, ориентированных на решение типовых задач прикладной области:

  • Константа,
  • Справочник,
  • Документ,
  • Журнал документов,
  • Перечисление,
  • Отчёт,
  • Обработка
  • План счетов и др.

На основании базовых классов средствами визуального конфигурирования можно создавать любое количество порождённых классов (возможность определить новый класс программно — отсутствует). Допускается только одна явная ступень наследования классов. Как правило, объекты порождённых классов представляют собой записи (или некоторые наборы записей) в базе данных. Такие классы образуют «Дерево метаданных». В терминах встроенного языка программирования 1С такие классы называются объектами метаданных.

Основными видами объектов метаданных являются: Справочники, Документы, Отчёты, Обработки, Планы видов характеристик, Планы счетов, Планы видов расчёта, Регистры сведений, Регистры накопления, Регистры расчёта, Бизнес-процессы, Задачи.

Поддерживаются русский и английский синтаксис команд.

Проекты на встроенном языке 1С:Предприятия называются конфигурациями. Распространение (продажа) и внедрение таких конфигураций — это основная коммерческая деятельность фирм-партнёров 1С.

История развития[править | править код]

См. 1С:Предприятие - История развития

Объектно-ориентированные диалекты[править | править код]

Существует несколько дополнительных компонентов, расширяющих основные классы, их свободное добавление и изменение; фирмой-разработчиком они не рекомендованы к использованию. Это означает, что фирма и её франчайзи отказываются от какой-либо технической поддержки конфигураций, использующих такие компоненты.

Перфолента.NET[править | править код]

Объектно-ориентированная реализация компилятора 1С реализованная на платформе NET Framework. Из-за компиляции работает примерно в 500 раз быстрее 1С, в 350 раз быстрее OneScript и в 100 раз быстрее Python.[аффилированный источник?] Имеет современную IDE с подсветкой синтаксиса и поддержкой OneScript. Пример Перфолента.NET

OneScript (1Script)[править | править код]

Язык написания сценариев на языке 1С:8.х. Работает примерно в 2 раза быстрее оригинального языка 1С[источник не указан 1213 дней]. Кросс-платформенный: поддерживает Windows, Linux (Debian и CentOS). В качестве среды разработки (IDE) могут использоваться VSCode или среду разработки Перфолента.NET[источник не указан 1243 дня]Перфолента.NET.

По состоянию на август 2021 проект активно развивается.

1C++[править | править код]

Так компонента 1C++[3] расширяет язык 1С:7.х средствами полноценного объектно-ориентированного программирования. Её использование значительно расширяет возможности конфигурирования 1С. Это свободный программный продукт, распространяемый под лицензией GPL.

[править | править код]

Более того — существует полностью свободный проект 2C[4], не использующий каких-либо проприетарных модулей фирмы 1С или других производителей. Это переписанное «с нуля» свободно распространяемое под лицензией GPL расширяемое ядро -подобной системы, в котором даже такие «встроенные объекты» 1C как справочники и регистры — переопределяемые прикладным программистом классы.

Язык платформы 2С проектировался с целью максимальной преемственности с существующими для 1С наработками, и является расширением базового языка 1С. Путём написания соответствующих базовых классов язык 2С может быть приближен как к 1С 7.7, так и к 1С 8.0, хотя 2С:Платформа и не может обеспечить 100 % автоматическую переносимость конфигураций[5] из той или иной версии 1С:Предприятия.

В настоящее время заброшен автором на этапе альфа-версии в начале 2006 года.

Пример программы[править | править код]

Пример вывода сообщения в специальное окно для версии 8.3:

 Процедура ПриветМир()
       Сообщить("Здравствуй, Мир!");
 КонецПроцедуры

См. также[править | править код]

Примечания[править | править код]

  1. Главная | 1C:Enterprise Development Tools. edt.1c.ru. Дата обращения: 17 августа 2021. Архивировано 17 августа 2021 года.
  2. Встроенный язык. v8.1c.ru. Дата обращения: 17 августа 2021. Архивировано 17 августа 2021 года.
  3. 1cpp. Дата обращения: 17 июня 2022. Архивировано 14 марта 2018 года.
  4. Проект GPL-2с. Дата обращения: 18 мая 2007. Архивировано 4 апреля 2007 года.
  5. Как перенести базу 1С в облако - подробная инструкция. Аренда 1С в облаке (18 октября 2018). Дата обращения: 24 октября 2019. Архивировано 24 октября 2019 года.

Ссылки[править | править код]