Модуль API ВМТП
Инструкция 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_Терминалы.НайтиПоНаименованию("ВМТП") |
Для получения консультации обращайтесь на help@accounter.org
Изменения API ВМТП
API ВМТП v1.6
Обновлён отбор запроса к ВМТП:
Поля выбираются из списка:
Если у типа поля предполагается конечное количество вариантов - они будут использованы как список правых значений:

Произвольное условие отбора
Введена галочка, позволяющая написать условия к примеру "ИЛИ":
Переработаны рассылки
Теперь их 2 и одна содержит информацию о данных загруженных в базу, а другая наличие ошибок
Оптимизированы функции обращающиеся к справочникам
Теперь они будут использовать буфер для того чтобы не лезть в базу n-ое количество раз
Починил поле кода загрузки (были проблемы с переключением на вкладки)
Введены шаблоны
(пока в таком виде - наверное потом как-то по-другому оформлю). Это просто предопределенные настройки заполнения предполагаемых параметров. Там же используется новая функция ПолучитьЗначениеИзМассива.
API ВМТП
Считывает оперативную информацию о ваших перевозках через ВМТП в "Бухгалтерию Экспедитора" в ручном и автоматическом режимах. С помощью данного модуля, в вашей 1С будет обновляться информация о находящихся в порту, убывших и ожидающихся к прибытию перевозках, без участия человека. Среди всех данных, предоставляемых ВМТП, наиболее популярными являются:
- Типоразмер (20DC, 40HC)
- Дата прибытия
- Дата принятия на погрузку
- Дата получения коммерческого разрешения
- Дата убытия
- Судно (NIIGATA TRADER)
- Рейс (2302E)
- Линия (SINOKOR)
- Номер коносамента (SNKO000000000000)
- Наименование груза (ВИДЕООБОРУДОВАНИЕ, ПРИНАДЛЕЖНОСТИ)
- Вес брутто груза (вес нетто груза + вес упаковки). Без веса контейнера
- Вес контейнера
- Количество мест
- Номера ДТ (через запятую)
- Таможенный режим (ДТ/ВТТ)
- Номер пломбы
- Охрана (да/нет)
- Повреждения контейнера (КТК - деформация ребер,КТК - загрязнение снаружи)
- Релиз получен (Да/Нет)
- Станция назначения
Механизм настройки модуля позволяет произвести адаптацию под ваши условия без дополнительных затрат на работу программиста, в большинстве случаев. Стоимость модуля без внедрения 36 000р. Стоимость внедрения взимается по факту, в соответствие с потраченным временем.
Для получения консультации обращайтесь на help@accounter.org