Перейти к основному содержимому

Первая программа на 1С

Разработчику Архитектору

Play ITЗагрузка интерактивного демо…


Первая программа на 1С

Где применяют 1С

1С:Предприятие — платформа учёта и ERP в России и СНГ. На ней работают типовые конфигурации ("Бухгалтерия", "УТ", "ЗУП") и отраслевые доработки. Разработчик собирает метаданные (справочники, документы, регистры) и пишет код на встроенном языке (BSL) в конфигураторе. Обзор продуктов — в Экосистеме, устройство платформы — в Платформа 1С.

В этой статье первая программа — внешняя обработка (файл .epf):

  • управляемая форма;
  • кнопка на форме;
  • процедура с Сообщить() в модуле формы.

Такой вариант не требует правки чужой типовой конфигурации. После него удобно перейти к практикуму "мини-склад" в пустой базе.

Следующий шаг

После первой кнопки — управляемые формы и синтаксис. Маршрут раздела — в о разделе.

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


Три слоя, с которых начинают

СлойЧто этоПример
ПлатформаДвижок, клиент, конфигуратор, СУБДФайлы 1cv8.exe, конфигуратор 8.3
КонфигурацияОписание объектов и кода прикладного решенияДерево метаданных в конфигураторе
Информационная база (ИБ)Экземпляр с пользовательскими даннымиПапка с файлом 1Cv8.1CD в файловом режиме

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

Конфигурация включает:

  • метаданные — структура объектов в дереве конфигуратора;
  • модули — процедуры и функции на BSL;
  • формы и макеты — интерфейс и печать.

ИБ хранит заполненные справочники, проведённые документы и настройки сеанса. Без запущенной платформы конфигурация отдельно не исполняется.

Как запускается сеанс

  1. Пользователь открывает ярлык 1С и выбирает ИБ.
  2. Стартует процесс платформы (1cv8.exe или rphost.exe в тонком клиенте).
  3. Платформа загружает метаданные, компилирует модули и открывает режим 1С:Предприятие.

Подробнее о файловом и клиент-серверном хранении — в Платформа 1С.

Встроенный язык (BSL)

Код на русском синтаксисе: Если, Для, Процедура, Сообщить. Примитивные типы — Число, Строка, Дата, Булево. Объектные типы ссылаются на метаданные — СправочникСсылка, ДокументСсылка. Разбор типов — в переменные и типы данных, правил записи — в синтаксисе.

Два режима запуска

РежимКто работаетЧто можно
1С:ПредприятиеБухгалтер, кладовщик, пользовательВвод данных, отчёты, печать
КонфигураторРазработчикМетаданные, модули, формы, отладка

Первую программу создают в конфигураторе. Код живёт в модуле объекта и срабатывает по событию — нажатие кнопки, открытие формы, запись документа.


Установка платформы 1С:Предприятие

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

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

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

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

После выбора компонентов система предлагает указать путь установки. По умолчанию используется папка C:\Program Files\1c\v8.3. Изменение этого пути допустимо, но не рекомендуется, так как многие настройки и ссылки в системе привязаны к этому расположению. После указания пути следует нажать кнопку "Установить".

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

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

Для работы с данными в файловом режиме каталог информационной базы содержит файл 1Cv8.1CD (и служебные файлы). В клиент-серверном режиме данные хранятся в СУБД (Microsoft SQL Server, PostgreSQL и др.), а платформа обращается к ней через сервер 1С.

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


Создание новой конфигурации и структура проекта

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

Создание новой конфигурации начинается с выбора типа информационной базы. Доступны варианты "Файловая информационная база" и "Серверная информационная база". Для первой программы выбирается вариант "Файловая информационная база". Этот тип проще в настройке и не требует установки внешнего сервера баз данных.

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

После указания имени и пути система предлагает выбрать шаблон конфигурации. Шаблон определяет начальную структуру базы данных. Существуют шаблоны "Пустая конфигурация", "Типовая конфигурация 1С", "Шаблон с примерами". Для обучения лучше всего выбрать шаблон "Пустая конфигурация". Этот шаблон создает пустую структуру, куда можно добавлять объекты вручную, что позволяет понять принцип построения системы.

После подтверждения параметров система создает файл базы данных и запускает режим "Конфигуратор". Интерфейс конструктора разделен на несколько областей. Слева находится дерево объектов метаданных. Эта область содержит список всех объектов, входящих в конфигурацию — справочники, документы, отчеты, планы видов характеристик, регистры сведений и т.д. В центре экрана располагается редактор кода или свойств объекта. Справа находятся панели свойств и инспекторы.

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

Для первой программы достаточно создать один объект типа "Документ". Документ в 1С представляет собой факт хозяйственной операции (например, "Поступление товаров", "Выдача наличных"). Каждый документ имеет свой модуль, где описывается логика его обработки.

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

После создания объекта в дереве появится новая ветка. При двойном щелчке на объекте откроется форма его свойств. Здесь можно задать имя табличной части, формулярное представление, реквизиты. Однако для начала работы достаточно оставить свойства по умолчанию.

Следующим шагом является переход к написанию кода. В окне свойств документа есть вкладка "Модули". В списке модулей есть стандартные модули — "Объект", "Форма", "Общий модуль". Для первой программы будем использовать модуль "Объект". Этот модуль содержит код, который выполняется при действиях с самим документом.

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


Написание кода первой программы

Первая программа в 1С должна демонстрировать базовые возможности языка: вывод сообщения пользователю и запись данных в базу. Логика программы будет следующей — при нажатии специальной кнопки на форме документа выполняется процедура, которая выводит сообщение "Привет, мир!" и сохраняет документ в базе данных.

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

Открытие формы документа осуществляется через контекстное меню объекта метаданных. Нужно выбрать пункт "Изменить форму". Откроется визуальный редактор форм. В левой части окна расположен список элементов управления (кнопки, поля ввода, списки). В центральной части — макет формы.

Добавление кнопки осуществляется перетаскиванием элемента из списка в макет формы. Нужно найти элемент "Кнопка" и перетащить его на форму. Кнопка появится в области дизайна. Теперь нужно настроить её свойства. В панели свойств справа найти поле "Имя" и задать значение, например, КнопкаВывода. Затем найти поле "Описание" и ввести текст, который будет отображаться на кнопке, например, "Показать приветствие".

После настройки кнопки необходимо прописать код, который выполнится при нажатии. Для этого нужно перейти к обработке события "Нажатие". В коде формы есть секция обработчиков событий. Нужно найти событие ПриНажатии(КнопкаВывода) и добавить внутрь него код.

В редакторе кода появляется заглушка процедуры. Текст кода пишется на языке 1С. Для вывода сообщения используется встроенная функция Сообщить(). Эта функция принимает строковый аргумент и показывает всплывающее окно с текстом.

Пример кода для процедуры нажатия кнопки:

Процедура КнопкаВыводаНажатие(Кнопка)

Сообщить("Привет! Вы создали первую программу на 1С.");

КонецПроцедуры

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

Чтобы программа стала более полезной, добавим возможность записи данных. Создадим новый реквизит в документе. Реквизит — это переменная, хранящая данные внутри объекта. В окне свойств документа перейдем на вкладку "Реквизиты". Добавим новый реквизит с именем ТекстПриветствия и типом "Строка".

Теперь изменим процедуру так, чтобы она использовала этот реквизит. Сначала запросим ввод текста у пользователя. Для этого используется функция ВводСтроки(). Она показывает диалоговое окно, где пользователь вводит текст. Результат ввода сохраняется в переменную.

Измененный код процедуры:

Процедура КнопкаВыводаНажатие(Кнопка)

Текст = ВводСтроки("Введите ваше приветствие", , "Текст");

Если Не ПустаяСтрока(Текст) Тогда

Записать();

Сообщить("Ваше сообщение: " + Текст);

КонецЕсли;

КонецПроцедуры

Добавлена проверка на пустую строку. Если пользователь не ввел текст, действие не выполняется. Функция СохранитьДокумент() вызывается для фиксации изменений в базе данных. В 1С документ считается сохраненным только после явного вызова метода Записать().

Для полной реализации нужно добавить метод Записать() в процедуру. Этот метод сохраняет текущее состояние документа в базе данных. Код становится таким:

Код ITЗагрузка примера кода…

Здесь Реквизит.ТекстПриветствия обращается к полю документа, куда записывается введенный текст. Метод Записать() отправляет изменения на сервер базы данных. После сохранения документ получает уникальный идентификатор и дату создания.

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


Запуск и тестирование программы

После написания кода необходимо сохранить изменения в конфигурации. В режиме "Конфигуратор" нажатие клавиш Ctrl+S или выбор пункта меню "Файл" -> "Сохранить" записывает изменения в файл базы данных. Система проверяет синтаксис кода. Если найдены ошибки, редактор подсветит их красным цветом и покажет описание проблемы в нижней панели.

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

В окне запуска выберите созданную базу данных "МояПерваяПрограмма" и нажмите кнопку "Запустить". Откроется интерфейс программы в режиме эксплуатации. Поскольку мы создали документ "ТестовыйДокумент", он должен появиться в списке документов или на главной форме.

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

После ввода текста и нажатия кнопки "ОК" в диалоговом окне, программа выполнит процедуру. На экране появится всплывающее окно с сообщением "Документ сохранен. Сообщение: Тестовое сообщение". Это подтверждает, что код выполнен успешно.

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

Если возникла ошибка, проверьте консоль сообщений внизу окна программы. Там часто пишутся детали сбоев. Распространенные ошибки включают отсутствие права доступа к базе данных, неверный синтаксис кода или попытку обращения к несуществующему объекту.

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

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


Краткая версия "первая программа за 15 минут"

  1. Создайте файловую базу и пустую конфигурацию.
  2. Добавьте объект (например, внешнюю обработку или документ с формой).
  3. В обработчик кнопки вставьте Сообщить("Привет, 1С!");.
  4. Сохраните конфигурацию и запустите режим "Предприятие".
  5. Нажмите кнопку и убедитесь, что сообщение показывается.

После этого шага можно усложнять пример — добавить реквизит, запись объекта, обработку ошибок и простой запрос.


Связанные статьи для следующего шага


Архитектура выполнения кода и обработка событий

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

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

Каждый объект метаданных имеет свои модули. Модуль "Объект" содержит код, реагирующий на события самого объекта. Модуль "Формы" содержит код, реагирующий на события интерфейса. Модуль "Общий" содержит код, доступный всем объектам.

Когда пользователь нажимает кнопку, генерируется событие "Нажатие". Система просматривает список обработчиков событий для этой кнопки. Если найден обработчик ПриНажатии, он выполняется. Код внутри обработчика выполняется последовательно сверху вниз.

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

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

Пример использования обработки исключений:

Код ITЗагрузка примера кода…

В этом примере, если метод Записать() вызовет ошибку (например, нарушение целостности данных), выполнение не прервется. Вместо этого будет выведено сообщение с описанием ошибки. Это делает программу более устойчивой к сбоям.

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

Для HTTP-запросов к внешним API используют HTTPСоединение и объект HTTPЗапрос (методы Получить, ОтправитьДляОбработки и др.); ответ — HTTPОтвет с кодом состояния и телом. Публикация своих endpoint — через HTTP-сервисы и OData в метаданных конфигурации (см. Интеграцию).

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

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


Как учиться после первой программы

Короткий цикл на одну тему:

  1. Один механизм — только запросы, только формы или только проведение.
  2. Задание с проверяемым результатом на экране.
  3. Разбор сообщения об ошибке в окне 1С или в отладчике.
  4. Усложнение — проверка входных данных, Попытка, лог в журнал регистрации.

Следующие темы

ТемаСтатья
Справочник, документ, регистр, проведениепрактикум "мини-склад"
&НаКлиенте и &НаСервереУправляемые формы
Запросы и выборкиРабота с базами данных, выборки объектов
Исключения и отладкаОбработка ошибок
HTTP к внешнему сервисуИнтеграция

Современная среда разработки — :EDT (Eclipse). Для старта достаточно встроенного конфигуратора; EDT подключают, когда проект вырастает. Сертификация "1С:Профессионал" — на portal.1c.ru после закрепления базы из раздела.


Частые ошибки

СимптомПричина
Конфигуратор не открывает базуНеверный путь к .1cd / нет прав
Сообщить не видноКлиент в фоне — проверьте режим предприятия
Ошибка компиляции модуляТочка с запятой в русском синтаксисе — ; в конце оператора
Изменения не в базеНе обновили конфигурацию БД после изменения метаданных

Что попробовать

  1. Внешняя обработка с одной кнопкой "Привет".
  2. Справочник "Контрагенты" — два элемента в списке.
  3. HTTP к тестовому API — см. интеграцию.

Практикум "первый мини-проект"

Сделайте за 40-60 минут маленький законченный сценарий:

  1. Создайте документ "Заявка".
  2. Добавьте реквизиты — Клиент, Сумма, Комментарий.
  3. В обработчике кнопки проверьте, что Сумма > 0, иначе ВызватьИсключение.
  4. При успешной проверке выполните Записать() и покажите Сообщить("Заявка сохранена").
  5. Ошибки оберните в Попытка ... Исключение с выводом ПодробноеПредставлениеОшибки(...).

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


Основа по протоколу

Базовый разбор HTTP и HTTPS находится в отдельной статье — HTTP как основа веб-интеграций.


В подборках

Статья входит в тематические подборки и блок "С чего начать?" на главной. Соседние шаги того же маршрута:

Первые шаги (маршрут подборки) — Первая программа на PowerShell, Первая программа на F#, Первая программа на Bash, Первая программа на С, Первая программа на Julia, Первая программа на ассемблере.