В процессе автоматизации логистических процессов в системе 1С:Управление производственным предприятием (УПП) часто возникает потребность выйти за рамки стандартных внешних печатных форм (ВПФ). Обычная печатная форма, привязанная к документу РеализацияТоваровУслуг, не всегда способна решить специфические задачи бизнеса, такие как объединение нескольких отгрузок в одну накладную, хранение уникальных данных о водителе или корректировка веса груза с учетом тары. Рассмотрим подробнее, как спроектировать и внедрить полноценный документ для работы с международными товарно-транспортными накладными (CMR) и внутренними ТТН.
Проанализируем ситуацию: стандартный подход в 1С подразумевает, что печатная форма берет данные напрямую из реквизитов реализации. Однако на практике возникают следующие сложности:
Для решения этих задач наиболее логичным шагом является создание нового объекта метаданных — документа ТранспортнаяНакладная или СМР.
Разберем структуру, которую необходимо заложить в новый документ, чтобы он был максимально гибким и функциональным. Основная цель — создать связующее звено между финансовыми документами и логистической реальностью.
Шапка документа:
Здесь мы размещаем общие реквизиты, касающиеся всего рейса:
Перевозчик (Справочник Контрагенты);ТранспортноеСредство (Справочник ОсновныеСредства или произвольный справочник автотранспорта);Водитель (Справочник ФизическиеЛица);Маршрут (Текстовое поле или ссылка на пункт назначения);ВидТранспортнойОперации (Международная CMR или внутренняя ТТН).Табличная часть (ТЧ):
В табличной части мы фиксируем перечень документов отгрузки. Рассмотрим пример кода для программного заполнения данных на основании выбранных реализаций:
Процедура ЗаполнитьПоРеализациям(СписокРеализаций)
Для Каждого ТекРеализация Из СписокРеализаций Цикл
НоваяСтрока = ТабличнаяЧастьДокумента.Добавить();
НоваяСтрока.ДокументОтгрузки = ТекРеализация;
НоваяСтрока.ВесНетто = ТекРеализация.Товары.Итог("Вес");
// Логика расчета веса брутто (например, +10% на упаковку)
НоваяСтрока.ВесБрутто = НоваяСтрока.ВесНетто * 1.1;
НоваяСтрока.КоличествоМест = ТекРеализация.Товары.Количество();
КонецЦикла;
КонецПроцедуры
Проанализируем предложение использовать регистр сведений. Это крайне полезный инструмент, если вы хотите отслеживать историю изменений или быстро находить, в какие транспортные документы включена конкретная реализация. Создадим регистр сведений СвязьРеализацийИТранспортныхДокументов с измерениями ДокументРеализации и ТранспортныйДокумент.
Это позволит нам:
Выясним причину проблем с весом в УПП. Как правило, они связаны с тем, что в карточке номенклатуры указан базовый вес, но не учтены коэффициенты единиц измерения или тип упаковки. В новом документе мы можем реализовать алгоритм автоматического пересчета:
Функция РассчитатьТранспортныйВес(Номенклатура, Количество)
ВесЕдиницы = Номенклатура.ЕдиницаХраненияОстатков.Вес;
ВесУпаковки = Номенклатура.ВесУпаковки; // Доп. реквизит
Возврат (ВесЕдиницы * Количество) + (ВесУпаковки * Количество);
КонецФункции
Такой подход позволяет пользователю вручную корректировать итоговые цифры в табличной части перед печатью, если реальный вес на весах отличается от расчетного, что критично для прохождения весового контроля и заполнения 11-й графы CMR ("Вес брутто, кг").
Если мы посмотрим на развитие линейки решений 1С, то в современных конфигурациях (1С:ERP) уже существует отдельный документ ТранспортнаяНакладная. Он работает в связке с подсистемой "Доставка". В этой модели сначала формируется "Задание на доставку", которое группирует распоряжения (реализации) по транспортным средствам и маршрутам, а затем на его основании генерируются печатные формы.
При разработке своего решения в УПП мы можем частично заимствовать эту логику:
При формировании макета CMR обратите внимание на следующие моменты:
УправлениеКонтактнойИнформацией.ПолучитьПредставлениеАдреса, чтобы корректно выводить юридические и фактические адреса отправителя и получателя.Номенклатура, их нужно подтягивать в графу "Наименование груза" автоматически.Таким образом, создание отдельного документа — это не просто "костыль" для обхода ограничений ВПФ, а переход к более зрелому управленческому учету логистики. Это позволяет структурировать данные, обеспечить прозрачность работы склада и исключить ошибки при заполнении юридически значимых документов.