Основы программирования в 1С:Предприятие

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

1. Введение в платформу 1С:Предприятие и интерфейс Конфигуратора

Введение в платформу 1С:Предприятие и интерфейс Конфигуратора

Система программ «1С:Предприятие» представляет собой не просто набор приложений для бухгалтерии или торговли, а полноценную среду быстрой разработки (RAD — Rapid Application Development). Для успешного программирования необходимо чётко понимать архитектуру этой системы, разделение на платформу и прикладные решения, а также уметь ориентироваться в инструментарии разработчика.

Архитектура системы: Платформа и Конфигурация

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

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

Технологическая платформа

Это исполняемая среда, «движок», который устанавливается на компьютер или сервер. Платформа ничего не знает о конкретном бизнесе, налогах или товарах. Её задача — интерпретировать программный код, управлять работой с базой данных и отрисовывать пользовательский интерфейс. Платформа едина для всех решений, будь то «Бухгалтерия», «Управление торговлей» или самописная программа для учета домашних финансов.

Конфигурация

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

> Аналогия: Платформа — это видеоплеер, а Конфигурация — это файл с фильмом. Плеер умеет воспроизводить видео, но без файла он бесполезен. Файл с фильмом содержит контент, но без плеера его невозможно посмотреть.

Режимы запуска системы

При запуске 1С:Предприятие через стартовое окно пользователю доступны два основных режима работы. Понимание разницы между ними критично для разработчика.

!Стартовое окно выбора режима запуска

1. Режим «1С:Предприятие» (Пользовательский режим)

В этом режиме работают конечные пользователи (бухгалтеры, менеджеры). Здесь происходит ввод данных, формирование отчетов и выполнение бизнес-процессов. Разработчик использует этот режим для отладки и проверки того, как написанный код работает «в бою».

2. Режим «Конфигуратор»

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

Интерфейс Конфигуратора

Основное рабочее пространство программиста 1С — это Конфигуратор. Рассмотрим его ключевые элементы.

Дерево конфигурации

Главное окно, которое обычно располагается слева. Если оно закрыто, его можно открыть через меню Конфигурация — Открыть конфигурацию.

Дерево представляет собой иерархический список всех объектов, из которых состоит прикладное решение. Все объекты сгруппированы по типам (классам):

* Справочники — для хранения условно-постоянной информации (списки товаров, клиентов, сотрудников). * Документы — для отражения хозяйственных операций, изменяющих состояние учета (накладная, платежное поручение). * Регистры — таблицы для накопления данных и получения итогов (остатки товаров, взаиморасчеты). * Отчеты и Обработки — инструменты для анализа и обработки данных.

!Структура дерева метаданных в Конфигураторе

Палитра свойств

Окно свойств (обычно справа) отображает параметры выделенного объекта. 1С использует концепцию визуального программирования: многие аспекты поведения системы задаются не кодом, а настройкой галочек и полей в палитре свойств. Например, длина наименования товара или возможность проведения документа настраиваются именно здесь.

Синтаксис-помощник

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

Чтобы открыть его, используйте меню Справка — Синтаксис-помощник.

Объектная модель и встроенный язык

Программирование в 1С ведется на проприетарном языке высокого уровня. Особенность языка — возможность писать код как на русском, так и на английском языке (bilingual). Стандартом в отрасли считается использование русского синтаксиса.

Язык 1С является объектно-ориентированным, но с ограничениями. Разработчик не создает свои классы с нуля, а наследует их от предопределенных классов платформы (Справочник, Документ, Регистр). Это обеспечивает высокую скорость разработки, так как базовый функционал (запись в БД, блокировки, интерфейсные формы) уже реализован в платформе.

Пример кода

Простейшая команда вывода сообщения пользователю выглядит так:

Более сложный пример — цикл обхода коллекции:

Создание первой внешней обработки

Чтобы начать программировать, не обязательно сразу менять структуру конфигурации. Безопасный способ для экспериментов — создание Внешней обработки. Это файл с расширением .epf, который открывается в режиме Предприятия, но создается в Конфигураторе.

Алгоритм создания:

  • В Конфигураторе выбрать Файл — Новый — Внешняя обработка.
  • Задать имя обработки (например, МояПерваяОбработка).
  • Создать форму обработки (нажать лупу напротив свойства «Форма»).
  • В редакторе формы перейти на вкладку Команды, добавить новую команду (например, ПоказатьПриветствие).
  • Перетащить команду на форму (она превратится в кнопку).
  • В свойствах команды нажать на лупу у поля Действие и выбрать Создать на клиенте.
  • Откроется модуль формы, где можно написать код:

    Этот код выполняется на стороне клиентского приложения (на компьютере пользователя) при нажатии кнопки.

    Итоги

    * Система 1С состоит из Платформы (исполняющая среда) и Конфигурации (прикладное решение). Без платформы конфигурация не работает. * Режим «Конфигуратор» используется разработчиками для изменения структуры данных и написания кода. * Режим «1С:Предприятие» используется пользователями для работы с данными. * Дерево конфигурации — основной инструмент навигации по объектам системы (справочникам, документам). * Встроенный язык 1С позволяет использовать русские ключевые слова и оперирует готовыми объектами платформы.

    2. Основные объекты метаданных: Справочники и Документы

    Основные объекты метаданных: Справочники и Документы

    В предыдущей статье мы познакомились с интерфейсом Конфигуратора и деревом метаданных. Теперь настало время погрузиться в суть разработки на 1С. Любая прикладная задача — будь то автоматизация ларька или крупного завода — строится на взаимодействии двух фундаментальных классов объектов: Справочников и Документов.

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

    Справочники: Хранение нормативно-справочной информации

    Справочники в системе 1С предназначены для хранения условно-постоянной информации. Это списки объектов реального мира, с которыми работает предприятие. Если вы можете ответить на вопрос «Кто?» или «Что?», скорее всего, это справочник.

    Примеры справочников: * Номенклатура (товары, услуги). * Контрагенты (клиенты, поставщики). * Сотрудники. * Склады. * Валюты.

    Структура и стандартные реквизиты

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

    !Стандартные реквизиты, присущие любому справочнику в системе 1С

    Ключевые стандартные реквизиты:

  • Ссылка (Ref) — уникальный идентификатор объекта (GUID). Пользователь его не видит, но для программиста это самый важный реквизит. Ссылка однозначно определяет объект в базе данных.
  • Код — используется для идентификации элемента пользователем. Обычно присваивается автоматически и контролируется на уникальность.
  • Наименование — человекочитаемое представление элемента (например, «Стол офисный»).
  • Родитель — ссылка на папку, в которой лежит элемент (если справочник иерархический).
  • Владелец — ссылка на элемент другого справочника (если используется подчинение).
  • Иерархия и Подчинение

    Справочники могут быть иерархическими. Это позволяет создавать структуру папок, как в проводнике Windows. Существует два вида иерархии: Иерархия групп и элементов* — папки могут содержать только элементы или другие папки (классический вариант). Иерархия элементов* — любой элемент может быть родителем для другого элемента (например, структура подразделений или сетевой маркетинг).

    Также справочники могут быть подчиненными. Например, справочник «Договоры» логично подчинить справочнику «Контрагенты». Это означает, что конкретный договор не может существовать сам по себе, он всегда принадлежит конкретному клиенту.

    Документы: Отражение хозяйственных операций

    Если Справочники — это «существительные» системы, то Документы — это её «глаголы». Документы фиксируют события, происходящие во времени и изменяющие состояние предприятия.

    Примеры документов: * Поступление товаров (товар пришел на склад). * Реализация товаров (товар ушел со склада, возник долг клиента). * Прием на работу. * Платежное поручение.

    Особенности Документов

    Главное отличие Документа от Справочника — наличие оси времени. У любого документа есть два обязательных реквизита, определяющих его место в хронологии:

  • Дата — включает в себя дату и время с точностью до секунды.
  • Номер — присваивается автоматически, обычно в пределах года или месяца.
  • !Документы фиксируют события во времени, используя данные из справочников

    Проведение документа

    Документ в 1С может находиться в двух основных состояниях: * Просто записан (черновик). Он есть в базе, но не влияет на остатки товаров или долги. * Проведен. Это ключевое понятие. При проведении документ выполняет алгоритм, который вносит записи в специальные таблицы — Регистры. Именно процесс проведения меняет состояние учета.

    > Важно: Справочники не проводятся, они просто записываются. Проводятся только Документы.

    Взаимодействие объектов: Ссылочная целостность

    Сила 1С заключается в жесткой типизации связей. Когда вы создаете документ «Реализация товаров», вы не пишете имя клиента строкой «ООО Ромашка». Вы создаете реквизит «Клиент» и указываете его тип — СправочникСсылка.Контрагенты.

    Это гарантирует, что:

  • В поле нельзя вписать несуществующего клиента.
  • Если название клиента изменится в справочнике, оно автоматически «обновится» во всех документах (так как документы хранят ссылку, а не строку).
  • Табличные части

    И справочники, и документы могут иметь Табличные части. Это вложенные таблицы, подчиненные конкретному объекту.

    Пример: В документе «Продажа» есть шапка (Клиент, Склад, Дата) и табличная часть «Товары». Каждая строка табличной части содержит: * Номенклатура (Ссылка на справочник). * Количество (Число). * Цена (Число). * Сумма (Число).

    Рассмотрим простейшую математику строки табличной части. Обычно сумма рассчитывается автоматически:

    где — Сумма (итоговая стоимость строки), — Цена за единицу товара, — Количество товара.

    Программная работа: Менеджер, Ссылка и Объект

    Для начинающего программиста 1С самым сложным является понимание «триады» доступа к данным. Для каждого вида метаданных (например, Справочника «Номенклатура») платформа создает три типа программных сущностей.

    1. Менеджер (Справочники.Номенклатура)

    Это статический объект, управляющий всем классом. Через него мы ищем элементы, создаем новые или делаем выборки.

    Пример поиска:

    2. Ссылка (СправочникСсылка.Номенклатура)

    Это «адрес» объекта в базе данных. Ссылка легковесна, она передается между процедурами. Через ссылку можно читать значения реквизитов (через точку), но нельзя их изменять.

    3. Объект (СправочникОбъект.Номенклатура)

    Это «тяжелая» копия данных в памяти компьютера. Объект создается, когда мы хотим изменить данные или создать новые. Чтобы получить объект из ссылки, нужно вызвать метод .ПолучитьОбъект().

    Алгоритм изменения данных:

    Аналогичная логика работает и для Документов (Документы.Имя, ДокументСсылка.Имя, ДокументОбъект.Имя).

    Создание объектов в Конфигураторе

    Давайте рассмотрим процесс создания справочника и документа на практике.

    Создание Справочника

  • В дереве конфигурации кликнуть правой кнопкой на ветвь Справочники -> Добавить.
  • В окне свойств задать Имя (например, Клиенты). Синоним заполнится автоматически.
  • Перейти на вкладку Данные.
  • Добавить реквизиты, например ПолноеЮридическоеНазвание (строка) и ИНН (строка, длина 12).
  • Создание Документа

  • Кликнуть правой кнопкой на ветвь Документы -> Добавить.
  • Задать имя ПродажаТовара.
  • На вкладке Данные добавить реквизит шапки Покупатель (Тип: СправочникСсылка.Клиенты).
  • Добавить табличную часть Товары.
  • В табличную часть добавить реквизиты Товар, Количество, Цена.
  • Теперь, запустив режим «1С:Предприятие», вы увидите новые разделы, где можно создавать клиентов и оформлять продажи.

    Итоги

    * Справочники хранят списки (номенклатура, клиенты) и отвечают на вопросы «Кто?» и «Что?». Имеют стандартные реквизиты: Код, Наименование, Ссылка. * Документы фиксируют события во времени (продажа, поступление) и имеют Дату и Номер. Документы могут проводиться, изменяя состояние учета. * Ссылка (Ref) используется для чтения данных и связи объектов. Она неизменяема. * Объект (Object) используется для записи и изменения данных. Его нужно получить из ссылки или создать через менеджер. * Связь объектов реализуется через указание типа данных (например, реквизит документа имеет тип Ссылка на справочник).