Разработка в 1С:ERP отличается от «1С:Бухгалтерии» в первую очередь логикой учёта: в БП документ при проведении сразу пишет проводки, а в ERP он делает движения по оперативным регистрам накопления, а проводки формируются позже отдельным механизмом — отражением в регламентированном учёте по настройкам групп финансового учёта (ГФУ). Поэтому в ERP бесполезно искать «где записывается проводка» в модуле документа: искать нужно, откуда берутся данные оперативных регистров и как они превращаются в проводки.

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

Главное отличие: проводка — следствие, а не цель

Разработка в 1С:ERP: короткая цепочка БП против многоступенчатого конвейера ERP
Разработка в 1С:ERP: короткая цепочка БП против многоступенчатого конвейера ERP

В «Бухгалтерии» цепочка короткая: документ → проводки. В ERP это конвейер:

ЭтапЧто происходитГде искать
1. Хозяйственная операцияДокумент фиксирует событие; счетов учёта в нём может не быть вовсеОбъект документа
2. Оперативные регистрыДвижения по регистрам вроде «Товары на складах», «Выручка и себестоимость продаж», расчётов с партнёрамиМодуль менеджера документа, тексты запросов проведения
3. Расчёт себестоимостиПри закрытии месяца дорассчитывается стоимость списания, распределяются расходыМеханизм закрытия месяца
4. Отражение в регл. учётеПо оперативным данным и настройкам ГФУ подбираются счета и формируются проводкиОбщие модули регл. учёта, функции отражения в модуле менеджера
5. Регистр бухгалтерииПроводки в «Хозрасчётном»Результат, а не источник

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

Где теперь код проведения

Разработчик БП привык открывать ОбработкаПроведения в модуле объекта и видеть всю логику. В ERP там обычно несколько строк — вызов общего механизма проведения. Основная работа живёт в модуле менеджера документа:

  • процедура инициализации данных документа формирует пакет запросов и временные таблицы;
  • для каждого регистра есть свой текст запроса, который готовит таблицу движений;
  • общий механизм проведения забирает эти таблицы и записывает движения.

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

Функциональные опции: невидимый код

Огромная часть кода ERP обёрнута в проверки функциональных опций:

1С
Если ПолучитьФункциональнуюОпцию("ИспользоватьЗаказыКлиентов") Тогда
	// Логика, которая выполняется только при включенной опции.
КонецЕсли;

Типичная ситуация: код синтаксически верен, точка останова не срабатывает, а причина — в базе выключена соответствующая настройка. Перед отладкой проверьте, какие опции включены в рабочей базе, и разверните демобазу или копию с теми же настройками. Иначе вы будете отлаживать не тот путь выполнения, по которому идут пользователи.

Как отладить отражение в регламентированном учёте

Отражение в регл. учёте запускается не только при проведении: чаще всего оно выполняется при закрытии месяца или регламентным заданием, пакетом по многим документам. Последовательность в общем виде:

  1. Точка входа — общий модуль регламентированного учёта получает список документов для отражения (из закрытия месяца, регламентного задания или рабочего места «Отражение документов в регламентированном учёте»).
  2. Проверка — нужно ли отражать документ: включён ли регл. учёт, не отражён ли он уже.
  3. Сбор данных — механизм обращается к модулю менеджера документа за текстом запроса отражения (в типовых документах для этого есть экспортная функция с «ОтражениеВРеглУчете» в имени).
  4. Подбор счетов — аналитика запроса сопоставляется с настройками счетов по ГФУ.
  5. Запись — формируются записи регистра бухгалтерии, а в регистре сведений ОтражениеДокументовВРеглУчете обновляется статус документа.

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

Чек-лист, если проводка неверная или её нет:

  • Документ проведён по оперативным регистрам? Без движений отражать нечего.
  • Настроены счета в ГФУ для номенклатуры, контрагента, статьи? Иначе в рабочем месте отражения появится ошибка о ненастроенных счетах.
  • Выполнен расчёт себестоимости за месяц? Без него проводки по списанию могут получиться с нулевыми суммами.
  • Какой статус в ОтражениеДокументовВРеглУчете? Запрос к регистру сразу покажет, отражён ли документ и когда.

Пять механизмов, которые стоит изучить первыми

  1. Группы финансового учёта (ГФУ). Откуда в проводках берутся счета 10, 41, 60, 62. Посмотрите, как номенклатура и контрагенты связаны с группами и где хранятся настройки счетов.
  2. Связка «оперативный учёт → регламентированный учёт». Как данные из «Выручки и себестоимости продаж» и других регистров попадают в «Хозрасчётный».
  3. Партионный учёт и себестоимость. Вопросы «почему не сошлась себестоимость» и «почему не закрывается месяц» — самые частые. Нужно понимать, как ERP видит партии и остатки в разных разрезах.
  4. Направления деятельности. Сквозная аналитика от заказа до финансового результата, которой нет в БП. Свои документы должны её корректно протаскивать, иначе управленческие отчёты разваливаются.
  5. Статьи расходов и распределение затрат. Варианты распределения — на себестоимость, на финансовый результат, на производственные затраты — ключ к пониманию затратной части ERP.

Правила хорошего тона при доработке ERP

  • Сначала БСП и типовые механизмы. Присоединённые файлы, печать, права, дополнительные реквизиты — всё уже есть. Свой велосипед в ERP почти всегда хуже типового и ломается при обновлении.
  • Отчёты — на СКД. В ERP практически все отчёты на системе компоновки, и пользователи ждут от новых отчётов того же: вариантов, настроек, расшифровки.
  • Доработки — в расширениях. Конфигурация огромная и часто обновляется; изменения в расширении проще переносить. Подход подробно разбирал в статье про модификацию конфигураций УТ 11 и ERP.
  • Новая аналитика — до регистров. Добавили реквизит в документ — доведите его до оперативного регистра, а не только до проводки.
  • Думайте о нагрузке. ERP работает на крупных базах, где блокировки и тяжёлые запросы — ежедневная реальность, а не теория.

Как учиться без дорогих курсов

Практический маршрут, который я советую разработчикам, приходящим из БП:

  1. Разверните демобазу ERP и включите основные функциональные опции.
  2. Возьмите документ «Приобретение товаров и услуг», посмотрите связанные документы и движения по регистрам.
  3. Найдите в модуле менеджера тексты запросов проведения и проследите, как поле табличной части попадает в регистр.
  4. Добавьте в расширении свой реквизит в табличную часть и доведите его до регистра «Выручка и себестоимость продаж» у документа реализации.
  5. Сделайте внешний отчёт на СКД по оперативному регистру и сравните детализацию с отчётом по регистру бухгалтерии.
  6. Отразите документ в регл. учёте из рабочего места и пройдите стек вызовов отладчиком.
В ERP перестаньте искать, где пишется проводка, и начните искать, где формируется временная таблица для регистра.

Если компании нужно внедрение или доработка ERP силами команды, которая уже прошла этот путь, смотрите внедрение 1С:ERP и доработку 1С.

Коротко

  • В ERP документ пишет оперативные регистры, а проводки формируются отдельно — отражением в регл. учёте по ГФУ.
  • Код проведения живёт в модуле менеджера и общих модулях, логика держится на пакетных запросах.
  • Функциональные опции меняют путь выполнения: отлаживайте на базе с теми же настройками.
  • Проводку не правят кодом — правят оперативные данные или настройки счетов.
  • Начните с ГФУ, связки оперативного и регл. учёта, себестоимости, направлений деятельности и статей расходов.