Создание заказ покупателю через REST Odata интерфейс
Всем привет, читаю книгу что бы понять как лучше тягать данные с сайта в 1С
Надо подтягивать заказы клиентов и покупателей и отдавать банковские выписки...если с банковскими выписками все более менее понятно, то как пропихивать в 1С заказы?
В учебнике по интеграции говорится см скрин - что делаем json и подбрасываем его в HTTP запрос к базе в теле POST запроса
Но где взять название полей которые в заказе фигурируют? Я так понял что их надо писать не на латинице а по какому то внутреннему названию
В примере создается элемент справочника должность (реквизиты все стандартные поэтому название Description - вроде как очевидно) и нет других созданных реквизитов объекта.
Вопрос как же получить названия реквизитов объекта в заказе для написания JSON который передавать в OData для создания заказа.
Надо подтягивать заказы клиентов и покупателей и отдавать банковские выписки...если с банковскими выписками все более менее понятно, то как пропихивать в 1С заказы?
В учебнике по интеграции говорится см скрин - что делаем json и подбрасываем его в HTTP запрос к базе в теле POST запроса
Но где взять название полей которые в заказе фигурируют? Я так понял что их надо писать не на латинице а по какому то внутреннему названию
В примере создается элемент справочника должность (реквизиты все стандартные поэтому название Description - вроде как очевидно) и нет других созданных реквизитов объекта.
Вопрос как же получить названия реквизитов объекта в заказе для написания JSON который передавать в OData для создания заказа.
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Да, есть нюансы с полями. Это касается платформенных и ссылочных реквизитов. Например, так постим документ:
{
"odata.metadata": "http://my_server/my_db/odata/standard.odata/$metadata#Document_АвансовыйОтчет/@Element",
"Ref_Key": "c8708132-45f8-11ec-80db-ecebb8a3aac8",
"Date": "2021-11-15T14:47:46",
"Number": "ПЭ21216142",
"ВалютаДокумента_Key": "e7a375a0-6ed4-11e3-b22c-d43d7e99f0b2",
"Комментарий": "Хозяйственные расходы",
"Организация_Key": "59fa81f1-56cd-11e5-b31b-00155d02010a",
"СуммаДокумента": 5100,
"ФизЛицо_Key": "4769ac90-6da0-11e5-b31b-00155d02010a",
"Ответственный_Key": "2d17c2b4-73c5-11e5-b31b-00155d02010a",
"НазначениеАванса": "Хозяйственные расходы",
"Бит_П_ВидыРасходов_Key": "267b7369-78dd-11e5-b31b-00155d02010a",
"Posted": "false",
"Бит_П_РегНомерДокументооборота": "ПЭС-212-АО-16142"
}
Показать
Я правильно понял то можно выбрать через REST OData к примеру документ и JSON что получится при выполнении запроса изменить (удалить к примеру строчку ТЧ) и этот же JSON подкинуть в REST OData обратно и тогда Документ поменяется (удалится строка ТЧ) ?
Написал добавление заказ но ругается на
{
"odata.error": {
"code": "-1",
"message": {
"lang": "ru",
"value": "Значение поля \"Дата\" не может быть пустой датой"
}
}
}
Поля ДАТА в явном виде нет в документе есть Date но оно заоплнено
В чем может быть дело?
{
"odata.metadata": "http://localhost/REST_UT/odata/standard.odata/$metadata#Document_ЗаказКлиента",
"value": [{
"Ref_Key": "72188be3-47a9-11ec-80ef-309c23cfab98",
"DataVersion": "AAAAAAAFtPE=",
"DeletionMark": false,
"Number": "НФУТ-000001",
"Date": "2021-11-17T16:22:45",
"Posted": true,
"Партнер_Key": "9779e6bd-95b5-11ea-80e7-309c23cfab98",
"Контрагент_Key": "90499204-d40d-11e7-9515-002590588ea5",
"Организация_Key": "a547700a-ea8b-11e1-b136-001e5848397d",
"Соглашение_Key": "8365b517-9aa3-11ea-80e7-309c23cfab98",
"Сделка_Key": "00000000-0000-0000-0000-000000000000",
"Валюта_Key": "8ae07bf7-95af-11ea-80e7-309c23cfab98",
"СуммаДокумента": 250,
"ГрафикОплаты_Key": "00000000-0000-0000-0000-000000000000",
"ЖелаемаяДатаОтгрузки": "0001-01-01T00:00:00",
"Склад_Key": "18bbfa9f-4ac3-11e4-b629-047d7b775de9",
"ЦенаВключаетНДС": true,
"Менеджер_Key": "ab331bc9-33cf-11e6-94b4-002590588ea5",
"ДополнительнаяИнформация": "",
"ДокументОснование": "",
"ДокументОснование_Type": "StandardODATA.Undefined",
"НеОтгружатьЧастями": true,
"Статус": "НеСогласован",
"МаксимальныйКодСтроки": "1",
"ДатаСогласования": "0001-01-01T00:00:00",
"Согласован": false,
"ФормаОплаты": "Безналичная",
"БанковскийСчет_Key": "00000000-0000-0000-0000-000000000000",
"БанковскийСчетКонтрагента_Key": "00000000-0000-0000-0000-000000000000",
"Касса_Key": "00000000-0000-0000-0000-000000000000",
"СуммаАвансаДоОбеспечения": 0,
"СуммаПредоплатыДоОтгрузки": 0,
"ДатаОтгрузки": "0001-01-01T00:00:00",
"АдресДоставки": "121099, Россия,г Москва, Новинский бульвар , дом 8, помещение 9.03, этаж 9",
"НалогообложениеНДС": "ПродажаОблагаетсяНДС",
"СкидкиРассчитаны": false,
"ХозяйственнаяОперация": "РеализацияКлиенту",
"Комментарий": "",
"НомерПоДаннымКлиента": "",
"ДатаПоДаннымКлиента": "0001-01-01T00:00:00",
"Грузоотправитель_Key": "00000000-0000-0000-0000-000000000000",
"Грузополучатель_Key": "00000000-0000-0000-0000-000000000000",
"БанковскийСчетГрузоотправителя_Key": "00000000-0000-0000-0000-000000000000",
"БанковскийСчетГрузополучателя_Key": "00000000-0000-0000-0000-000000000000",
"ГруппаФинансовогоУчета_Key": "00000000-0000-0000-0000-000000000000",
"КартаЛояльности_Key": "00000000-0000-0000-0000-000000000000",
"Договор_Key": "00000000-0000-0000-0000-000000000000",
"Подразделение_Key": "00000000-0000-0000-0000-000000000000",
"Автор": "ab331bc9-33cf-11e6-94b4-002590588ea5",
"Автор_Type": "StandardODATA.Catalog_Пользователи",
"ПорядокРасчетов": "ПоНакладным",
"Назначение_Key": "72188be2-47a9-11ec-80ef-309c23cfab98",
"СпособДоставки": "Самовывоз",
"ПеревозчикПартнер_Key": "00000000-0000-0000-0000-000000000000",
"ЗонаДоставки_Key": "00000000-0000-0000-0000-000000000000",
"ВремяДоставкиС": "0001-01-01T00:00:00",
"ВремяДоставкиПо": "0001-01-01T00:00:00",
"АдресДоставкиПеревозчика": "",
"АдресДоставкиЗначенияПолей": "",
"АдресДоставкиПеревозчикаЗначенияПолей": "",
"ДополнительнаяИнформацияПоДоставке": "",
"КонтактноеЛицо_Key": "00000000-0000-0000-0000-000000000000",
"Руководитель_Key": "1f25e2fe-9a9b-11ea-80e7-309c23cfab98",
"ГлавныйБухгалтер_Key": "1f25e2ff-9a9b-11ea-80e7-309c23cfab98",
"ВернутьМногооборотнуюТару": false,
"СрокВозвратаМногооборотнойТары": 0,
"СостояниеЗаполненияМногооборотнойТары": "",
"СуммаВозвратнойТары": 0,
"НазначениеПлатежа": "",
"ТребуетсяЗалогЗаТару": false,
"Приоритет_Key": "915022bd-95af-11ea-80e7-309c23cfab98",
"ИдентификаторПлатежа": "",
"ОсобыеУсловияПеревозки": false,
"ОсобыеУсловияПеревозкиОписание": "",
"НаправлениеДеятельности_Key": "00000000-0000-0000-0000-000000000000",
"ПорядокОплаты": "РасчетыВРубляхОплатаВРублях",
"АдресДоставкиЗначение": "",
"АдресДоставкиПеревозчикаЗначение": "",
"Б_Идентификатор": "",
"Б_НомерВерсии": "",
"Б_ДатаДокумента": "0001-01-01T00:00:00",
"Товары": [
{
"Ref_Key": "72188be3-47a9-11ec-80ef-309c23cfab98",
"LineNumber": "1",
"ДатаОтгрузки": "0001-01-01T00:00:00",
"Номенклатура_Key": "b2027477-3e0b-11e8-9464-f430b986ecb6",
"Характеристика_Key": "00000000-0000-0000-0000-000000000000",
"Упаковка_Key": "00000000-0000-0000-0000-000000000000",
"КоличествоУпаковок": 1,
"Количество": 1,
"ВидЦены_Key": "00000000-0000-0000-0000-000000000000",
"Цена": 250,
"Сумма": 250,
"СтавкаНДС": "НДС20",
"СуммаНДС": 41.67,
"СуммаСНДС": 250,
"ПроцентРучнойСкидки": 0,
"СуммаРучнойСкидки": 0,
"ПроцентАвтоматическойСкидки": 0,
"СуммаАвтоматическойСкидки": 0,
"ПричинаОтмены_Key": "00000000-0000-0000-0000-000000000000",
"КодСтроки": "1",
"Отменено": false,
"КлючСвязи": "0",
"Склад_Key": "18bbfa9f-4ac3-11e4-b629-047d7b775de9",
"СрокПоставки": "0",
"Содержание": "",
"СтатусУказанияСерий": 0,
"ВариантОбеспечения": "НеТребуется",
"Серия_Key": "00000000-0000-0000-0000-000000000000",
"НоменклатураНабора_Key": "00000000-0000-0000-0000-000000000000",
"ХарактеристикаНабора_Key": "00000000-0000-0000-0000-000000000000",
"НоменклатураПартнера_Key": "00000000-0000-0000-0000-000000000000"
}
],
"ЭтапыГрафикаОплаты": [],
"СкидкиНаценки": [],
"ДополнительныеРеквизиты": [],
"Партнер@navigationLinkUrl": "Document_ЗаказКлиента(guid'72188be3-47a9-11ec-80ef-309c23cfab98')/Партнер",
"Контрагент@navigationLinkUrl": "Document_ЗаказКлиента(guid'72188be3-47a9-11ec-80ef-309c23cfab98')/Контрагент",
"Организация@navigationLinkUrl": "Document_ЗаказКлиента(guid'72188be3-47a9-11ec-80ef-309c23cfab98')/Организация",
"Соглашение@navigationLinkUrl": "Document_ЗаказКлиента(guid'72188be3-47a9-11ec-80ef-309c23cfab98')/Соглашение",
"Валюта@navigationLinkUrl": "Document_ЗаказКлиента(guid'72188be3-47a9-11ec-80ef-309c23cfab98')/Валюта",
"Склад@navigationLinkUrl": "Document_ЗаказКлиента(guid'72188be3-47a9-11ec-80ef-309c23cfab98')/Склад",
"Менеджер@navigationLinkUrl": "Document_ЗаказКлиента(guid'72188be3-47a9-11ec-80ef-309c23cfab98')/Менеджер",
"Назначение@navigationLinkUrl": "Document_ЗаказКлиента(guid'72188be3-47a9-11ec-80ef-309c23cfab98')/Назначение",
"Руководитель@navigationLinkUrl": "Document_ЗаказКлиента(guid'72188be3-47a9-11ec-80ef-309c23cfab98')/Руководитель",
"ГлавныйБухгалтер@navigationLinkUrl": "Document_ЗаказКлиента(guid'72188be3-47a9-11ec-80ef-309c23cfab98')/ГлавныйБухгалтер",
"Приоритет@navigationLinkUrl": "Document_ЗаказКлиента(guid'72188be3-47a9-11ec-80ef-309c23cfab98')/Приоритет"
}]
}
{
"odata.error": {
"code": "-1",
"message": {
"lang": "ru",
"value": "Значение поля \"Дата\" не может быть пустой датой"
}
}
}
Поля ДАТА в явном виде нет в документе есть Date но оно заоплнено
В чем может быть дело?
{
"odata.metadata": "http://localhost/REST_UT/odata/standard.odata/$metadata#Document_ЗаказКлиента",
"value": [{
"Ref_Key": "72188be3-47a9-11ec-80ef-309c23cfab98",
"DataVersion": "AAAAAAAFtPE=",
"DeletionMark": false,
"Number": "НФУТ-000001",
"Date": "2021-11-17T16:22:45",
"Posted": true,
"Партнер_Key": "9779e6bd-95b5-11ea-80e7-309c23cfab98",
"Контрагент_Key": "90499204-d40d-11e7-9515-002590588ea5",
"Организация_Key": "a547700a-ea8b-11e1-b136-001e5848397d",
"Соглашение_Key": "8365b517-9aa3-11ea-80e7-309c23cfab98",
"Сделка_Key": "00000000-0000-0000-0000-000000000000",
"Валюта_Key": "8ae07bf7-95af-11ea-80e7-309c23cfab98",
"СуммаДокумента": 250,
"ГрафикОплаты_Key": "00000000-0000-0000-0000-000000000000",
"ЖелаемаяДатаОтгрузки": "0001-01-01T00:00:00",
"Склад_Key": "18bbfa9f-4ac3-11e4-b629-047d7b775de9",
"ЦенаВключаетНДС": true,
"Менеджер_Key": "ab331bc9-33cf-11e6-94b4-002590588ea5",
"ДополнительнаяИнформация": "",
"ДокументОснование": "",
"ДокументОснование_Type": "StandardODATA.Undefined",
"НеОтгружатьЧастями": true,
"Статус": "НеСогласован",
"МаксимальныйКодСтроки": "1",
"ДатаСогласования": "0001-01-01T00:00:00",
"Согласован": false,
"ФормаОплаты": "Безналичная",
"БанковскийСчет_Key": "00000000-0000-0000-0000-000000000000",
"БанковскийСчетКонтрагента_Key": "00000000-0000-0000-0000-000000000000",
"Касса_Key": "00000000-0000-0000-0000-000000000000",
"СуммаАвансаДоОбеспечения": 0,
"СуммаПредоплатыДоОтгрузки": 0,
"ДатаОтгрузки": "0001-01-01T00:00:00",
"АдресДоставки": "121099, Россия,г Москва, Новинский бульвар , дом 8, помещение 9.03, этаж 9",
"НалогообложениеНДС": "ПродажаОблагаетсяНДС",
"СкидкиРассчитаны": false,
"ХозяйственнаяОперация": "РеализацияКлиенту",
"Комментарий": "",
"НомерПоДаннымКлиента": "",
"ДатаПоДаннымКлиента": "0001-01-01T00:00:00",
"Грузоотправитель_Key": "00000000-0000-0000-0000-000000000000",
"Грузополучатель_Key": "00000000-0000-0000-0000-000000000000",
"БанковскийСчетГрузоотправителя_Key": "00000000-0000-0000-0000-000000000000",
"БанковскийСчетГрузополучателя_Key": "00000000-0000-0000-0000-000000000000",
"ГруппаФинансовогоУчета_Key": "00000000-0000-0000-0000-000000000000",
"КартаЛояльности_Key": "00000000-0000-0000-0000-000000000000",
"Договор_Key": "00000000-0000-0000-0000-000000000000",
"Подразделение_Key": "00000000-0000-0000-0000-000000000000",
"Автор": "ab331bc9-33cf-11e6-94b4-002590588ea5",
"Автор_Type": "StandardODATA.Catalog_Пользователи",
"ПорядокРасчетов": "ПоНакладным",
"Назначение_Key": "72188be2-47a9-11ec-80ef-309c23cfab98",
"СпособДоставки": "Самовывоз",
"ПеревозчикПартнер_Key": "00000000-0000-0000-0000-000000000000",
"ЗонаДоставки_Key": "00000000-0000-0000-0000-000000000000",
"ВремяДоставкиС": "0001-01-01T00:00:00",
"ВремяДоставкиПо": "0001-01-01T00:00:00",
"АдресДоставкиПеревозчика": "",
"АдресДоставкиЗначенияПолей": "",
"АдресДоставкиПеревозчикаЗначенияПолей": "",
"ДополнительнаяИнформацияПоДоставке": "",
"КонтактноеЛицо_Key": "00000000-0000-0000-0000-000000000000",
"Руководитель_Key": "1f25e2fe-9a9b-11ea-80e7-309c23cfab98",
"ГлавныйБухгалтер_Key": "1f25e2ff-9a9b-11ea-80e7-309c23cfab98",
"ВернутьМногооборотнуюТару": false,
"СрокВозвратаМногооборотнойТары": 0,
"СостояниеЗаполненияМногооборотнойТары": "",
"СуммаВозвратнойТары": 0,
"НазначениеПлатежа": "",
"ТребуетсяЗалогЗаТару": false,
"Приоритет_Key": "915022bd-95af-11ea-80e7-309c23cfab98",
"ИдентификаторПлатежа": "",
"ОсобыеУсловияПеревозки": false,
"ОсобыеУсловияПеревозкиОписание": "",
"НаправлениеДеятельности_Key": "00000000-0000-0000-0000-000000000000",
"ПорядокОплаты": "РасчетыВРубляхОплатаВРублях",
"АдресДоставкиЗначение": "",
"АдресДоставкиПеревозчикаЗначение": "",
"Б_Идентификатор": "",
"Б_НомерВерсии": "",
"Б_ДатаДокумента": "0001-01-01T00:00:00",
"Товары": [
{
"Ref_Key": "72188be3-47a9-11ec-80ef-309c23cfab98",
"LineNumber": "1",
"ДатаОтгрузки": "0001-01-01T00:00:00",
"Номенклатура_Key": "b2027477-3e0b-11e8-9464-f430b986ecb6",
"Характеристика_Key": "00000000-0000-0000-0000-000000000000",
"Упаковка_Key": "00000000-0000-0000-0000-000000000000",
"КоличествоУпаковок": 1,
"Количество": 1,
"ВидЦены_Key": "00000000-0000-0000-0000-000000000000",
"Цена": 250,
"Сумма": 250,
"СтавкаНДС": "НДС20",
"СуммаНДС": 41.67,
"СуммаСНДС": 250,
"ПроцентРучнойСкидки": 0,
"СуммаРучнойСкидки": 0,
"ПроцентАвтоматическойСкидки": 0,
"СуммаАвтоматическойСкидки": 0,
"ПричинаОтмены_Key": "00000000-0000-0000-0000-000000000000",
"КодСтроки": "1",
"Отменено": false,
"КлючСвязи": "0",
"Склад_Key": "18bbfa9f-4ac3-11e4-b629-047d7b775de9",
"СрокПоставки": "0",
"Содержание": "",
"СтатусУказанияСерий": 0,
"ВариантОбеспечения": "НеТребуется",
"Серия_Key": "00000000-0000-0000-0000-000000000000",
"НоменклатураНабора_Key": "00000000-0000-0000-0000-000000000000",
"ХарактеристикаНабора_Key": "00000000-0000-0000-0000-000000000000",
"НоменклатураПартнера_Key": "00000000-0000-0000-0000-000000000000"
}
],
"ЭтапыГрафикаОплаты": [],
"СкидкиНаценки": [],
"ДополнительныеРеквизиты": [],
"Партнер@navigationLinkUrl": "Document_ЗаказКлиента(guid'72188be3-47a9-11ec-80ef-309c23cfab98')/Партнер",
"Контрагент@navigationLinkUrl": "Document_ЗаказКлиента(guid'72188be3-47a9-11ec-80ef-309c23cfab98')/Контрагент",
"Организация@navigationLinkUrl": "Document_ЗаказКлиента(guid'72188be3-47a9-11ec-80ef-309c23cfab98')/Организация",
"Соглашение@navigationLinkUrl": "Document_ЗаказКлиента(guid'72188be3-47a9-11ec-80ef-309c23cfab98')/Соглашение",
"Валюта@navigationLinkUrl": "Document_ЗаказКлиента(guid'72188be3-47a9-11ec-80ef-309c23cfab98')/Валюта",
"Склад@navigationLinkUrl": "Document_ЗаказКлиента(guid'72188be3-47a9-11ec-80ef-309c23cfab98')/Склад",
"Менеджер@navigationLinkUrl": "Document_ЗаказКлиента(guid'72188be3-47a9-11ec-80ef-309c23cfab98')/Менеджер",
"Назначение@navigationLinkUrl": "Document_ЗаказКлиента(guid'72188be3-47a9-11ec-80ef-309c23cfab98')/Назначение",
"Руководитель@navigationLinkUrl": "Document_ЗаказКлиента(guid'72188be3-47a9-11ec-80ef-309c23cfab98')/Руководитель",
"ГлавныйБухгалтер@navigationLinkUrl": "Document_ЗаказКлиента(guid'72188be3-47a9-11ec-80ef-309c23cfab98')/ГлавныйБухгалтер",
"Приоритет@navigationLinkUrl": "Document_ЗаказКлиента(guid'72188be3-47a9-11ec-80ef-309c23cfab98')/Приоритет"
}]
}
Авторизацию через строку запросу не нашел, подозреваю что ее и нету. Авторизоваться надо через обращение к сервису 1С
Скрытый текст |
---|
<?php
/* //Первый способ // Получение файла JSON используя file_get_contents($url) //отправляем запрос с параметрами $username = "Администратор"; $password = "1"; $auth = base64_encode("$username:$password"); //Создаем строку авторизации //по типу Basic auth, для авторизации в веб-сервисе $context = stream_context_create([ 'http' => [ 'method' => "GET", 'header' => "Authorization: Basic $auth" ] ]); $url ='http://localhost/test/hs/ob/OblistAll'; $output = file_get_contents($url, false, $context); */ //Второй способ //Получение файла JSON используя curl //Авторизация $username = "Администратор"; $password = "1"; $host_api = "http://localhost/test"; $ch = curl_init($host_api); // Заполняем параметры CURL для получения данных по запросу GET curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password); curl_setopt($ch, CURLOPT_URL, 'http://localhost/test/hs/ob/OblistAll'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // Выполнение запроса и получение ответа $output = curl_exec($ch); // Проверка наличия ошибок if ($output === FALSE) { echo "cURL Error: " . curl_error($ch); } //Выводим сервисную информацию по выполнению запроса $info = curl_getinfo($ch); echo 'Took ' . $info['total_time'] . ' seconds for url ' . $info['url']; // Очистка ресурсов curl_close($ch); echo " "; echo " "; $obj = json_decode($output,true); echo "Выводит все содержимое JSON"; echo " "; var_dump($obj); // Выводит все содержимое JSON в браузер echo " "; echo " "; echo "Выводит одну запись из массива JSON"; echo " "; $Code = $obj[1]['Code']; echo $Code; echo " "; $Naim = $obj[1]['Naim']; echo $Naim; echo " "; echo " "; echo "Выводит циклически из массива JSON все записи"; echo " "; foreach($obj as $key => $value) { foreach($obj[$key] as $key => $value) { echo $key.':'.$value.PHP_EOL; echo " "; } } ?> |
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот