1C Rest oData обновление данных PATCH запросом
Всем добра. Работаю с Rest Odata. С получением данных проблем нет.
Пришло время их изменять. Тут и возникли сложности. Делаю все как по документации.
PATCH запрос на ресурс
Причем такой ответ приходит как на обновление данных справочников так и для документов
Пришло время их изменять. Тут и возникли сложности. Делаю все как по документации.
PATCH запрос на ресурс
192.168.1.100/rest/odata/standard.odata/Catalog_ВидыЦен(guid('b90a2813-8380-11e9-9bec-e0d55e5ecc06')?$format=json
в теле запроса указываю свойства которые хочу изменить
{
"Description": "2% cкидка 212121",
"Идентификатор": "2Cкидка"
}
в ответ получаю.
{
"odata.error": {
"code": "-1",
"message": {
"lang": "ru",
"value": "Ошибка при выполнении обработчика - 'ПередЗаписью'"
}
}
}
ПоказатьПричем такой ответ приходит как на обновление данных справочников так и для документов
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Я использую такой код !
use GuzzleHttp\Client;
// данные для аутентификации
$username = 'test';
$password = 'test';
// создаем экземпляр HTTP-клиента
$client = new Client([
'base_uri' => 'http://1cs.local/base/odata/standard.odata/',
'timeout' => 5.0,
]);
// данные для добавления в базу данных
$newData = [
'Number' => '666993811',
'Date' => '2023-05-22T16:09:23',
// Добавьте другие поля и значения для добавления
];
// Преобразование данных в JSON
$jsonData = json_encode($newData);
// делаем PATCH-запрос к API 1С OData с передачей данных и заголовком авторизации
$response = $client->request('PATCH', 'Document_ПередачаОСВАренду(guid(\'ded04c9b-f8a1-11ed-9dda-b06ebfbdbb65\'))', [
'query' => [
'$format' => 'json',
],
'headers' => [
'Authorization' => 'Basic ' . base64_encode("$username:$password"),
'Content-Type' => 'application/json',
],
'body' => $jsonData,
]);
// проверка кода ответа
if ($response->getStatusCode() === 200) {
echo 'Запись успешно добавлена в базу данных 1С.';
} else {
echo 'Произошла ошибка при добавлении записи в базу данных 1С.';
}
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот