🤯 Добро пожаловать в 1С
Ты пишешь код. Нажимаешь запуск. И… ничего.
Или хуже: что-то произошло, но вообще не то, что ожидалось. Добро пожаловать в 1С — место, где ошибка может быть не в коде, а в контексте, форме, модуле, правах, данных, конфигурации или просто в том, что ты забыл нажать одну кнопку 😄
💣 Ошибка №1: код написан, но не вызывается
Одна из самых частых ситуаций у новичков: процедура есть, код красивый, всё выглядит логично, но ничего не происходит.
Процедура СделатьЧтоТо()
Сообщить("Работает!");
КонецПроцедуры
Проблема в том, что процедура сама по себе не запускается. Её нужно вызвать.
СделатьЧтоТо();
Как не сгореть: всегда проверяй, откуда запускается код. Кнопка? Событие формы? Обработка? Модуль объекта? Если нет вызова — 1С молча смотрит на тебя как на мем с котом.
🧩 Ошибка №2: не тот модуль
В 1С очень важно понимать, где именно ты пишешь код. Код в модуле формы, модуле объекта и общем модуле — это не одно и то же.
Новичок часто пишет код “где нашёл”, а потом удивляется, почему он не работает. Это как положить ключи в холодильник и искать их у двери.
Как не сгореть: перед написанием кода задай себе вопрос: где это должно происходить?
Модуль формы — работа с кнопками, полями, интерфейсом.
Модуль объекта — логика документа, справочника или другого объекта.
Общий модуль — код, который можно переиспользовать в разных местах.
⚡ Ошибка №3: клиент и сервер перепутались
1С любит разделять код на клиентский и серверный. И если ты пытаешься сделать клиентскую штуку на сервере — начинается боль.
Например, работа с интерфейсом обычно живёт на клиенте, а запись данных и тяжёлая логика — на сервере.
&НаКлиенте
Процедура КнопкаНажатие(Команда)
Сообщить("Кнопка нажата");
КонецПроцедуры
Как не сгореть: обращай внимание на директивы:
&НаКлиенте&НаСервере&НаКлиентеНаСервереБезКонтекста
Это не декор. Это дорожные знаки. Проехал не туда — получил ошибку.
🔍 Ошибка №4: “данные есть, но запрос ничего не вернул”
Запросы в 1С — отдельный вид магии. Вроде таблица есть, записи есть, а результат пустой.
Частые причины:
не тот период;
не тот справочник или документ;
забыли параметр;
условие слишком жёсткое;
сравниваем не то с не тем.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
Номенклатура.Ссылка КАК Ссылка
ИЗ
Справочник.Номенклатура КАК Номенклатура";
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить(Выборка.Ссылка);
КонецЦикла;
Как не сгореть: сначала делай максимально простой запрос. Потом постепенно добавляй условия. Не пытайся сразу построить “запрос-босса финального уровня”.
🧨 Ошибка №5: забыл обновить конфигурацию
Ты изменил код, запускаешь 1С, а там всё по-старому. И начинается классика:
“Да я же исправил!”
А потом оказывается, что конфигурация не обновлена.
Как не сгореть: после изменений не забывай:
сохранить изменения;
обновить конфигурацию базы данных;
перезапустить сеанс, если нужно.
Иногда баг — это не баг, а “я забыл нажать кнопку”.
🧠 Ошибка №6: копировать код без понимания
Копипаст в 1С — это как взять чужую карту сокровищ, но не знать, где север.
Код может работать у автора, но не работать у тебя, потому что:
другая конфигурация;
другие имена объектов;
другие права;
другой контекст выполнения;
другие данные в базе.
Как не сгореть: копируй не код, а идею. Разбирай каждую строку и проверяй, подходит ли она под твою задачу.
🕵️ Где искать баги в 1С
Когда “не работает”, не надо сразу переписывать всё с нуля. Сначала включаем режим детектива.
1. Проверяй, выполняется ли код
Сообщить("Я здесь");
Да, это простой способ. Да, он работает. Да, иногда это спасает жизнь.
2. Используй отладчик
Ставь точки останова и смотри, куда реально попадает выполнение. Отладчик — это не страшная кнопка для senior-разработчиков, а нормальный инструмент выживания.
3. Проверяй значения переменных
Сообщить(ИмяПеременной);
Очень часто проблема не в алгоритме, а в том, что переменная содержит вообще не то, что ты ожидал.
4. Смотри журнал регистрации
Если ошибка не показывается явно, она может быть в журнале регистрации. Это место, где 1С иногда оставляет записку: “я упала вот тут”.
📱 Как учиться без ощущения, что тебя переехал поезд
Главный секрет: не пытайся понять всю 1С за один вечер. Это не сериал на Netflix, где можно включить скорость 1.5x и стать экспертом к утру.
Лучше двигаться маленькими шагами:
разобрал форму;
понял кнопку;
написал простую процедуру;
сделал запрос;
поймал ошибку;
исправил;
стал чуть сильнее.
Кстати, если хочется прокачивать программирование регулярно и без хаоса, можно заглянуть в приложение Кодик. Там удобно учиться на практике, повторять темы и постепенно укреплять базу.
А ещё у Кодика есть Telegram-сообщество, где выходят полезные посты по программированию. Это хороший способ повторять материал в удобном формате и не выпадать из обучения.
🚀 Чек-лист новичка в 1С
Проверяй, вызывается ли код.
Пиши код в правильном модуле.
Не путай клиент и сервер.
Начинай запросы с простого варианта.
Не забывай обновлять конфигурацию.
Используй отладчик.
Разбирай код, а не просто копируй.
🎯 Итог
1С может казаться странной, особенно в начале. Но большинство ошибок новичков — не катастрофа, а обычные рабочие моменты.
Ты не “тупишь”. Ты просто сталкиваешься с системой, где важно понимать контекст, структуру и порядок действий.
Как только начинаешь думать не “почему опять всё сломалось”, а “где именно это выполняется и какие данные туда попали” — 1С становится намного понятнее.
А сгореть всегда успеешь. Но лучше не надо 😄
А какая ошибка в 1С бесила тебя больше всего: клиент/сервер, запросы, модули или обновление конфигурации?
