Как реализовать отдельный документ для печати CMR и ТТН в 1С:УПП

Программист 1С v8.3 (Обычные формы) Управленческий учет Торговля и дистрибуция
← На главную

В процессе автоматизации логистических процессов в системе 1С:Управление производственным предприятием (УПП) часто возникает потребность выйти за рамки стандартных внешних печатных форм (ВПФ). Обычная печатная форма, привязанная к документу РеализацияТоваровУслуг, не всегда способна решить специфические задачи бизнеса, такие как объединение нескольких отгрузок в одну накладную, хранение уникальных данных о водителе или корректировка веса груза с учетом тары. Рассмотрим подробнее, как спроектировать и внедрить полноценный документ для работы с международными товарно-транспортными накладными (CMR) и внутренними ТТН.

Почему внешняя печатная форма (ВПФ) бывает недостаточна

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

Для решения этих задач наиболее логичным шагом является создание нового объекта метаданных — документа ТранспортнаяНакладная или СМР.

Архитектура нового документа в 1С:УПП

Разберем структуру, которую необходимо заложить в новый документ, чтобы он был максимально гибким и функциональным. Основная цель — создать связующее звено между финансовыми документами и логистической реальностью.

Шапка документа:

Здесь мы размещаем общие реквизиты, касающиеся всего рейса:

Табличная часть (ТЧ):

В табличной части мы фиксируем перечень документов отгрузки. Рассмотрим пример кода для программного заполнения данных на основании выбранных реализаций:


Процедура ЗаполнитьПоРеализациям(СписокРеализаций)
    Для Каждого ТекРеализация Из СписокРеализаций Цикл
        НоваяСтрока = ТабличнаяЧастьДокумента.Добавить();
        НоваяСтрока.ДокументОтгрузки = ТекРеализация;
        НоваяСтрока.ВесНетто = ТекРеализация.Товары.Итог("Вес");
        // Логика расчета веса брутто (например, +10% на упаковку)
        НоваяСтрока.ВесБрутто = НоваяСтрока.ВесНетто * 1.1; 
        НоваяСтрока.КоличествоМест = ТекРеализация.Товары.Количество();
    КонецЦикла;
КонецПроцедуры

Использование регистров сведений для связки данных

Проанализируем предложение использовать регистр сведений. Это крайне полезный инструмент, если вы хотите отслеживать историю изменений или быстро находить, в какие транспортные документы включена конкретная реализация. Создадим регистр сведений СвязьРеализацийИТранспортныхДокументов с измерениями ДокументРеализации и ТранспортныйДокумент.

Это позволит нам:

  1. Избежать дублирования отгрузок (проверять при проведении новой CMR, не включена ли эта реализация уже в другой документ).
  2. Строить отчеты по "незакрытым" транспортными накладными отгрузкам.
  3. Хранить специфические данные (например, номера пломб или время прибытия под погрузку), не изменяя типовые документы конфигурации.

Реализация расчета веса и габаритов

Выясним причину проблем с весом в УПП. Как правило, они связаны с тем, что в карточке номенклатуры указан базовый вес, но не учтены коэффициенты единиц измерения или тип упаковки. В новом документе мы можем реализовать алгоритм автоматического пересчета:


Функция РассчитатьТранспортныйВес(Номенклатура, Количество)
    ВесЕдиницы = Номенклатура.ЕдиницаХраненияОстатков.Вес;
    ВесУпаковки = Номенклатура.ВесУпаковки; // Доп. реквизит
    Возврат (ВесЕдиницы * Количество) + (ВесУпаковки * Количество);
КонецФункции

Такой подход позволяет пользователю вручную корректировать итоговые цифры в табличной части перед печатью, если реальный вес на весах отличается от расчетного, что критично для прохождения весового контроля и заполнения 11-й графы CMR ("Вес брутто, кг").

Опыт современных систем (ERP и КА)

Если мы посмотрим на развитие линейки решений 1С, то в современных конфигурациях (1С:ERP) уже существует отдельный документ ТранспортнаяНакладная. Он работает в связке с подсистемой "Доставка". В этой модели сначала формируется "Задание на доставку", которое группирует распоряжения (реализации) по транспортным средствам и маршрутам, а затем на его основании генерируются печатные формы.

При разработке своего решения в УПП мы можем частично заимствовать эту логику:

Практические советы по оформлению печатной формы

При формировании макета CMR обратите внимание на следующие моменты:

  1. Мультиязычность: Международная накладная требует заполнения на нескольких языках (обычно русский и английский/немецкий). В макете стоит предусмотреть параметры для обоих языков.
  2. Автозаполнение адресов: Используйте функцию УправлениеКонтактнойИнформацией.ПолучитьПредставлениеАдреса, чтобы корректно выводить юридические и фактические адреса отправителя и получателя.
  3. Коды ТН ВЭД: Для экспорта обязательно наличие кодов ТН ВЭД. Если они заполнены в справочнике Номенклатура, их нужно подтягивать в графу "Наименование груза" автоматически.

Таким образом, создание отдельного документа — это не просто "костыль" для обхода ограничений ВПФ, а переход к более зрелому управленческому учету логистики. Это позволяет структурировать данные, обеспечить прозрачность работы склада и исключить ошибки при заполнении юридически значимых документов.

← На главную