|
Протокол oData, Детализация запроса к Регистру Бухгалтерии (ДвиженияССубконто) | ☑ | ||
---|---|---|---|---|
0
lvi15
24.10.16
✎
11:39
|
Добрый день!
В запросах-примерах нашел только такой вариант: http://host/db_1C/odata/standard.odata/AccountingRegister_Хозрасчетный/Turnovers... Где Turnovers - это обороты. А как будет ДвиженияССубконто?? В языке запросов оно выглядит: ТекстЗапроса = "ВЫБРАТЬ ХозрасчетныйДвиженияССубконто.Документ | ИЗ РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(&дт1, &дт2) КАК ХозрасчетныйДвиженияССубконто |
|||
1
lvi15
24.10.16
✎
12:05
|
Или где можно посмотреть английские наименования объектов метаданных?
|
|||
2
Живой Ископаемый
24.10.16
✎
12:27
|
в СП, если включить такую возможность в настройках "Справка\галка - Оба языка"
|
|||
3
Serginio1
24.10.16
✎
18:20
|
А почему не хочешь через ссылку на службу получить описание,
Ссылку уже давал http://catalog.mista.ru/public/403524/ Например для Регистров бухгалтерии // Вставить содержимое обработчика. Массив = Новый Массив(); Для Каждого Справочник Из Метаданные.РегистрыБухгалтерии Цикл Массив.Добавить(Справочник); КонецЦикла; УстановитьСоставСтандартногоИнтерфейсаOData(Массив); Затем в VS Затем в VS Добавить ссылку на службу используя URI http://{АдресВебСервера}/{ИмяПубликации}/odata/standard.odata/$metadata Получим описание например public partial class AccountingRegister_Хозрасчетный_BalanceAndTurnover : global::System.ComponentModel.INotifyPropertyChanged |
|||
4
Serginio1
25.10.16
✎
10:28
|
Кстати посмотрел какие функции импортирует 1С
<EntityContainer Name="EnterpriseV8" m:IsDefaultEntityContainer="true"> <EntitySet Name="AccountingRegister_Хозрасчетный" EntityType="StandardODATA.AccountingRegister_Хозрасчетный" /> <EntitySet Name="AccountingRegister_Хозрасчетный_RecordType" EntityType="StandardODATA.AccountingRegister_Хозрасчетный_RecordType" /> <FunctionImport Name="Balance" IsBindable="true" IsSideEffecting="false" ReturnType="Collection(StandardODATA.AccountingRegister_Хозрасчетный_Balance)"> <Parameter Name="bindingParameter" Type="StandardODATA.AccountingRegister_Хозрасчетный" /> <Parameter Name="AccountCondition" Type="Edm.String" /> <Parameter Name="Condition" Type="Edm.String" /> <Parameter Name="Dimensions" Type="Edm.String" /> <Parameter Name="ExtraDimensions" Type="Edm.String" /> <Parameter Name="Period" Type="Edm.DateTime" /> </FunctionImport> <FunctionImport Name="Turnovers" IsBindable="true" IsSideEffecting="false" ReturnType="Collection(StandardODATA.AccountingRegister_Хозрасчетный_Turnover)"> <Parameter Name="bindingParameter" Type="StandardODATA.AccountingRegister_Хозрасчетный" /> <Parameter Name="AccountCondition" Type="Edm.String" /> <Parameter Name="BalancedAccountCondition" Type="Edm.String" /> <Parameter Name="BalancedExtraDimensions" Type="Edm.String" /> <Parameter Name="Condition" Type="Edm.String" /> <Parameter Name="Dimensions" Type="Edm.String" /> <Parameter Name="EndPeriod" Type="Edm.DateTime" /> <Parameter Name="ExtraDimensions" Type="Edm.String" /> <Parameter Name="StartPeriod" Type="Edm.DateTime" /> </FunctionImport> <FunctionImport Name="BalanceAndTurnovers" IsBindable="true" IsSideEffecting="false" ReturnType="Collection(StandardODATA.AccountingRegister_Хозрасчетный_BalanceAndTurnover)"> <Parameter Name="bindingParameter" Type="StandardODATA.AccountingRegister_Хозрасчетный" /> <Parameter Name="Condition" Type="Edm.String" /> <Parameter Name="Dimensions" Type="Edm.String" /> <Parameter Name="EndPeriod" Type="Edm.DateTime" /> <Parameter Name="StartPeriod" Type="Edm.DateTime" /> </FunctionImport> <FunctionImport Name="ExtDimensions" IsBindable="true" IsSideEffecting="false" ReturnType="Collection(StandardODATA.AccountingRegister_Хозрасчетный_ExtDimensions)"> <Parameter Name="bindingParameter" Type="StandardODATA.AccountingRegister_Хозрасчетный" /> </FunctionImport> <FunctionImport Name="RecordsWithExtDimensions" IsBindable="true" IsSideEffecting="false" ReturnType="Collection(StandardODATA.AccountingRegister_Хозрасчетный_RecordsWithExtDimensions)"> <Parameter Name="bindingParameter" Type="StandardODATA.AccountingRegister_Хозрасчетный" /> <Parameter Name="Condition" Type="Edm.String" /> <Parameter Name="EndPeriod" Type="Edm.DateTime" /> <Parameter Name="Order" Type="Edm.String" /> <Parameter Name="StartPeriod" Type="Edm.DateTime" /> <Parameter Name="Top" Type="Edm.Int64" /> </FunctionImport> <FunctionImport Name="DrCrTurnovers" IsBindable="true" IsSideEffecting="false" ReturnType="Collection(StandardODATA.AccountingRegister_Хозрасчетный_DrCrTurnover)"> <Parameter Name="bindingParameter" Type="StandardODATA.AccountingRegister_Хозрасчетный" /> <Parameter Name="AccountCondition" Type="Edm.String" /> <Parameter Name="BalancedAccountCondition" Type="Edm.String" /> <Parameter Name="BalancedExtraDimensions" Type="Edm.String" /> <Parameter Name="Condition" Type="Edm.String" /> <Parameter Name="Dimensions" Type="Edm.String" /> <Parameter Name="EndPeriod" Type="Edm.DateTime" /> <Parameter Name="ExtraDimensions" Type="Edm.String" /> <Parameter Name="StartPeriod" Type="Edm.DateTime" /> </FunctionImport> </EntityContainer> </Schema> </edmx:DataServices> Но в VS их не подгружает. Но конечно можно через context.CreateQuery получить доступ |
|||
5
Serginio1
25.10.16
✎
13:52
|
Только странно
Если делаю такой запрос var query = context.CreateQuery<StandardODATA.AccountingRegister_Хозрасчетный>(@"AccountingRegister_Хозрасчетный").ToList(); То возвращает { "odata.metadata": "http://localhost/DemoAccounting/odata/standard.odata/$metadata#AccountingRegister_Хозрасчетный", "value": [{ А если var query3 = context.CreateQuery<StandardODATA.AccountingRegister_Хозрасчетный_Turnover>(@"AccountingRegister_Хозрасчетный/Turnovers").ToList(); { "odata.metadata": "http://localhost/DemoAccounting/odata/standard.odata/$metadata#Collection(StandardODATA.AccountingRegister_Хозрасчетный_Turnover)", "value": [ Добавляет в метадата Collection |
|||
6
Serginio1
25.10.16
✎
14:08
|
Но если я сделаю такой запрос
var query3 = context.CreateQuery<List<StandardODATA.AccountingRegister_Хозрасчетный_Turnover>>(@"AccountingRegister_Хозрасчетный/Turnovers").ToList(); То возвращается тип query3 Count = 1 System.Collections.Generic.List<System.Collections.Generic.List<StandardODATA.AccountingRegister_Хозрасчетный_Turnover>> Где вся коллекция лежит в первом элементе query3.Items[0] |
|||
7
lvi15
28.10.16
✎
13:22
|
Большое спасибо за ответы, Мой вариант запроса:
Хозрасчетный/ДвижениеССубконто: http://localhost/DemoBuh/odata/standard.odata/AccountingRegister_Хозрасчетный/RecordsWithExtDimensions(StartPeriod=datetime'2012-01-01T00:00:00',EndPeriod=datetime'2016-01-31T23:59:59') то есть ДвижениеССубконто это - RecordsWithExtDimensions. Здесь правда возникла заморочка с датами. Формат: datetime'2012-01-01T00:00:00' почему-то не срабатывает. Работает только datetime'2012-01-01', то есть не "любит время". Тогда надо "расширять дырку" по датам(!?) Из ответов SerginioL - а как Вы определяете "context" в своем коде? Как подключаемый Web Reference? |
|||
8
Serginio1
28.10.16
✎
13:46
|
(7) Ну в статье все же написано
http://catalog.mista.ru/public/403524/ Создаешь проект. Затем Проект-Создать ссылку на службу вставляешь http://{АдресВебСервера}/{ИмяПубликации}/odata/standard.odata/$metadata Указываешь Имя ссылки на службу При этом у тебя создадутся классы с пространством имен ИмяПриложения.ИмяСсылкиНаСервис Там же будет и класс типа public partial class EnterpriseV8 : global::System.Data.Services.Client.DataServiceContext У которого будет конструктор public EnterpriseV8(global::System.Uri serviceRoot) Вот его и вызываешь. Например var uriString = @"http://localhost.fiddler/DemoAccounting/odata/standard.odata/"; var context = new StandardODATA.EnterpriseV8(new Uri(uriString)); context.Format.UseJson(); или context.Format.UseAtom(); |
|||
9
lvi15
28.10.16
✎
14:08
|
Супер, Спасибки!!! Буду "дерзать".
|
|||
10
lvi15
28.10.16
✎
14:10
|
Да и вдогонку - а функционал Web-Server в поставке платформы 1с - является бесплатным? И запросы по oData - пользователя-пароль указывать надо, а лицензия? - "оно" ее требовать/конкурировать не будет?
|
|||
11
Serginio1
28.10.16
✎
14:56
|
(10) Там так же как и с вэб и HTTP сервисами. Нужна лицензия только на вызов.
Про пароль посмотрю |
|||
12
Serginio1
28.10.16
✎
14:57
|
Но я у себя пока делаю так
Как отключить http аутентификацию в 1с 8.3.7? |
|||
13
Serginio1
28.10.16
✎
14:59
|
||||
14
Serginio1
28.10.16
✎
15:00
|
Единственно, что нужно вместо Encoding.ASCII
использовать Encoding.UTF8 |
|||
15
lvi15
28.10.16
✎
15:06
|
То есть если покупается платформа "1с Предприятие" (+/- стандартная поставка 8.3 с поддержкой режима разработки) то web-server есть и вопрос только в шильдике при установке ну + доп. настройки в IIS и пр.? "Оно" не стОит дополнительных денег при покупке платформы?
Я пока делаю на локальном сервере - пользователю 1с прописываю себя для win-идентификации. Вроде как пускает. oData привлекает, что никаким боком не затрагивает конфигурацию (в отличие от например веб-сервисов в самой конфигурации) (я к сожалению не 1с-ник профи) |
|||
16
Serginio1
28.10.16
✎
15:33
|
(15) Нет оно уже идет в поставке. В том числе и для локальных версий 1С
|
|||
17
Serginio1
28.10.16
✎
15:37
|
(15) Сейчас можно вэб сервисы через расширения конфигурации добавлять изменять
Публикация веб-сервиса из расширения конфигурации. |
|||
18
Serginio1
28.10.16
✎
15:40
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |