Транспортные реквизиты в INVOIC 970 для пива
Доступно в модуле с версии 1.29.0.
Законодательные требования
Согласно ПП № 746 от 1.06.24 г о внесении изменений в ПП № РФ 2173 от 30.11.22 г, в УПД 970 изменяется порядок передачи сведений при отгрузках товарной группы «Пиво и слабоалкогольные напитки».
Становятся обязательными реквизиты:
- Номер и дата перевозочного документа.
- УИД перевозочного документа.
- Регистрационный номер транспортного средства.
Переданные данные будут проверяться на стороне ЦРПТ.
Заполнение и отправка транспортных реквизитов
- Ручной ввод и редактирование. Значения транспортных реквизитов можно вручную ввести/отредактировать в окне сообщения INVOIC на вкладке «Особенности».
- Заполнение из учетной системы. Можно организовать автоматическое заполнение транспортных реквизитов из учетной системы при создании сообщения INVOIC. Для этого надо раскомментировать и дописать шаблон кода в ПМ «КорректировкаСообщения» (подробнее см. в разделе ниже).
- Отправка. При формировании XML-файла транспортные реквизиты выгружаются в разделе <deliveryInfo.transportation>.
Что нужно написать в ПМ «КорректировкаСообщения»
- Инициализация полей.
Чтобы транспортные реквизиты появились на вкладке «Особенности», нужно инициализировать (создать) соответствующие поля в структуре сообщения. Для этого:- В конфигураторе откройте ПМ «КорректировкаСообщения».
- Найдите шаблон кода, начинающийся со слов «Транспортные поля для ТГ Пиво», и раскомментируйте его (удалите два слеша).
//{ Транспортные поля для ТГ Пиво Если Сообщение.ТипСообщения = "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); УстановитьЗначениеВСтрукутуруСообщения(Сообщение.Транспортировка, "НомерТранспортногоСредства", НомерМашины); КонецЕсли; КонецЕсли; //}
- Автоматическое заполнение полей.
Чтобы транспортные реквизиты автоматически заполнялись из учетной системы, нужно дописать шаблон кода.
В шаблоне переменные заполнены пустыми значениями:НомерПеревозки = ""; ДатаПеревозки = ""; УИДПеревозки = ""; НомерМашины = "";
Например, это может выглядеть так (код зависит от конфигурации)://получаем доступ к транспортному документу Реализация = Док.ДокОснование; ТранспортныйДок = Реализация.ТранспортнаяНакладная; //читаем транспортные реквизиты НомерПеревозки = СокрЛП(ТранспортныйДок.НомерДок); ДатаПеревозки = ТранспортныйДок.ДатаДок; УИДПеревозки = ТранспортныйДок.ИдентификаторПеревозки; НомерМашины = ТранспортныйДок.НомерМашины;