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