Отсылаю запрос odata через http с записью непереодического независимого регистра сведений с типам(и) сложнее простых (важное замечание, т.к. в РС с простыми измерениями записывается успешно)
Получаю САБЖ.
Вопрос: как найти дополнительные сведения в техножурнале? Весь его перерыл при помощи Инструментов разработчика (ИР), но так и не нашел подходящего по смыслу или тексту упомянания ошибки
Запрос на фото. Сразу скажу что перепробовал разные комбинации передаваемых параметров, вплоть до передачи единственного: Объект_Key="7f366b61-9eab-11e5-80c3-d485647b9a76" (guid'GUID' тоже пробовал)
8.
user-z99999
7817.07.24 16:08 Сейчас в теме+3 $m
(7)
Ошибки могут быть связаны с лишним пробелом или каким-то спец.символом.
Если есть возможность (работаем с тестовой базой):
создаём очень простой регистр с одним измерением, и пытаемся туда записать.
потом усложняем, два измерения
потом усложняем, сложные типы (или простые).
(8) Его величество чувствительно к регистру имени измерения, подавай ему "ФизЛицо_Key" (на "Физлицо_Key" ругался)
С реквизитами (в т.ч. табличных частей) документов и справочников он к регистру, значит, не требователен. А к измерению регистра придрался. Меня распирает негодование.
Измерения регистра сведений образуют ключ записи. При попытке изменить ключ записи будет генерироваться исключение с HTTP-статусом 404. Рекомендуется в таком случае вначале удалять существующую запись, а затем добавлять новую."
Имеется РС.astd_ЕстьБизнесПроцессПоЗаявкамНаРасходДС (независимый и непериодический), в нем 1 измерение = ЗаявкаНаРасходДС - ДокументСсылка.ЗаявкаНаРасходованиеДенежныхСредств и 1 ресурс = ЕстьБизнесПроцесс - булево
Рабочий REST запрос который делает запись в РС через интерфейс ODATA
Соединение = Новый HTTPСоединение ("td-1c01",80,"odata.user","password",,Ложь);
ЗаголовокHTTP = Новый Соответствие();
ТекстЗапроса =
"<?xml version=""1.0"" encoding=""utf-8""?>
|<entry xmlns=""http://www.w3.org/2005/Atom"";
| xmlns:d=""http://schemas.microsoft.com/ado/2007/08/dataservices"";
| xmlns:m=""http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"";
| xmlns:georss=""http://www.georss.org/georss"";
| xmlns:gml=""http://www.opengis.net/gml"">;
|
| <category term=""StandardODATA.InformationRegister_astd_ЕстьБизнесПроцессПоЗаявкамНаРасходДС"" scheme=""http://schemas.microsoft.com/ado/2007/08/dataservices/scheme""; />
| <content type=""application/xml"">
| <m:properties>
| <d:ЗаявкаНаРасходДС_Key>da8ae0fa-2648-11e5-b885-40a8f02fab07</d:ЗаявкаНаРасходДС_Key>
| <d:ЕстьБизнесПроцесс>true</d:ЕстьБизнесПроцесс>
| </m:properties>
| </content>
|</entry>";
Запрос = Новый HTTPЗапрос("tdtest/odata/standard.odata/InformationRegister_astd_ЕстьБизнесПроцессПоЗаявкамНаРасходДС", ЗаголовокHTTP);
Запрос.УстановитьТелоИзСтроки(ТекстЗапроса);
Ответ = Соединение.ВызватьHTTPМетод("POST", Запрос);
ОтветВВидеСтроки = Ответ.ПолучитьТелоКакСтроку("UTF-8");
Сообщить(ОтветВВидеСтроки);
Интересно, что в такой же (непериодический, независимый регистр КИ, но с 2 измерениями сложного типа Объект и Вид) я передаю данные успешно, как в посте 5 по ссылке (6). А в этот, с исключительно простыми типами - ошибка. Думаю как то связано с кракозябрами из техножурнала (4)
8.
user-z99999
7817.07.24 16:08 Сейчас в теме+3 $m
(7)
Ошибки могут быть связаны с лишним пробелом или каким-то спец.символом.
Если есть возможность (работаем с тестовой базой):
создаём очень простой регистр с одним измерением, и пытаемся туда записать.
потом усложняем, два измерения
потом усложняем, сложные типы (или простые).
(8) Его величество чувствительно к регистру имени измерения, подавай ему "ФизЛицо_Key" (на "Физлицо_Key" ругался)
С реквизитами (в т.ч. табличных частей) документов и справочников он к регистру, значит, не требователен. А к измерению регистра придрался. Меня распирает негодование.
2.
user785225
2604.06.24 15:22 Сейчас в теме+3.7 $m
Способ "поговорить с уточкой" работает
В техножурнале найти ничего не удалось, но методом проб и ошибок выяснил, что дело было во втором измерении сложного типа ("Вид"), для которого тоже нужно было указать _Type
Объект: <guid>
Объект_Type: StandardODATA.Catalog_ФизическиеЛица
Тип: "Телефон"
Вид: <guid>
Вид_Type: StandardODATA.Catalog_ВидыКонтактнойИнформации
Представление: 79022222222
В аналогичный независимый непериодический РС УПП 1.3 (ЛицевыеСчетаРаботниковОрганизации)
Снова не записывается с той же ошибкой, причем все 3 его Измерения - одиночных типов (3 ссылки)
Какая то бесконечная борьба...
Соединение = Новый HTTPСоединение("server", , "ODATA", "password", , 20); К = СпособКодированияСтроки.URLВКодировкеURL;//КодировкаURL;//
Запрос = Новый HTTPЗапрос("base/odata/standard.odata/InformationRegister_ЛицевыеСчетаРаботниковОрганизации?$format=json"); //КодироватьСтроку(СотрудникУИД, К);
Запрос.УстановитьТелоИзСтроки("{""Физлицо"": ""abec57cb-3d10-11ef-ab92-00155d704702"", ""Физлицо_Type"": ""StandardODATA.Catalog_ФизическиеЛица"", ""Организация"": ""10821bc3-f615-11df-8d81-003048dc4e8a"", ""Организация_Type"": ""StandardODATA.Catalog_Организации"", ""НомерЛицевогоСчета"": ""123456789"", ""Document"": ""d"", ""Document_Type"": ""StandardODATA.Undefined""}"); //, "windows-1251", ИспользованиеByteOrderMark.Использовать);
Ответ = Соединение.ВызватьHTTPМетод("POST", Запрос).ПолучитьТелоКакСтроку();
Файлы техножурнала "24071613.log" прикрепляю, там в одном месте вместо имени регистра кракозябры (найти можно по ключевому слову "InformationRegister")
Пробовал переименовывать регистр на латинский - все равно САБЖ
Полная ТИИ не решила САБЖ