Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
09 июл 2026, 20:34

база с использованием ФабрикаXDTO

Автор sali, Сегодня в 13:07

0 Пользователей и 1 гость просматривают эту тему.

sali

есть база к которой центральная база (основная - унф или розница) обращается к базе Бонус Сервер чтобы: получить, создать, удалить, отредактировать дисконтную карту покупателя или внести новый магазин, или получить бонусные баллы по дисконтной карте. Я сделал публикацию этой Серверной базы чтобы отлаживать, но весь код связывающий работу меж этих баз использует механизм XDTO. и мне не совсем понятно как центральная база обращается до процедур/функций в базе Бонус Сервера и отловить не могу, во-первых, потому что не понимаю где ставить первую точку останова, а, во-вторых, как идет обращение к этим процедурам. ведь есть методы WEB-сервиса и функции их, а по общему поиску ни где не нахожу чтобы к этим WEB-сервисам обращались. вижу только такое: название функции, имя WEB-сервиса, имя процедуры WEB-сервиса


небольшой отрывок кода из БонусСервера, метод - получения карты
Функция GetCards(IDDiscountCard, IDOrganization, PartnersCards)

ДисконтнаяКартаТип = ФабрикаXDTO.Тип("http://www.fffff/bonus", "DiscountCard");
КартаПартнерскойОрганизацииТип = ФабрикаXDTO.Тип("http://www.fffff/bonus", "PartnersCard");
КартыПартнерскихОрганизацийТип = ФабрикаXDTO.Тип("http://www.fffff/bonus", "PartnersCards");
ОрганизацияТип = ФабрикаXDTO.Тип("http://www.fffff/bonus", "Organization");
ТипТипаКарты = ФабрикаXDTO.Тип("http://www.fffff/bonus", "TypeCard");

ОрганизацияСсылка = УправлениеМаркетинговымиАкциямиСлужебный.ОрганизацияСсылкаПоID(IDOrganization);

// Структура Минимум Максимум, с таблицами значений, в строках таблицы организации, и проценты по условиям участия.
ОрганизацииПартнеры = УправлениеМаркетинговымиАкциямиСлужебный.МассивОрганизацийПоОрганизации(ОрганизацияСсылка);

PartnersCards = ФабрикаXDTO.Создать(КартыПартнерскихОрганизацийТип);



+ прикрепляю структуру WEB-сервисов и что вижу по общему поиску WEB-сервисов

вопрос, подскажите откуда начать ловить? Должна же быть отправная точка

sali

да, кстати
это код когда нужно получить карты. он расположен в центральной базе
&НаСервере
Функция ПолучитьДисконтныеКартыИзБонусСервераНаСервере()

Прокси = ИнтеграцияБонусСервераПовтИсп.ПолучитьПрокси();

Если Прокси = Неопределено Тогда
Возврат Ложь;
КонецЕсли;
   
ФабрикаБонусСервера = Прокси.ФабрикаXDTO;
Organization = ФабрикаБонусСервера.Создать(ФабрикаБонусСервера.Тип("http://www.fffff/bonus","Organization"));

Organization.ID = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.Организация,"КодВБонуснойСистеме");
Organization.Name = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.Организация,"Наименование");

Результат = Прокси.DownloadCards(Organization);
СОшибками = Ложь;
Для Каждого СтрокаКарт Из Результат.Cards Цикл

СтруктураРезультат = ПодключаемоеОборудованиеРТВызовСервера.ДанныеПоискаПоШтрихкоду(СтрокаКарт.CardNumberID, ЭтотОбъект);


получаем прокси
Функция ПолучитьПрокси(ЗащищенноеСоединение = Ложь) Экспорт

// Временный Код Пока Вика не отпустит обработку.
ЗащищенноеСоединение = Константы.ИспользоватьЗащищенноеСоединениеБонусСервер.Получить(); // получает булево
// Конец временной кода.

Попытка
Пользователь = ПользовательBonusServer();
Пароль = ПарольBonusServer();
Если ЗащищенноеСоединение Тогда
ssl1 = Новый ЗащищенноеСоединениеOpenSSL(
            Неопределено,
            Новый СертификатыУдостоверяющихЦентровWindows());

Определение = Новый WSОпределения("https://"+Константы.АдресBonusServer.Получить()+"/"+Константы.ИмяBonusServer.Получить()+"/ws/discountService.1cws?wsdl",Пользователь,Пароль,,0,
ssl1);
Иначе
Определение = Новый WSОпределения("http://"+Константы.АдресBonusServer.Получить()+"/"+Константы.ИмяBonusServer.Получить()+"/ws/discountService.1cws?wsdl",Пользователь,Пароль,,0,);
КонецЕсли;

Прокси = Новый WSПрокси(Определение,"http://www.fffff/bonus","DiscountService","DiscountServiceSoap12",,);
Прокси.Пользователь = Пользователь;
Прокси.Пароль = Пароль;

Возврат Прокси;
Исключение
ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при подключении к бонус серверу. " + ОписаниеОшибки());

Возврат Неопределено;
КонецПопытки;

КонецФункции

sali


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск