Инструкция API ВМТП
Регистрация
Важно. Для доступа к API необходимо отправить заявку на доступ.
Заявка на доступ к API-сервисам порта.doc
Установка
Загрузите файл обработки в "Дополнительные обработки" 1С:
Обработка содержит 3 команды:
- Автоматическая загрузка - загружает данные исходя из настроек. Предназначена для автоматического запуска по расписанию (По умолчанию расписание отключено);
- Открыть настройки - открывает настройки модуля. Предназначена для запуска администратором и уполномоченных им лиц;
- Рабочий стол ВМТП по API - Инструмент для ручной загрузки информации пользователем.
Настройка
Сначала укажите логин и пароль, полученные от ВМТП. Возможна загрузка по нескольким компаниям в одну базу:
Типовые параметры
Типоразмер | ЗначениеПараметра = Типоразмер(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.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.type = "Контейнер" и ЗначениеПараметра = Справочники.CW_ТипыПеревозок.НайтиПоНаименованию(Наименование) |
Таможенный режим |
Если cargo.customsData.Свойство("declarations") Тогда |
Терминал | ЗначениеПараметра = Справочники.CW_Терминалы.НайтиПоНаименованию("ВМТП") |