Имя: Пароль:
1C
 
1C OData Знакомство.
0 tabarigen
 
03.10.15
14:35
Прочитал про поддержку REST  в 1с. Скажите, а можно ли через REST получить прайс, если конфигурация на поддержке.

Раньше для этого писал веб-сервисы.
1 jsmith82
 
03.10.15
14:38
В REST интерфейсе доступны практически все основные объекты конфигурации: справочники, документы, константы, перечисления, планы обмена, регистры накопления, расчета, бухгалтерии и сведений, виртуальные таблицы периодического регистра сведений, регистров бухгалтерии и регистров накопления, планы счетов, видов характеристик и видов расчета, бизнес-процессы, задачи и журналы документов.

Недоступными на данный момент являются отчеты и обработки, команды, критерии отбора, регламентные задания, внешние источники данных и пользователи.
2 tabarigen
 
03.10.15
14:48
(1) брр.. то есть получается так, что я не могу написать отчет и его дергать, жаль конечно.

с другой стороны что мешает написать справочник, выводить в него прайс и дергать его?
3 tabarigen
 
03.10.15
14:50
хотя нет, что это я несу. Нам ведь доступны регистры сведений, соответственно можно по GUID номенклатуры дергать из него остатки, цены и т.д.
4 PR третий
 
03.10.15
15:02
(0) Да
5 tabarigen
 
03.10.15
15:03
(4) для случая 15к позиций примерно как долго он буед формироваться? Если мы будем тянуть цену, страну, и количество.
6 romix
 
03.10.15
15:03
(0) А там веб-механизм удобный (тоже в дереве метаданных). ОДАТА по-моему по этой причине не нужна.
7 tabarigen
 
03.10.15
15:04
(6) Там, это где?
8 PR третий
 
03.10.15
15:04
(5) Попробуй
9 tabarigen
 
03.10.15
15:05
(8) примерчик бы какой нибудь. Доки скудные очень.
10 PR третий
 
03.10.15
15:09
(9) На

&НаСервере
Процедура СоздатьНовогоКонтрагентаЧерезPOSTЗапросНаСервере()
    
    Сервер = "77.37.142.90";
    ИмяБазы = "post";
    ИмяМетаданных = "Catalog";
    ИмяСправочника = "Контрагенты";
    АдресРесурса = "/" + ИмяБазы + "/odata/standard.odata/" + ИмяМетаданных + "_" + ИмяСправочника;
    
    ТекстЗапроса =
    "<?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=""EnterpriseV8." + ИмяМетаданных + ИмяСправочника + """  scheme=""http://schemas.microsoft.com/ado/2007/08/dataservices/scheme""; />
    |   <id />
    |   <title />
    |   <content type=""application/xml"">
    |      <m:properties>
    |         <d:DeletionMark>false</d:DeletionMark>
    |         <d:IsFolder>false</d:IsFolder>
    |         <d:Parent_Key m:null=""true"" />
    |         <d:Ref_Key m:type=""Edm.Guid"">00000000-0000-0000-0000-000000000000</d:Ref_Key>";
    
    Если ЗначениеЗаполнено(КодНового) Тогда
        ТекстЗапроса = ТекстЗапроса + "
        |         <d:Code>" + КодНового + "</d:Code>";
    КонецЕсли;
    
    Если ЗначениеЗаполнено(НаименованиеНового) Тогда
        ТекстЗапроса = ТекстЗапроса + "
        |         <d:Description>" + НаименованиеНового + "</d:Description>";
    КонецЕсли;
    
    Если ЗначениеЗаполнено(КомментарийНового) Тогда
        ТекстЗапроса = ТекстЗапроса + "
        |         <d:Комментарий>" + КомментарийНового + "</d:Комментарий>";
    КонецЕсли;
    
    Если ЗначениеЗаполнено(ГУИДГородаНового) Тогда
        ТекстЗапроса = ТекстЗапроса + "
        |         <d:Город_Key>" + ГУИДГородаНового + "</d:Город_Key>";
    КонецЕсли;
    
    ТекстЗапроса = ТекстЗапроса + "
    //|         <d:Дата></d:Дата>
    |         <d:Булево>false</d:Булево>
    |         <d:Строка></d:Строка>
    |      </m:properties>
    |   </content>
    |</entry>";
    
    Соединение = Новый HTTPСоединение(Сервер, , "Пользователь", "Пароль");
    
    ЗаголовокHTTP = Новый Соответствие();
    //ЗаголовокHTTP.Вставить("POST  /" + ИмяБазы + "/odata/standard.odata/" + ИмяМетаданных + "_" + ИмяСправочника + " HTTP/1.1");
    //ЗаголовокHTTP.Вставить("Content-Type", "application/atom+xml");
    //ЗаголовокHTTP.Вставить("DataServiceVersion", "3.0;NetFx");
    //ЗаголовокHTTP.Вставить("MaxDataServiceVersion", "3.0;NetFx");
    //ЗаголовокHTTP.Вставить("Accept", "application/atom+xml,application/xml");
    //ЗаголовокHTTP.Вставить("Accept-Charset", "UTF-8");
    //ЗаголовокHTTP.Вставить("User-Agent", "1C-Enterprise");
    //ЗаголовокHTTP.Вставить("Host", Сервер);
    Запрос = Новый HTTPЗапрос(АдресРесурса, ЗаголовокHTTP);
    Запрос.УстановитьТелоИзСтроки(ТекстЗапроса);
    ОтветОтСоединения = Соединение.ОтправитьДляОбработки(Запрос);
    Ответ = ОтветОтСоединения.ПолучитьТелоКакСтроку("UTF-8");
    
    Соединение = Неопределено;
    
КонецПроцедуры
11 tabarigen
 
03.10.15
15:12
(10) За пример спасибо, но данные тянуть скорее всего буду из  веб-приложения JQuery или же декстопного С# приложения.
12 PR третий
 
03.10.15
15:14
(11) Ну тогда оттуда POST-запрос шли на ихнем наречии.
13 Serginio1
 
03.10.15
15:26