Имя: Пароль:
1C
 
Создание веб сервиса и отправка номенклатуры в другую базу по http
0 Простенький вопросик
 
06.12.20
17:09
Дайте ссылку на грамотный пример без глюков
1 ДенисЧ
 
06.12.20
17:16
Веб-сервис не предназначен для передачи данных.
Он отдаёт данные в ответ на запрос.

Так что - сначала матчасть поучи. Там делается в 1с за 2 минуты + 5 минут на публикацию (не считая времени на поиск, скачивание и установку апача)
2 Garykom
 
гуру
06.12.20
18:12
(1) С фига ли? Веб или http (лучше http оно проще) предназначено для передачи в обе стороны.

Данные можно как вытягивать так и заталкивать
3 ДенисЧ
 
06.12.20
18:15
(2) Ты можешь самостоятельно именно веб-сервис заставить передавать данные?
И да, не путай с .ОтправитьДляОбработки(). Это не веб-сервис.
4 Гений 1С
 
гуру
06.12.20
18:42
(0) о, я так контрагентов гонял
5 Гений 1С
 
гуру
06.12.20
18:42
(0) Еще актуально? Могу набросать кода
6 ДедМорроз
 
06.12.20
18:48
Web или http сервис отвечает на полученный запрос,то есть инициатором выступает тот,кто к нему обращается,а уж направление передачи данных определяется логикой
По сути,запрос к сервису,это входящие данные,а ответ сервиса - исходящие.
7 Гений 1С
 
гуру
06.12.20
18:53
Кароче, вот тебе пример для затравки.

Функция    ПодключитьсяКСервисуФормированияПродаж() Экспорт
    СтруктураСервиса = Новый Структура("ОК, Ошибки", истина, ложь);
    
    Логин = Константы._СервисФормированияПродаж_Логин.Получить();
    Пароль = Константы._СервисФормированияПродаж_Пароль.Получить();;
    WSDLТекст = СокрЛП(Константы._СервисФормированияПродаж_WSDLТекст.Получить());
    
    
    Попытка
        Если ЗначениеЗаполнено(WSDLТекст) Тогда
            //WSDL файл локальный, если нужно менять порты
            ИмяВременногоФайла = ПолучитьИмяВременногоФайла("xml");
            Адрес = ИмяВременногоФайла;
            Адрес = СтрЗаменить(Адрес, "\", "/");
            Адрес = "file://" + Адрес;
            Т = Новый ТекстовыйДокумент();
            Т.УстановитьТекст(WSDLТекст);
            Т.Записать(ИмяВременногоФайла);
        Иначе
            //Пример адреса: "http://127.0.0.1/my1s/ws/ws_cliex.1cws?wsdl";
            Адрес = Константы._СервисФормированияПродаж_Адрес.Получить();
        КонецЕсли;
    
    
        Определение = Новый WSОпределения(Адрес, Логин, Пароль);
        
        ПространствоИмен = "http://www.geniy1s.ru/CliEx";;
        Сервис = Новый WSПрокси(Определение,
        ПространствоИмен,
        "_ФормированиеПродаж",
        "_ФормированиеПродажSoap"
        );
        
        Сервис.Пользователь = Логин;
        Сервис.Пароль = Пароль;
        СтруктураСервиса.Вставить("Сервис", Сервис);
    Исключение
        СтруктураСервиса.ОК = ложь;
        СтруктураСервиса.Ошибки = ОписаниеОшибки();
    КонецПопытки;
    
    Возврат СтруктураСервиса;    
КонецФункции

Функция ПолучитьТовар(СтруктураПоиска) Экспорт
    УстановитьПривилегированныйРежим(Истина);
    
    Результат = Новый Структура();
    СтруктураСервиса = _ФормированиеПродаж.ПодключитьсяКСервисуФормированияПродаж();
        
    Если СтруктураСервиса.ОК = ложь Тогда
        Результат.Вставить("ОК", ложь);
        Результат.Вставить("Ошибки", "Не удалось подключиться к базе, ошибка: " + СтруктураСервиса.Ошибки);
        Возврат Результат;
    КонецЕсли;
    

    СтруктураПоиска.Вставить("ИмяКомпьютера", ПараметрыСеанса._ИмяКомпьютераПользователя);        

    
    РезультатВнутр = СтруктураСервиса.Сервис.GetGoods(ЗначениеВСтрокуВнутр(СтруктураПоиска));
    Результат = ЗначениеИзСтрокиВнутр(РезультатВнутр);
    Возврат Результат;
КонецФункции
8 Cthulhu
 
06.12.20
18:57
а можно просто опубликовать - и сразу кодить дергание-запись чего надо через oData...
9 Гений 1С
 
гуру
06.12.20
19:00
(1) Хахаха, Горе-Teacher пришел
10 ДенисЧ
 
06.12.20
19:02
(9) Ну не всем же баптистами быть. Некоторым нужно ещё чайников учить
11 Гений 1С
 
гуру
06.12.20
19:03
(10) чему ты пытаешься научить?
12 ДенисЧ
 
06.12.20
19:05
(11) Тебе всё равно не понять, поэтому я не буду тратить время
13 Бишбармак
 
07.12.20
05:18
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший