Проверка на соединение с базой через интерфейс Odata

1. sajmon45 02.02.24 14:46 Сейчас в теме
Делаю проверку на соединение с базой через интерфейс Odata. И возникает код состояния 301. В чем может быть проблема?
Сервер = "localhost";
	
	Соединение = Новый HTTPСоединение(Сервер, 80,"Администратор", "");
	Адрес = "/bgulm4/odata/standard.odata/$metadata";
	Запрос = Новый HTTPЗапрос(Адрес);
	Ответ = Соединение.Получить(Запрос);
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. laperuz 47 02.02.24 16:10 Сейчас в теме
Посмотрите что в заголовке Location ответа.
Там будет адрес, на который вас перенаправляет
P.S. не ваш случай?
http://forum.infostart.ru/forum9/topic214408/message2358964/#message2358964
3. sajmon45 02.02.24 16:33 Сейчас в теме
(2) Подскажите. А почему в адресе Location прописывается сервер где находиться база источник. Или если базы опубликованы на разных серверах одна на локальном, другая нет, связь сделать нельзя?
4. laperuz 47 02.02.24 16:47 Сейчас в теме
(3)Потому что обращаясь к серверу localhost вы обращаетесь к тому компьютеру, в контексте которого выполняется код

Если это контекст &НаКлиенте, это компьютер, на котором запущена 1С. Если &НаСервере, то компьютер, на котором запущен сервер 1С(если клиент-серверный режим работы)

Вам нужно в качестве сервера указать сервер, на котором работает баз, в которую вы обращаетесь
5. sajmon45 04.02.24 17:07 Сейчас в теме
(4) А подскажите, пожалуйста, как правильно через метод POST записать данные через Odata? Так работает, но только на один документ!
ДанныеДокумента = Новый соответствие();
	ДанныеДокумента.Вставить("Ref_Key",GUID);    
	ДанныеДокумента.Вставить("Организация_Key","d4aff59d-d3a8-11ed-8dfa-10bf48ba43bd"); 
	ДанныеДокумента.Вставить("Date", Формат(ТекущаяДатаСеанса(),"ДФ=yyyy-MM-ddTHH:mm:ss"));
6. laperuz 47 05.02.24 07:54 Сейчас в теме
(5)https://its.1c.ru/db/v8325doc#bookmark:dev:TI000001373

Насколько я знаю, создать несколько объектов одновременно через OData нельзя.
7. sajmon45 05.02.24 12:02 Сейчас в теме
(6) Спасибо. А еще не подскажите, как передать для записи документу табличную часть?
8. laperuz 47 05.02.24 12:43 Сейчас в теме
(7)В виде массива структур/соответствий по колонкам. Сам массив поместить тоже в структуру/соответствие, где ключ - имя ТЧ, значение - массив.
9. sajmon45 06.02.24 14:57 Сейчас в теме
(8) А еще вопрос, как правильно прописывать подключение к клиент серверной базе, то есть если она не опубликована на локальном сервере? Так вот сейчас прописываю
ПараметрыСоединения = Новый Структура; 
	ПараметрыСоединения.Вставить("Сервер", "localhost");
	ПараметрыСоединения.Вставить("Порт", 80);
	ПараметрыСоединения.Вставить("Пользователь", "Администратор");
	ПараметрыСоединения.Вставить("Пароль", "");
	
	HTTPСоединение = Новый HTTPСоединение(ПараметрыСоединения.Сервер,ПараметрыСоединения.Порт,
	ПараметрыСоединения.Пользователь, ПараметрыСоединения.Пароль);
АдресРесурса= "/buh_dev/odata/standard.odata/Catalog_Организации?$filter=ИНН eq '" + Строка(ДокументОбъект.Организация.ИНН) + "'?$format=json";   
	Ответ = ВызватьHTTPМетодНаСервере("GET",Неопределено ,ПараметрыСоединения, АдресРесурса,ДанныеДокумента);
Показать
10. laperuz 47 06.02.24 15:04 Сейчас в теме
(9)базу нужно опубликовать на веб-сервере(обычно это Apache или IIS), и она после этого должна быть доступна по некому сетевому адресу. Вот это и будет адрес сервера. Статей по теме публикации базы в веб куча
11. sajmon45 06.02.24 15:06 Сейчас в теме
Ну она уже опубликована!
12. sajmon45 06.02.24 15:08 Сейчас в теме
(10) А если она уже опубликована как прописать, что-то не получается?
13. laperuz 47 06.02.24 15:34 Сейчас в теме
(12) Вот тут
ПараметрыСоединения.Вставить("Сервер", "localhost");

Вместо "localhost" нужно указать адрес сервера
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот