Разработка и Конфигурация · 11 мин
Как написать программу 1С: руководство для начинающих
Как написать программу на 1С: установка платформы, создание конфигурации, объекты метаданных, встроенный язык, отладка и типичные ошибки новичков.
Написать программу на 1С может даже человек без опыта программирования: встроенный язык платформы использует русскоязычный синтаксис, а логика разработки строится вокруг готовых объектов — справочников, документов, отчётов. Чтобы создать первую рабочую конфигурацию, достаточно установить платформу 1С:Предприятие, разобраться с конфигуратором и понять, как объекты связаны между собой.
Разработка в 1С отличается от классического программирования тем, что большая часть структуры данных описывается декларативно: вы не пишете код для создания таблиц базы данных, а добавляете объекты метаданных, и платформа сама формирует хранилище. Код на встроенном языке нужен для обработки событий, расчётов и бизнес-логики.
Ниже разобран полный цикл: от установки учебной платформы до написания первого документа с проведением, отчёта и проверки результата. Материал подойдёт тем, кто хочет автоматизировать учёт в собственном бизнесе или начать карьеру 1С-разработчика.
Что понадобится для начала разработки
Для обучения достаточно учебной версии платформы 1С:Предприятие 8.3 — она распространяется бесплатно и позволяет создавать собственные конфигурации, но имеет ограничения: не работает с COM-соединениями, ограничен объём данных и нет поддержки клиент-серверного режима. Для коммерческой разработки потребуется лицензия на платформу.
Порядок подготовки рабочего места:
- Скачайте и установите платформу 1С:Предприятие (учебную или коммерческую версию).
- Создайте новую информационную базу: в окне запуска нажмите «Добавить» → «Создание новой информационной базы» → «Создание информационной базы без конфигурации».
- Откройте базу в режиме «Конфигуратор» — это среда разработки, где создаются все объекты и пишется код.
- Для проверки результата запускайте ту же базу в режиме «1С:Предприятие» — так её видит конечный пользователь.
Дополнительно полезно иметь под рукой синтакс-помощник — он встроен в конфигуратор и вызывается через меню «Справка». В нём описаны все объекты, методы и свойства встроенного языка с примерами.
Структура конфигурации: из чего состоит программа 1С
Программа 1С — это конфигурация, состоящая из объектов метаданных. Каждый тип объекта решает свою задачу, и понимание их ролей — ключ к грамотной архитектуре.
Основные объекты, которые понадобятся в первой программе:
| Объект | Назначение | Пример |
|---|---|---|
| Справочник | Хранение условно-постоянных списков | Номенклатура, контрагенты, сотрудники |
| Документ | Регистрация хозяйственных операций | Поступление товара, продажа, оплата |
| Регистр накопления | Учёт остатков и оборотов | Остатки товаров на складах |
| Регистр сведений | Хранение значений в разрезе измерений | Цены номенклатуры, курсы валют |
| Отчёт | Представление данных пользователю | Продажи за период, остатки на складе |
| Перечисление | Жёстко заданный список значений | Ставки НДС, виды оплаты |
Минимальная рабочая схема для учёта товаров выглядит так: справочник «Номенклатура» хранит перечень товаров, документ «ПоступлениеТоваров» увеличивает остатки, документ «Продажа» уменьшает их, регистр накопления «ОстаткиТоваров» фиксирует движения, а отчёт показывает текущие остатки. Именно с такой связки стоит начинать обучение.
Создаём первые объекты метаданных
В конфигураторе структура объектов отображается в дереве конфигурации (открывается через «Конфигурация» → «Открыть конфигурацию»). Новый объект добавляется правой кнопкой мыши по нужной ветке → «Добавить».
Создайте справочник «Номенклатура»: укажите имя, на остальных вкладках оставьте значения по умолчанию — платформа автоматически добавит стандартные реквизиты «Код» и «Наименование». Если нужны дополнительные поля (например, «Артикул» или «Единица измерения»), добавьте их на вкладке «Данные» как реквизиты, указав тип значения.
Затем создайте регистр накопления «ОстаткиТоваров» с видом «Остатки». Укажите измерение «Номенклатура» (тип — ссылка на созданный справочник) и ресурс «Количество» (тип — число). Измерение задаёт разрез учёта, ресурс — то, что считаем.
Теперь создайте документ «ПоступлениеТоваров». На вкладке «Данные» добавьте табличную часть «Товары» с реквизитами «Номенклатура» (ссылка на справочник) и «Количество» (число). На вкладке «Движения» отметьте галочкой регистр «ОстаткиТоваров» — платформа предложит автоматически сформировать код проведения.
Пишем код на встроенном языке
Код в 1С размещается в модулях: модуль объекта, модуль формы, общие модули. Для проведения документа используется обработчик события «ОбработкаПроведения» в модуле объекта документа. Конструктор движений (кнопка в окне модуля) сгенерирует код автоматически, но полезно понимать его структуру.
Процедура ОбработкаПроведения(Отказ, Режим)
Движения.ОстаткиТоваров.Записывать = Истина;
Для Каждого ТекСтрокаТовары Из Товары Цикл
Движение = Движения.ОстаткиТоваров.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Номенклатура = ТекСтрокаТовары.Номенклатура;
Движение.Количество = ТекСтрокаТовары.Количество;
КонецЦикла;
КонецПроцедурыЛогика кода проста: для каждой строки табличной части создаётся запись в регистре накопления с видом «Приход». Для документа продажи код аналогичен, но вид движения — «Расход». После написания кода сохраните конфигурацию (F7) и обновите конфигурацию базы данных (команда в меню «Конфигурация») — без этого изменения не попадут в рабочую базу.
Основные конструкции встроенного языка, которые покрывают большинство задач новичка: условия «Если...Тогда...КонецЕсли», циклы «Для Каждого...Из...Цикл» и «Пока...Цикл», а также запросы — декларативный язык выборки данных, похожий на SQL, для получения данных из регистров и справочников.
Создаём отчёт и проверяем результат
Отчёт в 1С строится на системе компоновки данных (СКД): вы описываете запрос к данным, а платформа сама формирует интерфейс, группировки и итоги. Добавьте отчёт «ОстаткиТоваров», откройте схему компоновки данных и напишите запрос к виртуальной таблице регистра.
ВЫБРАТЬ
ОстаткиТоваровОстатки.Номенклатура КАК Номенклатура,
ОстаткиТоваровОстатки.КоличествоОстаток КАК Количество
ИЗ
РегистрНакопления.ОстаткиТоваров.Остатки КАК ОстаткиТоваровОстаткиПосле этого запустите базу в режиме «1С:Предприятие» и выполните полный цикл проверки: создайте несколько элементов справочника «Номенклатура», проведите документ поступления на 10 единиц, затем документ продажи на 3 единицы и сформируйте отчёт. Если отчёт показывает остаток 7 — программа работает корректно.
Как проверить результат
Документ проводится без сообщений об ошибках
Ошибка компиляции модуля или «Переменная не определена»
Кнопка «Движения документа» показывает записи с верным видом движения
Записей нет или количество не совпадает с табличной частью
Остаток равен приходу минус расход
Отчёт пуст или остаток отрицательный без контроля
Отладка: как находить ошибки в коде
Конфигуратор включает полноценный отладчик. Поставьте точку останова кликом по полю слева от строки кода, запустите базу в режиме отладки («Отладка» → «Начать отладку») и повторите действие, которое вызывает ошибку. Выполнение остановится на нужной строке, и вы сможете посмотреть значения переменных через «Табло» (Ctrl+Shift+W) или вычислить произвольное выражение.
Типичный сценарий отладки проведения: точка останова в начале «ОбработкаПроведения», пошаговое выполнение клавишей F11, контроль содержимого табличной части и коллекции движений. Так видно, на какой строке данные отличаются от ожидаемых.
Частые ошибки и ограничения самостоятельной разработки
Главная ошибка новичков — попытка сразу дорабатывать типовую конфигурацию (1С:Бухгалтерию, Управление торговлей) без понимания её архитектуры. Типовые решения содержат тысячи объектов и сложные взаимосвязи; вмешательство без опыта ломает обновления и обмены данными. Начинайте с собственной конфигурации с нуля или с расширений конфигурации — механизма, который позволяет добавлять функциональность без изменения типового кода.
Второе ограничение — производительность. Запросы в цикле, выборка всех записей без отборов и отсутствие индексируемых полей в отборах приводят к тому, что программа корректно работает на десяти документах и «виснет» на десяти тысячах. Приучайтесь сразу получать данные одним запросом и использовать виртуальные таблицы регистров.
Как развивать навык дальше
После освоения базовой связки «справочник — документ — регистр — отчёт» логичные следующие шаги: изучение языка запросов глубже (соединения, объединения, временные таблицы), работа с формами и их событиями, подсистемы и права доступа, обмены данными между базами. Хорошей практикой считается разбор типовых конфигураций в режиме чтения — смотрите, как устроены проведение документов и построение отчётов у профессиональных разработчиков.
Что важно запомнить
Программа 1С строится из объектов метаданных, а код пишется только для бизнес-логики. Начните с учебной платформы, создайте связку «справочник — документ — регистр — отчёт», проверяйте результат в режиме предприятия и никогда не экспериментируйте на рабочей базе без резервной копии.
Частые вопросы
Нужно ли знать программирование, чтобы писать на 1С?
Нет, встроенный язык 1С рассчитан на специалистов предметной области: синтаксис на русском, большинство структур данных создаётся визуально. Достаточно понимать учётную логику задачи. Базовые алгоритмические навыки (циклы, условия) осваиваются в процессе на простых примерах.
Чем учебная версия платформы отличается от коммерческой?
Учебная версия позволяет создавать и изменять конфигурации, но не поддерживает COM-соединения, аутентификацию операционной системы, работу с расширениями в полном объёме и имеет ограничения на объём данных. Для обучения и написания первых программ её достаточно, для реального бизнеса нужна лицензия.
Сколько времени нужно, чтобы написать первую рабочую программу?
Простую конфигурацию учёта остатков из одного справочника, двух документов, регистра и отчёта новичок собирает за несколько дней неспешной работы по инструкциям. Освоение запросов, форм и прав доступа до уровня уверенной самостоятельной разработки обычно занимает несколько месяцев регулярной практики.
Можно ли дорабатывать типовую 1С:Бухгалтерию своим кодом?
Можно, но правильный способ — через расширения конфигурации, которые не меняют типовой код и не ломают обновления. Прямое изменение типовой конфигурации требует снятия её с полной поддержки и усложняет все последующие обновления, поэтому без опыта этого делать не стоит.
Что делать, если документ не проводится и выдаёт ошибку?
Сначала проверьте, обновлена ли конфигурация базы данных — это самая частая причина. Затем поставьте точку останова в «ОбработкаПроведения» и пройдите код по шагам, проверяя значения переменных. Текст ошибки в сообщении обычно указывает строку модуля и имя проблемного объекта.
Где брать примеры кода для обучения?
Синтакс-помощник в конфигураторе содержит описание всех методов с примерами. Дополнительно полезно изучать код типовых конфигураций в режиме чтения и учебные пособия по платформе, которые идут от простых конфигураций к сложным. Копировать код без понимания логики не рекомендуется — при малейшем отличии структуры объектов он перестанет работать.