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

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

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

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

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

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