Вход | Регистрация
 

Можно ли через ODATA соединять несколько таблиц или там только по сырым таблицам запрос?

Можно ли через ODATA соединять несколько таблиц или там только по сырым таблицам запрос?
Я
   Гений 1С
 
04.06.21 - 18:28
Собственно?
   Ненавижу 1С
 
1 - 04.06.21 - 18:36
Expand?
   ДенисЧ
 
2 - 04.06.21 - 18:42
   Гений 1С
 
3 - 04.06.21 - 18:47
(2) (1) вау, вау. спасибо, оперативнее, чем было нужно. ;-)
   Гений 1С
 
4 - 11.06.21 - 12:10
Гм. Expand - это расширение справочника. А связать регистр сведений, накопления и запрос не получится я так понимаю.
и еще, есть top для отбора нужного количества, но есть ли параметр start, чтобы считывать пачками? (пагинация)
   PLUT
 
5 - 11.06.21 - 12:15
(0) а за твое обучение клеент платит?

"ужасно интересно все то что неизвестно"

ну я типа намекаю, что "не шмогла" и "мы пойдем другим путем" и "встретил вторую половинку и всю ночь примерял - оказалась не моя"
   acht
 
6 - 11.06.21 - 12:15
(4) В главе "17.2.1.5. Правила формирования условия отбора" все написано. Не надо читать выборочно.
   acht
 
7 - 11.06.21 - 12:18
А хотя в этом что-то есть такое, концептуальное. Ему уже и книжку дали, так он все равно приходит на форум, чтобы её ему еще и прочитали.

Геня, тебе вслух? На ночь? По ролям?
   Сергиус
 
8 - 11.06.21 - 13:03
(0)Сделай свой http сервис и получай/отдавай там что хошь.
   PLUT
 
9 - 11.06.21 - 13:15
(8) это у Г1С в будущем, сначала (5)
   fisher
 
10 - 11.06.21 - 13:18
Навыки чтения документации и монографий постепенно утрачиваются человечеством в целом и становятся специальными скиллами отдельных категорий ученых, исследователей и крупных специалистов.
База знаний основной массы поднимается на уровень вики, форумов и ютуб-роликов. И это нормально. Знания в среднем становятся менее глубокими, зато скорость их получения и охвата растет.
   ДенисЧ
 
11 - 11.06.21 - 13:18
(10) Геня будет читать документацию только тогда, когда Луна на Плутон упадёт...
   fisher
 
12 - 11.06.21 - 13:20
(11) А зачем, если и так сойдет? Глубоко копают только те, кому это интересно.
   Гений 1С
 
13 - 11.06.21 - 13:28
(8) уже. походу ODATA в соединение не умеет
   BeerHelpsMeWin
 
14 - 11.06.21 - 13:48
(10) Срочно нужна серия тикток роликов "Как в модуле HTTP-сервиса получить GUID ссылки?", "Можно ли через ODATA соединять несколько таблиц" и т.д.!
   Cthulhu
 
15 - 11.06.21 - 14:29
(13): ну ты идиот, сирожа.
мануалы не читаешь, по верхушкам хватанул - и делаешь выводы, демонстрируя свою дремучую тупость.
иди гугли и читай. одата может все. в терминах базы и с использованием инструментария бабы и практически в нотации базы. одата это рест фулл. все что может сама база - кроме хранения состояний и данных.
идиот ты сирожа. вот раньше ей будде полагал (в отличие от многих) что ты не такой тупой. но теперь - хоссспидяаа, ты не только тупой как валенок, ты еще и чудак на букву мэ полный.
   Гений 1С
 
16 - 12.06.21 - 06:42
(15) а если без эмоций, как сделать соединение?
   acces969
 
17 - 12.06.21 - 08:14
(16) Никак не сделаешь. Знаешь типовой отчет "Расчетные ведомости организаций"? А "Ведомость амортизации/остатков долгосрочных активов"? Вот эти отчеты, а так же еще несколько подобных гигантов СКД, я формировал на удаленной сводной базе-мониторе информационных баз. И все соединения таблиц делал непосредственно в ней, а получение сырых таблиц из источников производил как раз по odata. Помимо самих целевых таблиц тянул еще дополнительные данные, тоже в виде таблиц. В общем, работа была кропотливая и долгая. В итоге отчеты работают и работают быстро - спасибо odata и грамотной организации получения данных.
   acht
 
18 - 12.06.21 - 09:41
(17) >  В общем, работа была кропотливая и долгая.
Да, ты точно заслужил похвалу. Поаплодируем, товарищи!
   acht
 
19 - 12.06.21 - 09:46
(16) А без эмоций, Геня, надо было тебе сознание-то подрасширить и посмотреть на практику применения одата на других языках. По английски там почитать, понять на какой стороне выборка, фильтр, агрегация...

Впрочем и так ничего - сами себя заперли в 1С, гниёте и пузыри бахвальства пускаете.
Прекрасный террариум, прекрасный.
   BeerHelpsMeWin
 
20 - 12.06.21 - 10:16
(19) Геня не запер себя в 1с - он может говнокодить на многих языках!
   acht
 
21 - 12.06.21 - 10:30
(20) Без помощи форума - не может. Даже говнокодить. Тут не так давно ветка проскакивала, где он на c# внешнюю компоненту писал.
   Гений 1С
 
22 - 12.06.21 - 11:03
(21) что значит "писал"? Написал давно уже. ;-)
(17) то что потом соединить можно, понятно. Сам протокол ODATA соединять не умеет, так?
Потребители данных в моем случае - сайт. Они пишут запросы к 1С, конечно, можно им предлагать соединять ODATA самим, но я думаю, что HTTP запросы будут не хуже. Выдаю им уже соединенный готовый JSON, причем с пагинацией
   Гений 1С
 
23 - 12.06.21 - 11:04
Кстати, в ODATA есть limit, offset, или только top?
   acht
 
24 - 12.06.21 - 11:06
(23) Есть
   Гений 1С
 
25 - 12.06.21 - 11:10
(24) на итс не нашел упоминаний, покажи пример
   acht
 
26 - 12.06.21 - 11:10
(25) в главе 17.2.1.5
   Гений 1С
 
27 - 12.06.21 - 11:12
(26) не тренди, там нет нумеров:
https://its.1c.ru/db/intgr83#content:47:hdoc
   acht
 
28 - 12.06.21 - 11:14
Геня, ты эту свою же тему, которую сам же начал, читать пробовал? Хотя да, понимать ранее написанное - это для лохов.
   Гений 1С
 
29 - 12.06.21 - 11:26
(28) skip и top, спасибо
   acht
 
30 - 12.06.21 - 11:41
Напиши статью на хабр - "О пользе чтения документации"
 
 
   Гений 1С
 
31 - 12.06.21 - 11:42
(30) так соединений в ODATA нет, так?
   Гений 1С
 
32 - 12.06.21 - 11:46
Возникает вопрос - вот я первым селектом выбрал номенклатуру. А потом хочу остатки по ней. Это ж мне в хидер нужно будет передать все отобранные первым элементы номенклатуры, по-моему не взлетит. Только если все целиком читать.
   Гений 1С
 
33 - 12.06.21 - 11:48
Написал клиенту:

В общем, резюмируя, можно использовать ODATA, но тогда вам придется на стороне сайта делать по таблице товара три запроса: на саму номенклатуру, цены и остатки, а потом их соединять.
Причем считывать все товары, все остатки, все цены. Потому что отобрать остатки по выбранной части номенклатуры нельзя - там нельзя задавать большие списки отбора.
Зато максимальная производительность.
В принципе, веб-запрос тоже быстро должен работать, даже на больших объемах.
Предлагаю пока остановиться на уже реализованном веб-запросе, т.к. там не надо делать соединения данных на стороне сайта.
Если потом понадобиться ускориться, можно переделать на ODATA.
В любом случае, принятие варианта решения за Вами.
   pavig
 
34 - 12.06.21 - 13:16
(33)
Порекомендуй
http-запросы
быстро, просто, универсально
   acht
 
35 - 12.06.21 - 13:33
(33) Нам надо одобрить это письмо? Давай уж всю переписку, оценим.
   acht
 
36 - 12.06.21 - 13:34
(31) Тот функционал, который ты подразумеваешь под "соединение" в odata реализуется другими средствами. Обучение различным expand, вложенным select и вложенным expand платное.
   BeerHelpsMeWin
 
37 - 12.06.21 - 14:00
А, дак он и http-сервис поднять не смог.
Пора поднять часовую ставку.
   Гений 1С
 
38 - 12.06.21 - 14:14
(37) в смысле не смог? поднят и работает.
(36) там есть вложенные селекты?
   Гений 1С
 
39 - 12.06.21 - 14:14
в принципе, если основная таблица номенклатура и ее можно соединить с остатками и регистром цен, тоже норм.
(36) бедный штоли?
   fisher
 
40 - 14.06.21 - 10:22
Прямого аналога джойнам в OData нет, поскольку это интерфейс не только к реляционным БД. Поэтому OData по стилю работы ближе к интерфейсам нереляционных БД и не дает такого универсализма, как произвольные соединения SQL. Но многие виды соединений можно эмулировать. expand дает левое соединение и позволяет много чего внутри, схожего с выполнением подзапроса. Ряд операция можно делать вложенными, ряд можно переложить на цепочечные вычисления.
Для совсем экзотических вариантов в других средах можно расширять интерфейс OData. Например так, как в 1C делается обращение к виртуальным таблицам через OData. Можно ли расширять в 1С - не знаю. Плотно с OData не работал.
(32) Почему не взлетит? Ты же везде где применимы условия отбора можешь воткнуть in и перечисление в скобках через запятую.
   Гений 1С
 
41 - 14.06.21 - 11:52
(40) так там 5000 позиций номенклатуры если top = 5000 и скип = 10000, например, как я их в in вставлю.
Хотя там что то есть вроде результата последнего запроса, хз
   Cthulhu
 
42 - 14.06.21 - 14:33
   Гений 1С
 
43 - 14.06.21 - 15:20
(42) ну то бишь соединения нет в Одата


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.