![]() |
![]() |
|
REST Запрос Цены через odata зная Ref_Key | ☑ | ||
---|---|---|---|---|
0
goshva
08.05.16
✎
10:41
|
Приветствую. Прошу совета по данному вопросу:
Имеется 1С УТ база к ней чере iss сделан REST доступ: Запрос: http://192.168.2.101/InfoBase/odata/standard.odata/Catalog_Номенклатура(guid'da036dcc-769c-11e5-93d2-0027133e3f47')?$format=json Возвращяет: { "odata.metadata": "http://192.168.2.101/InfoBase/odata/standard.odata/$metadata#Catalog_Номенклатура/@Element", "Ref_Key": "da036dcc-769c-11e5-93d2-0027133e3f47", "DataVersion": "", "Description": "Картофель", "Code": "00000000001", "Parent_Key": "00000000-0000-0000-0000-000000000000", "IsFolder": false, "DeletionMark": false, "СтатьяЗатрат_Key": "00000000-0000-0000-0000-000000000000", "Артикул": "", "БазоваяЕдиницаИзмерения_Key": "0e7db5b7-7512-11e5-93d2-0027133e3f47", "Весовой": true, "Комментарий": "", "ВесовойКоэффициентВхождения": "0", "ВестиПартионныйУчетПоСериям": false, "ВестиУчетПоСериям": false, "ВестиУчетПоХарактеристикам": false, "ЕдиницаДляОтчетов_Key": "de8545de-76a9-11e5-93d2-0027133e3f47", "ЕдиницаХраненияОстатков_Key": "de8545de-76a9-11e5-93d2-0027133e3f47", "Набор": false, "НаименованиеПолное": "Картофель", "НоменклатурнаяГруппа_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", "Услуга": false, "НоменклатурнаяГруппаЗатрат_Key": "00000000-0000-0000-0000-000000000000", "ВидНоменклатуры_Key": "b36ba4da-769b-11e5-93d2-0027133e3f47", "ВестиСерийныеНомера": false, "Комплект": false, "ЦеноваяГруппа_Key": "00000000-0000-0000-0000-000000000000", "ЕдиницаИзмеренияМест_Key": "00000000-0000-0000-0000-000000000000", "ДополнительноеОписаниеНоменклатуры": "", "БазоваяЕдиницаИзмерения@navigationLinkUrl": "Catalog_Номенклатура(guid'da036dcc-769c-11e5-93d2-0027133e3f47')/БазоваяЕдиницаИзмерения", "ЕдиницаДляОтчетов@navigationLinkUrl": "Catalog_Номенклатура(guid'da036dcc-769c-11e5-93d2-0027133e3f47')/ЕдиницаДляОтчетов", "ЕдиницаХраненияОстатков@navigationLinkUrl": "Catalog_Номенклатура(guid'da036dcc-769c-11e5-93d2-0027133e3f47')/ЕдиницаХраненияОстатков", "ВидНоменклатуры@navigationLinkUrl": "Catalog_Номенклатура(guid'da036dcc-769c-11e5-93d2-0027133e3f47')/ВидНоменклатуры" } Как спросить розничную цену? Благодарю. |
|||
1
4St
08.05.16
✎
14:28
|
В УТ цены хранятся отдельно от номенклатуры. Вам придётся выполнить запрос к регистру сведений "цены номенклатуры" со всеми необходимыми отборами.
Точнее,вам нужно обратиться к виртуальной таблице "срезпоследних" регистра. |
|||
2
4St
08.05.16
✎
14:29
|
Или даже к регистру "ценыАТТ", ЕМНИП. Смотря что вы понимаете под розничной.
|
|||
3
goshva
11.05.16
✎
08:50
|
(2) Благодаря вашему ответу разобрался, поделюсь примером.
Итого: Первым GET запросом получаю прайслист: http://localhost/InfoBase/odata/standard.odata/InformationRegister_ЦеныНоменклатуры?$format=json Потом беру Номенклатуру: http://localhost/InfoBase/odata/standard.odata/Catalog_Номенклатура?$format=json Ref_Key в Catalog_Номенклатура соответствует Номенклатура_Key в ЦеныНоменклатуры - объединяем объекты и получаем клиентский прайс. |
|||
4
4St
11.05.16
✎
09:29
|
(3) на всякий случай уточняю, что РС "ЦеныНоменклатуры" периодический. Когда в нем станет over9000 записей, запрос
http://localhost/InfoBase/odata/standard.odata/InformationRegister_ЦеныНоменклатуры?$format=json ляжет сам и хорошо еще, если не положит базу. А если и выживет, то помрет уже принимающая сторона. В общем, нужна оптимизация )) С учетом POST Заказ клиента через odata - любопытно, а для чего все это? |
|||
5
goshva
11.05.16
✎
11:46
|
Данила, благодарю за отклики.
У меня тривиальная задача выгрузить прайс с картинками на сайт и организовать приём заявок. Впервые взаимодействую с 1С на прямую и имею иллюзию что REST будет достаточно и перспективно. В итоге хочется завернуть взаимодейстивия на JavaScrit чтоб использовать простейший статический хостинг(!можно даже CDN). После удачных тестов опубликовать под GNU. Уперся пока в получение бинарной картинки и в постинг заказа. web\http сервис - подразумевает обработку данных на хостинге, но от ссылки на ясны туториал не откажусь. |
|||
6
4St
11.05.16
✎
12:05
|
Для выгрузки прайса проще всего, ИМХО, завязаться на штатный механизм синхронизации с Битриксом, который в УТ однозначно присутствует:
http://v8.1c.ru/edi/edi_stnd/131/ Выгружать можно вместе с картинками, кстати. Сделать эмуляцию этого механизма на стороне сайта не особо сложно. Разумеется, здесь они меняются местами: 1С - активная, сайт - пассивный слушатель. Оно и лучше, поскольку отпадает необходимость публикации базы в вебе с белым IP. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |