Как вызвать процедуру 1С из ASP #375230


#0 by LeshiyL
Есть Web-расширение. Нужно сделать проверку пользователя по коду в справочнике контрагента и полю пароля в том же справочнике. Соответственно куда-то надо засунуть функцию проверки. А куда? В семерке под это дело был выделена отдельная обработка,на которую ссылался Globol.asa а что является аналогом в восьмерке? Попробовал тупо вызвать в ASP фунцию, которую запихал в модуль внешнего соединиения - меня вежлово послали.Значит не тем путем пошел.. А куда нужно было?
#1 by skunk
так к примеру...
#2 by LeshiyL
А что вообще в восьмерке является аналогом модуля сессии в семерке,где можно завести кучу переменных и хранить в них данные накопленные в течение всей сессии? (тот же код (или ссылку) подключившегося клиента)
#3 by skunk
боюсь, что не понял вопроса
#4 by Minilaus
Просто описываешь нужную тебе процедуру в модуле глобальном, у которго должна стоять галочка Внешнее соединение и у процедуры Экспорт, и вызываешь ее через ComОбъект восмерки public static object ExecuteMethod(object ObjectSource, string PropertyName, object[] Parameters)        {            return ObjectSource.GetType.InvokeMember(PropertyName,System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.InvokeMethod | System.Reflection.BindingFlags.Static, null,ObjectSource,Parameters);        } вот моя заготовка для вызова метода у любого объекта восмерки
#5 by Minilaus
Можно твою процедуру описать даж в модуле нужного тебе справочника, и в мою процедуру передаешь полученный ком объект справочника (ObjectSource), название метода (PropertyName) и массив параметров
#6 by LeshiyL
С вызовом процедур более-менее понятно, непонятно с хранением данных. Можно пытаться запихать в переменные внешнего соединения, но там они хранятся только на момент подключения (что в общем понятно) А что делать если мне нужно задать это значение 1 раз, а получить 100 раз причем все на разных страница. Точнее как переходя со страницы на страницу сохранять подключение к базе? Пробовал в Session засунуть V8DbConnection - ругается говорит что согласна хранить только объекты, а V8DbConnection - это не объект. По идеи надо бы сделать : сессия началась - подключение появилось, сессия закончилась - подключение разорвалось. Но как?? Засунуть в процедуру при старте и конце сессии, но как обратиться к этому кодключению с других страниц?
#7 by Minilaus
Создай глобальную переменную типа object в Asp (в модуле Global.asax) она то и будет хранить постоянно твое соединение при перемещении между страницами и при Application_start создаешь ее (также в Global.asax) и там же разрушаешь при Application_End
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С

Back to top