Имя: Пароль:
1C
1С v8
Табличная функция, внешние источники данных
0 plotn
 
24.04.16
16:56
Коллеги, приветствую.
Не могу разобраться с одним вопросом - подсоединяю базу на PostgreSQL.
Все получается, вызываются функции, таблицы и проч.
Но вот мне надо подключить функцию, которая возвращает набор данных (SETOF). В самой БД выполняется просто:
select * from f_find_nom('%ЛЕНТА%')

Прочитал, что в 1С можно подключить таблицу через некое "выражение", но не разберусь как. Нет ли у кого примера?
1 plotn
 
26.04.16
21:41
Отвечаю сам себе. Вдруг такой же бедолага найдется.
1. Сначала версию платформы обновил на более свежую - так как та, что ставил пару месяцев назад падает при попытке использовать этот функционал. Хотя обычные таблицы спокойно читает, да и функции тоже.

2. Создал вьюху create view v_find_nom_test as
select * from f_find_nom('%ПРОМ%')

3. Подключил вьюху как таблицу. Смысл - чтобы все поля создались автоматом.

4. А дальше пошло колдунство. Во вьюхе заменил наименование и вместо таблицы написал "выражение" вида: pauto.public.f_find_nom(&1)

5. Далее в тексте запроса в платформе пишу запрос вида: ИЗ  ВнешнийИсточникДанных.Postgres.Таблица.pauto_public_f_find_nom(&findstr) КАК N

6. И пробрасываю параметр уже как обычно:
ЗапросНом.УстановитьПараметр("findstr", ВРег(СтрЗаменить("%"+стрПоиск+"%"," ","%")));
    
7. Все работает. Если интересно чего ради все это затеял - хочу полнотекстовый поиск Postgre использовать внутри процедур.
2 mingw
 
26.04.16
22:09
3 mingw
 
26.04.16
22:11
(2)+ Таблицы внешнего источника данных можно описать вручную, или с помощью конструктора.

Чем вручную не пошло?
4 plotn
 
26.04.16
22:30
(2) Это я читал, но соль в вызове не просто таблицы, а таблицы с параметром, т.е. функции. (Не знаю как это реализовано в MS, но в firebird и postgre вполне просто и очевидно. В оракле чуть по заморочистей, через пайплайн). Этого описания я нигде не увидел.

(3) Вручную можно, я просто схитрил, чтобы все автоматом создалось.
5 mingw
 
26.04.16
22:35
http://xn----1-bedvffifm4g.xn--p1ai/articles/запись-во-внешние-источники/

Теперь переключаемся на закладку “Функции” нашего источника данных.   Источник: ©Курсы-по-1С.рф
6 plotn
 
26.04.16
23:29
Вот смотрите что получается. Я запостил просьбу мне помочь вчера. Никто не отозвался. Это нормально, мне никто ничего не должен. Затем я сам нашел решение и на всякий случай опубликовал. Тоже же неплохо, верно? Затем вот вы пишете и пкбликуете ссылки на статьи,  которые я читал, интернетом пользоваться умею. Но вы ведь совсем не прочитали о чем я, верно? Я отрабатывал вопрос получения данных в запросе 1с из бд постгри через функцию, принимающую на вход параметр и отдающую набор строк. Где вот в опубликованных вами ссылках такое? В первой - подключение обычной таблицы. Во второй - только функции, которые делают 'круд' таблиц. То ли вы меня носом хотели ткнуть в очевидное,  то ли что....
Вот наиболее близкое - но так как у него сделать не получилось, получилось как в моем случае. v8: Внешние источники данных. Функции.