# Модуль API ВМТП # Инструкция API ВМТП ## Регистрация Важно. Для доступа к API необходимо отправить заявку на доступ. [Заявка на доступ к API-сервисам порта.doc](https://cloud.accounter.org/index.php/s/9tRNF6ySbwX2FAQ) ## Установка Загрузите файл обработки в "Дополнительные обработки" 1С: [](https://book.accounter.org/uploads/images/gallery/2023-03/qxWimage.png) Обработка содержит 3 команды: - Автоматическая загрузка - загружает данные исходя из настроек. Предназначена для автоматического запуска по расписанию (По умолчанию расписание отключено); - Открыть настройки - открывает настройки модуля. Предназначена для запуска администратором и уполномоченных им лиц; - Рабочий стол ВМТП по API - Инструмент для ручной загрузки информации пользователем. ## Настройка Сначала укажите логин и пароль, полученные от ВМТП. Возможна загрузка по нескольким компаниям в одну базу: [](https://book.accounter.org/uploads/images/gallery/2023-03/HbXimage.png) ## Типовые параметры
Типоразмер | ЗначениеПараметра = Типоразмер(cargo.container.type); |
Коммерческое разрешение | Если cargo.Свойство("release") И cargo.release.Свойство("commercial") И cargo.release.commercial.state=Истина Тогда ЗначениеПараметра = РаспознатьДату(cargo.release.commercial.date) КонецЕсли |
Вес брутто | ЗначениеПараметра = Число(cargo.weight) + Число(cargo.container.weight) |
Вес нетто | ЗначениеПараметра = Число(cargo.weight) |
Выгружен в порту | ЕСЛИ cargo.arrival.Свойство("date") ТОГДА ЗначениеПараметра = РаспознатьДату(cargo.arrival.date) КОНЕЦЕСЛИ |
Внутрипортовые операции | Если cargo.Свойство("customsData") Тогда ЗначениеПараметра = ""; Для каждого ТамПроц Из cargo.customsData.surveys цикл ЗначениеПараметра = ЗначениеПараметра + ?(ЗначениеПараметра="","",",") + ?(ТамПроц.type="Физический","Досмотр",ТамПроц.type); КонецЦикла; КОнецЕсли |
Отгружен по ЖД | ЕСЛИ cargo.status = "Убыл" и cargo.departure.direction = "RW" ТОГДА ЗначениеПараметра = РаспознатьДату(cargo.departure.date) КОНЕЦЕСЛИ |
Автовывоз с терминала | ЕСЛИ cargo.status = "Убыл" и cargo.departure.direction = "AUTO" ТОГДА ЗначениеПараметра = РаспознатьДату(cargo.departure.date) КОНЕЦЕСЛИ |
Груз | ЗначениеПараметра = cargo.description |
Тип перевозки | Если cargo.arrival.direction = "SEA" Тогда ЗначениеПараметра = Справочники.CW\_ТипыПеревозок.НайтиПоНаименованию("Импорт"); Иначе ЗначениеПараметра = Справочники.CW\_ТипыПеревозок.НайтиПоНаименованию("Экспорт"); КонецЕсли |
Принят на погрузку | ЕСЛИ cargo.Свойство("departure") И cargo.departure.Свойство("direction") И cargo.departure.direction = "RW" ТОГДА ЗначениеПараметра = РаспознатьДату(cargo.departure.RWAcceptanceDate) КОНЕЦЕСЛИ |
Коносамент | ЗначениеПараметра = ""; ТипВхДокумента = ?(cargo.arrival.direction = "SEA","Коносамент (входящий)","ЖД накладная"); Для каждого Документ Из cargo.arrival.documents цикл Если Документ.type = ТипВхДокумента тогда ЗначениеПараметра = ЗначениеПараметра + ?(ЗначениеПараметра="","",",") + Документ.number; КонецЕсли КонецЦикла |
Линия | Если cargo.arrival.direction = "SEA" И cargo.Свойство("arrival") И cargo.arrival.Свойство("transport") Тогда ЗначениеПараметра = cargo.arrival.transport.voyage.line.name; ИНАЧЕЕсли cargo.arrival.direction = "RW" И cargo.Свойство("departure") Тогда ЗначениеПараметра = Линия(cargo.departure.transport.voyage.line.name); КонецЕсли |
Номера ДТ | ЗначениеПараметра = ""; Если cargo.customsData.Свойство("declarations") Тогда Для каждого Д Из cargo.customsData.declarations цикл ЗначениеПараметра = ЗначениеПараметра + ?(ЗначениеПараметра="","",",") +Д.number; КонецЦикла КонецЕсли |
Номер пломбы | ЗначениеПараметра = ""; Для каждого Пломба Из cargo.seals цикл ЗначениеПараметра = ЗначениеПараметра + ?(ЗначениеПараметра="","",",") + СтрЗаменить(Пломба.number,"ИМП ",""); КонецЦикла; ЗначениеПараметра = СтрЗаменить(ЗначениеПараметра,"Прочее ",""); |
Номер рейса | Если cargo.arrival.direction = "SEA" И cargo.Свойство("arrival") Тогда ЗначениеПараметра = cargo.arrival.transport.voyage; ИНАЧЕЕсли cargo.arrival.direction = "RW" И cargo.Свойство("departure") Тогда ЗначениеПараметра = cargo.departure.transport.voyage; КонецЕсли |
Охрана | ЕСЛИ cargo.departure.Свойство("direction") ТОГДА ЕСЛИ cargo.departure.direction = "RW" ТОГДА ЗначениеПараметра = cargo.departure.guard КОНЕЦЕСЛИ КОНЕЦЕСЛИ |
Повреждение | ЗначениеПараметра = ""; Если cargo.Свойство("damage") Тогда М=Новый Массив; Для каждого Повреждение Из cargo.damage цикл М.Добавить(Повреждение.place + " - " +Повреждение.name); КонецЦикла; СортировкаВыбором(М); Для каждого П Из М цикл ЗначениеПараметра = ЗначениеПараметра + ?(ЗначениеПараметра="","",",") + П; КонецЦикла; КонецЕсли |
Релиз получен | Если cargo.Свойство("release") И cargo.release.Свойство("agent") И cargo.release.agent=Истина Тогда ЗначениеПараметра = Истина; КонецЕсли |
Станция назначения | ЕСЛИ cargo.status = "Убыл" И cargo.departure.direction = "RW" ТОГДА ЗначениеПараметра = ЖДСтанция(cargo.departure.document.station.name, cargo.departure.document.station.code, Истина); КОНЕЦЕСЛИ; |
Станция отправления | ЗначениеПараметра = ЖДСтанция("ПОРТ ВЛАДИВОСТОК"); |
Судно | ЕСЛИ cargo.type = "Контейнер" и cargo.status = "Убыл" и cargo.arrival.direction = "SEA" и cargo.departure.direction = "RW" ТОГДА ЗначениеПараметра = РаспознатьДату(cargo.departure.date) КОНЕЦЕСЛИ ЗначениеПараметра = Справочники.CW\_ТипыПеревозок.НайтиПоНаименованию(Наименование) |
Таможенный режим | Если cargo.customsData.Свойство("declarations") Тогда Для каждого Д Из cargo.customsData.declarations цикл Если Д.type = "ДТ" ТОГДА ЗначениеПараметра = "ГТД"; ИНАЧЕЕсли Д.type = "Транзитная декларация" ТОГДА ЗначениеПараметра = "ВТТ"; КонецЕсли; КонецЦикла КонецЕсли |
Терминал | ЗначениеПараметра = Справочники.CW\_Терминалы.НайтиПоНаименованию("ВМТП") |