Широкие возможности взаимодействия между приложениями предоставляет механизм OLE Automaion. Программа VVS "Транспорт" может быть как OLE сервером, так и OLE клиентом.
Использование программы как OLE клиента возможно при формировании документов и отчетов. В формах документов и отчетов можно вставлять фрагменты, написанные на Visual Basic Script (VBScript) и JavaScript (JScript). Это позволяет использовать OLE Automation для связи с объектами других приложений и операционной системы.
Программа VVS "Транспорт" может быть запущена внешним приложением в качестве OLE Automation сервера. Она предоставляет доступ к списку заданий и контактов.
Для запуска программы VVS "Транспорт" в качестве OLE Automation сервера из внешнего приложения, создается объект с OLE идентификатором Transport.VVSTrans, а затем выполняются методы этого объекта, используются его свойства.
Методы объекта:
1) Начальная инициализация:
Init
2) Добавление нового контакта. В параметрах передаются значения реквизитов получателя.
AddGoal ( Код, Наименование, Город, Адрес, ФИО, Телефон, E-mail, Www,_Сервер, Номер_ICQ, Часы_работы)
Если контакт с заданным кодом уже имеется, то изменения в него не вносятся. После вызова этой команды, при заведении нового задания методом AddDelo в качестве пункта назначения будет использован этот контакт.
3) Вывод на экран данных контакта, который был найден или заведен как новый методом AddGoal. Вызов без параметров.
ShowGoal
4) Добавление нового задания с указанным номером счета в учетной программе. Программа запрашивает дополнительные параметры нового задания - назначение, отдел исполнитель. Перед вызовом этой команды рекомендуем использовать команду ADDGOAL для поиска или заведения контакта.
AddTask ( №_заказа_в_учетной_программе )
5) Поиск или добавление нового задания с указанным номером счета в учетной программе. Если задание с указанным номером заказа не найдено, то запрашиваются дополнительные параметры нового задания - назначение, отдел исполнитель. Перед вызовом этой команды рекомендуем использовать команду ADDGOAL для поиска или заведения контакта.
FindOrAddTask ( №_заказа_в_учетной_программе )
Процедура Доставка()
Перем Дост;
Дост=СоздатьОбъект("Transport.VVSTrans");
Дост.AddGoal(Строка(Контрагент.Код), Строка(Контрагент.Наименование),"",Строка(Контрагент.ЮрФизЛицо.ТекущийЭлемент().ФактАдрес) ,"","",Строка(Контрагент.ЭлПочта), Строка(Контрагент.Сайт), "", "");
Дост.FindOrAddTask(НомерДок);
КонецПроцедуры