К статье
Практический материал

Разработка и Конфигурация · 11 мин

Как написать программу 1С: руководство для начинающих

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

Написать программу на 1С может даже человек без опыта программирования: встроенный язык платформы использует русскоязычный синтаксис, а логика разработки строится вокруг готовых объектов — справочников, документов, отчётов. Чтобы создать первую рабочую конфигурацию, достаточно установить платформу 1С:Предприятие, разобраться с конфигуратором и понять, как объекты связаны между собой.

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

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

Что понадобится для начала разработки

Для обучения достаточно учебной версии платформы 1С:Предприятие 8.3 — она распространяется бесплатно и позволяет создавать собственные конфигурации, но имеет ограничения: не работает с COM-соединениями, ограничен объём данных и нет поддержки клиент-серверного режима. Для коммерческой разработки потребуется лицензия на платформу.

Порядок подготовки рабочего места:

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

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

Структура конфигурации: из чего состоит программа 1С

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

Основные объекты, которые понадобятся в первой программе:

ОбъектНазначениеПример
СправочникХранение условно-постоянных списковНоменклатура, контрагенты, сотрудники
ДокументРегистрация хозяйственных операцийПоступление товара, продажа, оплата
Регистр накопленияУчёт остатков и оборотовОстатки товаров на складах
Регистр сведенийХранение значений в разрезе измеренийЦены номенклатуры, курсы валют
ОтчётПредставление данных пользователюПродажи за период, остатки на складе
ПеречислениеЖёстко заданный список значенийСтавки НДС, виды оплаты

Минимальная рабочая схема для учёта товаров выглядит так: справочник «Номенклатура» хранит перечень товаров, документ «ПоступлениеТоваров» увеличивает остатки, документ «Продажа» уменьшает их, регистр накопления «ОстаткиТоваров» фиксирует движения, а отчёт показывает текущие остатки. Именно с такой связки стоит начинать обучение.

Создаём первые объекты метаданных

В конфигураторе структура объектов отображается в дереве конфигурации (открывается через «Конфигурация» → «Открыть конфигурацию»). Новый объект добавляется правой кнопкой мыши по нужной ветке → «Добавить».

Создайте справочник «Номенклатура»: укажите имя, на остальных вкладках оставьте значения по умолчанию — платформа автоматически добавит стандартные реквизиты «Код» и «Наименование». Если нужны дополнительные поля (например, «Артикул» или «Единица измерения»), добавьте их на вкладке «Данные» как реквизиты, указав тип значения.

Затем создайте регистр накопления «ОстаткиТоваров» с видом «Остатки». Укажите измерение «Номенклатура» (тип — ссылка на созданный справочник) и ресурс «Количество» (тип — число). Измерение задаёт разрез учёта, ресурс — то, что считаем.

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

Пишем код на встроенном языке

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

bsl
Процедура ОбработкаПроведения(Отказ, Режим)

	Движения.ОстаткиТоваров.Записывать = Истина;

	Для Каждого ТекСтрокаТовары Из Товары Цикл
		Движение = Движения.ОстаткиТоваров.Добавить();
		Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
		Движение.Период = Дата;
		Движение.Номенклатура = ТекСтрокаТовары.Номенклатура;
		Движение.Количество = ТекСтрокаТовары.Количество;
	КонецЦикла;

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

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

Основные конструкции встроенного языка, которые покрывают большинство задач новичка: условия «Если...Тогда...КонецЕсли», циклы «Для Каждого...Из...Цикл» и «Пока...Цикл», а также запросы — декларативный язык выборки данных, похожий на SQL, для получения данных из регистров и справочников.

Создаём отчёт и проверяем результат

Отчёт в 1С строится на системе компоновки данных (СКД): вы описываете запрос к данным, а платформа сама формирует интерфейс, группировки и итоги. Добавьте отчёт «ОстаткиТоваров», откройте схему компоновки данных и напишите запрос к виртуальной таблице регистра.

bsl
ВЫБРАТЬ
	ОстаткиТоваровОстатки.Номенклатура КАК Номенклатура,
	ОстаткиТоваровОстатки.КоличествоОстаток КАК Количество
ИЗ
	РегистрНакопления.ОстаткиТоваров.Остатки КАК ОстаткиТоваровОстатки

После этого запустите базу в режиме «1С:Предприятие» и выполните полный цикл проверки: создайте несколько элементов справочника «Номенклатура», проведите документ поступления на 10 единиц, затем документ продажи на 3 единицы и сформируйте отчёт. Если отчёт показывает остаток 7 — программа работает корректно.

Контрольные точки

Как проверить результат

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

Документ проводится без сообщений об ошибках

Тревожный признак

Ошибка компиляции модуля или «Переменная не определена»

Движения по регистру
Норма

Кнопка «Движения документа» показывает записи с верным видом движения

Тревожный признак

Записей нет или количество не совпадает с табличной частью

Отчёт по остаткам
Норма

Остаток равен приходу минус расход

Тревожный признак

Отчёт пуст или остаток отрицательный без контроля

Отладка: как находить ошибки в коде

Конфигуратор включает полноценный отладчик. Поставьте точку останова кликом по полю слева от строки кода, запустите базу в режиме отладки («Отладка» → «Начать отладку») и повторите действие, которое вызывает ошибку. Выполнение остановится на нужной строке, и вы сможете посмотреть значения переменных через «Табло» (Ctrl+Shift+W) или вычислить произвольное выражение.

Типичный сценарий отладки проведения: точка останова в начале «ОбработкаПроведения», пошаговое выполнение клавишей F11, контроль содержимого табличной части и коллекции движений. Так видно, на какой строке данные отличаются от ожидаемых.

Типичные ошибки
01
Забыли обновить конфигурацию базы данных — код в конфигураторе новый, а база работает по-старому
02
Не установили «Записывать = Истина» для набора движений — регистр остаётся пустым
03
Обращение к реквизиту по синониму вместо имени — ошибка «Поле объекта не обнаружено»
04
Проверка кода только в конфигураторе без запуска в режиме предприятия — ошибки проявляются у пользователя
05
Прямая запись в регистры в обход документов — нарушается связность учёта и аудит изменений

Частые ошибки и ограничения самостоятельной разработки

Главная ошибка новичков — попытка сразу дорабатывать типовую конфигурацию (1С:Бухгалтерию, Управление торговлей) без понимания её архитектуры. Типовые решения содержат тысячи объектов и сложные взаимосвязи; вмешательство без опыта ломает обновления и обмены данными. Начинайте с собственной конфигурации с нуля или с расширений конфигурации — механизма, который позволяет добавлять функциональность без изменения типового кода.

Второе ограничение — производительность. Запросы в цикле, выборка всех записей без отборов и отсутствие индексируемых полей в отборах приводят к тому, что программа корректно работает на десяти документах и «виснет» на десяти тысячах. Приучайтесь сразу получать данные одним запросом и использовать виртуальные таблицы регистров.

Как развивать навык дальше

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

Итог

Что важно запомнить

Программа 1С строится из объектов метаданных, а код пишется только для бизнес-логики. Начните с учебной платформы, создайте связку «справочник — документ — регистр — отчёт», проверяйте результат в режиме предприятия и никогда не экспериментируйте на рабочей базе без резервной копии.

Частые вопросы

Нужно ли знать программирование, чтобы писать на 1С?

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

Чем учебная версия платформы отличается от коммерческой?

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

Сколько времени нужно, чтобы написать первую рабочую программу?

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

Можно ли дорабатывать типовую 1С:Бухгалтерию своим кодом?

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

Что делать, если документ не проводится и выдаёт ошибку?

Сначала проверьте, обновлена ли конфигурация базы данных — это самая частая причина. Затем поставьте точку останова в «ОбработкаПроведения» и пройдите код по шагам, проверяя значения переменных. Текст ошибки в сообщении обычно указывает строку модуля и имя проблемного объекта.

Где брать примеры кода для обучения?

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