Транспортные реквизиты в INVOIC 970 для пива

Доступно в модуле с версии 1.29.0.

Законодательные требования

Согласно ПП № 746 от 1.06.24 г о внесении изменений в ПП № РФ 2173 от 30.11.22 г, в УПД 970 изменяется порядок передачи сведений при отгрузках товарной группы «Пиво и слабоалкогольные напитки».

Становятся обязательными реквизиты:

  1. Номер и дата перевозочного документа.
  2. УИД перевозочного документа.
  3. Регистрационный номер транспортного средства.

Переданные данные будут проверяться на стороне ЦРПТ.

Заполнение и отправка транспортных реквизитов

  • Ручной ввод и редактирование. Значения транспортных реквизитов можно вручную ввести/отредактировать в окне сообщения INVOIC на вкладке «Особенности».
  • Заполнение из учетной системы. Можно организовать автоматическое заполнение транспортных реквизитов из учетной системы при создании сообщения INVOIC. Для этого надо раскомментировать и дописать шаблон кода в ПМ «КорректировкаСообщения» (подробнее см. в разделе ниже). 
  • Отправка. При формировании XML-файла транспортные реквизиты выгружаются в разделе <deliveryInfo.transportation>.

Что нужно написать в ПМ «КорректировкаСообщения»

  1. Инициализация полей.
    Чтобы транспортные реквизиты появились на вкладке «Особенности», нужно инициализировать (создать) соответствующие поля в структуре сообщения. Для этого:
    1. В конфигураторе откройте ПМ «КорректировкаСообщения».
    2. Найдите шаблон кода, начинающийся со слов «Транспортные поля для ТГ Пиво», и раскомментируйте его (удалите два слеша).
      //{ Транспортные поля для ТГ Пиво
          Если Сообщение.ТипСообщения = "INVOIC" Тогда
               
              ////получаем доступ к транспортному документу
              //Реализация        = Док.ДокОснование;
              //ТранспортныйДок = Реализация.ТранспортнаяНакладная; //todo: заменить на ссылку транспортного документа
               
              //читаем транспортные реквизиты
              НомерПеревозки  = "";   //СокрЛП(ТранспортныйДок.НомерДок);
              ДатаПеревозки   = "";   //ТранспортныйДок.ДатаДок;
              УИДПеревозки    = "";   //ТранспортныйДок.ИдентификаторПеревозки;
              НомерМашины     = "";   //ТранспортныйДок.НомерМашины;
               
              //заполняем поля в структуре сообщения
              Если Сообщение.ВидимостьКолонки("НомерПеревозочногоДокумента") = -1 Тогда
                   
                  //1. Номер перевозочного документа (deliveryInfo.transportation.transportationDocument.number)
                  УстановитьЗначениеВСтрукутуруСообщения(Сообщение, "НомерПеревозочногоДокумента", НомерПеревозки);
                   
                  //2. Дата перевозочного документа (deliveryInfo.transportation.transportationDocument.date)
                  УстановитьЗначениеВСтрукутуруСообщения(Сообщение, "ДатаПеревозочногоДокумента", ДатаПеревозки);
                   
                  //3. УИД перевозки (deliveryInfo.transportation.transportationId)
                  Если Сообщение.ВидимостьКолонки("УИДПеревозки") = -1 Тогда
                      УстановитьЗначениеВСтрукутуруСообщения(Сообщение, "УИДПеревозки", УИДПеревозки);
                  КонецЕсли;
                   
                  //4. Номер машины (deliveryInfo.transportation.vehicleNumber)
                  Если Сообщение.Транспортировка.КоличествоСтрок() = 0 Тогда
                      Сообщение.Транспортировка.КоличествоСтрок(1);
                  КонецЕсли;
                   
                  Сообщение.Транспортировка.ПолучитьСтрокуПоНомеру(1);
                  УстановитьЗначениеВСтрукутуруСообщения(Сообщение.Транспортировка, "НомерТранспортногоСредства", НомерМашины);
              КонецЕсли;
               
          КонецЕсли;
      //}
      Этого будет достаточно, чтобы пустое поле появилось в окне сообщения INVOIC на вкладке «Особенности». Там его можно заполнить вручную.
  2. Автоматическое заполнение полей.
    Чтобы транспортные реквизиты автоматически заполнялись из учетной системы, нужно дописать шаблон кода.
    В шаблоне переменные заполнены пустыми значениями:
    НомерПеревозки  = "";
    ДатаПеревозки   = "";
    УИДПеревозки    = "";
    НомерМашины     = "";
    Нужно их заполнить данными из транспортного документа. 
    Например, это может выглядеть так (код зависит от конфигурации):
    //получаем доступ к транспортному документу
    Реализация      = Док.ДокОснование;
    ТранспортныйДок = Реализация.ТранспортнаяНакладная;
     
    //читаем транспортные реквизиты
    НомерПеревозки  = СокрЛП(ТранспортныйДок.НомерДок);
    ДатаПеревозки   = ТранспортныйДок.ДатаДок;
    УИДПеревозки    = ТранспортныйДок.ИдентификаторПеревозки;
    НомерМашины     = ТранспортныйДок.НомерМашины;

 


База знаний