Транспортная логистика в 1С:ERP из коробки — это контур доставки: справочник транспортных средств, распоряжения на доставку (в том числе поручения экспедитору), задания на перевозку, которые собирают распоряжения в рейсы, и рабочее место логиста для распределения и контроля этапов. Учёт самого автопарка — путевые листы, ГСМ, страховки, техосмотры, зарплата водителей — в типовую ERP не входит. Его добавляют отраслевым решением или доработкой.
Ниже — где проходит граница типового функционала, какие доработки встречаются чаще всего и как их проектировать, чтобы ERP оставалась обновляемой. С примерами кода для двух типовых задач: контроль сроков документов ТС и распределение стоимости рейса.
Что умеет типовая 1С:ERP
| Объект | Назначение |
|---|---|
| Транспортные средства | Собственный и наёмный транспорт: грузоподъёмность, объём, тип |
| Распоряжения на доставку | Заказы клиентов, перемещения, поручения экспедитору, которые нужно доставить или забрать |
| Поручение экспедитору | Самостоятельное распоряжение на перевозку, не связанное с документом продажи или закупки |
| Задание на перевозку | Рейс: какие распоряжения, на какой машине, в каком порядке, статусы выполнения |
| Рабочее место управления доставкой | Распределение распоряжений по заданиям и контроль этапов |
Для торговой компании с простыми маршрутами этого обычно хватает: логист видит, что нужно отвезти, формирует рейсы с учётом грузоподъёмности и отмечает выполнение. Прежде чем заказывать доработку, я всегда прохожу с логистами типовой сценарий целиком — часть «недостающих» функций находится в настройках и рабочих местах.
Где начинаются доработки
Производственные предприятия со своим автопарком, крупногабаритными грузами и сложными маршрутами упираются в типовой контур довольно быстро. Частые запросы:
- Документы ТС: полисы ОСАГО, диагностические карты, сроки действия, страховщики, история продлений.
- Путевые листы с пробегом, расходом топлива, временем в наряде.
- Нормы расхода ГСМ с учётом сезона, типа местности, загрузки; учёт прицепов.
- Списание топлива на основании закрытых путевых листов без ручного ввода.
- Переменная часть зарплаты водителя по пробегу, тоннажу, времени.
- Распределение стоимости рейса (собственного или наёмного) между заказами клиентов.
- Согласование дорогих перевозок и путевых листов: ПЭО, бухгалтерия, оплата.
- Отчёты: истекающие полисы, техосмотры, карточка работы автомобиля, стоимость километра.
Если почти весь список актуален, сравните стоимость доработки с отраслевым продуктом для управления автотранспортом, интегрированным с ERP. Если нужно три-четыре пункта — доработка обычно дешевле и ближе к процессу.
Принципы проектирования доработок
- Данные — в регистрах. Нормы и тарифы — в периодических регистрах сведений, чтобы видеть историю изменений. Пробег и расход — в регистрах накопления: из них быстро строятся отчёты и остатки.
- Расширение вместо изменения типовых объектов. Новые документы, регистры, подписки на события и дополнения форм делаются в расширении конфигурации. Обновление ERP тогда не превращается в ручное сравнение.
- Отдельные роли. Не одна роль «Транспорт», а раздельные права: работа с полисами, утверждение путевых листов, установка тарифов.
- Автоматизация вместо напоминаний на бумаге: регламентные задания для контроля сроков, автозаполнение из предыдущих документов.
- Сквозная связь с продажами, складом и затратами, а не изолированный модуль.
Пример 1. Контроль сроков документов ТС
Допустим, в расширении есть регистр сведений СрокиДокументовТС с измерениями ТранспортноеСредство и ВидДокумента (перечисление: ОСАГО, диагностическая карта) и ресурсом ДействуетДо. Регламентное задание раз в день выбирает документы, срок которых истекает в ближайшие 30 дней.
// Обработчик регламентного задания «Контроль сроков документов ТС».
Процедура КонтрольСроковДокументовТС() Экспорт
ОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания(
Метаданные.РегламентныеЗадания.КонтрольСроковДокументовТС);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Сроки.ТранспортноеСредство КАК ТранспортноеСредство,
| Сроки.ВидДокумента КАК ВидДокумента,
| Сроки.ДействуетДо КАК ДействуетДо
|ИЗ
| РегистрСведений.СрокиДокументовТС КАК Сроки
|ГДЕ
| Сроки.ДействуетДо МЕЖДУ &Сегодня И &ГраницаКонтроля
|
|УПОРЯДОЧИТЬ ПО
| ДействуетДо";
Запрос.УстановитьПараметр("Сегодня", НачалоДня(ТекущаяДатаСеанса()));
Запрос.УстановитьПараметр("ГраницаКонтроля", КонецДня(ТекущаяДатаСеанса() + 30 * 86400));
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ТекстСообщения = СтрШаблон(НСтр("ru = '%1: %2 действует до %3'"),
Выборка.ТранспортноеСредство, Выборка.ВидДокумента, Формат(Выборка.ДействуетДо, "ДЛФ=D"));
ОтправитьУведомлениеОтветственному(Выборка.ТранспортноеСредство, ТекстСообщения);
КонецЦикла;
КонецПроцедурыОтправитьУведомлениеОтветственному — ваша процедура: письмо, задача пользователю или сообщение в корпоративный мессенджер, в зависимости от того, где ответственные реально читают уведомления. Вызов ПриНачалеВыполненияРегламентногоЗадания из БСП обязателен в начале обработчика: он проверяет, можно ли выполнять задание в текущей базе.
Пример 2. Распределение стоимости рейса по заказам

Стоимость рейса делится между заказами пропорционально весу груза, умноженному на расстояние до точки доставки. Функция принимает таблицу значений с колонками Заказ, Вес, Расстояние и возвращает её с колонкой Сумма.
// Распределяет стоимость рейса между заказами пропорционально весу и расстоянию.
//
// Параметры:
// СтоимостьРейса - Число - сумма к распределению.
// Грузы - ТаблицаЗначений - колонки Заказ, Вес, Расстояние.
//
// Возвращаемое значение:
// ТаблицаЗначений - исходная таблица с заполненной колонкой Сумма.
//
Функция РаспределитьСтоимостьРейса(СтоимостьРейса, Грузы) Экспорт
Грузы.Колонки.Добавить("Сумма", ОбщегоНазначения.ОписаниеТипаЧисло(15, 2));
Грузы.Колонки.Добавить("Коэффициент", Новый ОписаниеТипов("Число"));
Для Каждого Строка Из Грузы Цикл
Строка.Коэффициент = Строка.Вес * Строка.Расстояние;
КонецЦикла;
Распределено = ОбщегоНазначения.РаспределитьСуммуПропорциональноКоэффициентам(
СтоимостьРейса, Грузы.ВыгрузитьКолонку("Коэффициент"), 2);
Если Распределено = Неопределено Тогда
ВызватьИсключение НСтр("ru = 'Не удалось распределить стоимость: нулевые вес или расстояние.'");
КонецЕсли;
Для Индекс = 0 По Грузы.Количество() - 1 Цикл
Грузы[Индекс].Сумма = Распределено[Индекс];
КонецЦикла;
Грузы.Колонки.Удалить("Коэффициент");
Возврат Грузы;
КонецФункцииФункция БСП РаспределитьСуммуПропорциональноКоэффициентам сама разбрасывает копейки округления, поэтому сумма по строкам совпадает со стоимостью рейса. Писать собственный «доводчик» остатка не нужно.
Результат распределения я сохраняю в регистре или табличной части документа затрат, а не пересчитываю на лету: бухгалтерии важно видеть, как получилась цифра, и не терять её при изменении справочных данных.
Типичные ошибки
- Новые реквизиты добавлены прямо в типовые документы основной конфигурации — каждое обновление ERP становится проектом.
- Нормы ГСМ хранятся в реквизитах справочника без истории: после изменения нормы прошлые путевые листы пересчитываются по новой.
- Распределение затрат на лету в отчёте: цифры «плавают» при изменении веса в карточке номенклатуры.
- Одна роль на весь транспортный отдел — нельзя разделить ответственность за полисы и утверждение путевых листов.
- Контроль сроков полисов через ежемесячную выгрузку в Excel вместо регламентного задания.
С чего начинать проект
Порядок, который я предлагаю заказчикам:
- Пройти типовой сценарий доставки ERP с логистами и бухгалтерией.
- Составить перечень отклонений: чего не хватает и почему это важно для денег или рисков.
- Оценить объём: несколько точечных доработок или полноценный модуль управления автопарком.
- Реализовать в расширении, начиная с того, что быстрее окупается: обычно контроль сроков и автоматическое списание ГСМ.
Если ERP ещё только внедряется, логистику лучше закладывать в проект внедрения 1С:ERP сразу, а не дорабатывать после запуска. Точечные задачи на работающей системе решаются в рамках доработки 1С.
Итог
- Типовая транспортная логистика 1С:ERP закрывает доставку: транспортные средства, распоряжения, поручения экспедитору и задания на перевозку.
- Учёт автопарка — путевые листы, ГСМ, страховки, техосмотры — добавляется доработкой или отраслевым продуктом.
- Нормы и тарифы храните в периодических регистрах сведений, пробег и расход — в регистрах накопления.
- Доработки делайте в расширении и с раздельными ролями.
- Распределение стоимости рейса фиксируйте документом, используя функции БСП для корректного округления.




