Запись во внешние источники данных

10.02.14

Интеграция - Внешние источники данных

Внешние источники данных, появившиеся в 8.2.14, были отличным шагом навстречу интеграции с другими приложениями. Сейчас на дворе 8.3 и таблицы внешних источников данных: Почти не имеют ограничений в запросах (помещение во временные таблицы, соединения с 1С таблицами); Могут стать объектными данными (ссылку на внешнюю таблицу можно указывать как тип в реквизитах внешних таблиц и располагать на форме). Однако, как и 3 года назад, изменять данные во внешних источниках мы могли только через ADO Но, в 8.3.4 мы получаем Функции внешних источников данных.

Внешние источники данных, появившиеся в 8.2.14 был отличным шагом навстречу интеграции с другими приложениями. Сейчас на дворе 8.3 и таблицы внешних источников данных:
 

  1. Почти не имеют ограничений в запросах (помещение во временные таблицы, соединения с 1С таблицами);
  2. Могут стать объектными данными (ссылку на внешнюю таблицу можно указывать как тип в реквизитах внешних таблиц и располагать на форме).
Однако, как и 3 года назад, изменять данные во внешних источниках мы могли  только через ADO хотя и сушествуют такие соблазнительные коллекции как ВнешнийИсточникДанныхТаблицаНаборЗаписей и ВнешнийИсточникДанныхТаблицаЗапись
 
Но, в 8.3.4 мы получаем Функции внешних источников данных

При работе с внешними источниками данных реализована возможность использования функций, описанных во внешних источниках данных. Функция может возвращать одно значение, таблицу или не возвращать значений вовсе. Реализована возможность указывать вид таблицы внешнего источника данных - таблица или выражение (для описания функций, возвращающих таблицу).
Для обращения к функциям внешнего источника данных из языка запросов используется один из синтаксисов:
ВнешнийИсточникДанных..Таблица.(,...,);
ВнешнийИсточникДанных..(,...,);
Обращение к функциям с помощью объектной модели возможно с помощью менеджера внешнего источника данных или менеджера таблицы внешнего источника данных.

 
Да именно функции, не процедуры

 

 
В функции мы можем передать параметры (в том числе ссылки из объектных таблиц внешних источников данных) ну и как водится вернуть 1 значение.
 
Сообщить(ВнешниеИсточникиДанных.ВнешИстоник1.ДобавитьЧек(ПараметрыСеанса.Касса));
 
Все идет по плану до тех пор вы не решаетесь поместить в код функции DML (Data Manipulation Language) операторы (INSERT, UPDATE, DELETE)
 
В MSSQL это по понятным причинам запрещено, исхитрится через динамический SQL тоже не получится, поскольку он тоже запрещен в функциях, до линковки сервера самого на себя я не дошел поскольку переключился на ORACLE
 
В ORACLE DML разрешен в функциях если функция будет выполнятся в автономной транзакции

 

CREATE OR REPLACE FUNCTION RGUSER."F_ADDVOU"(
   p_pos    IN   VOU.pos%TYPE 
) RETURN NUMBER 
IS 
   PRAGMA AUTONOMOUS_TRANSACTION; 
BEGIN
   INSERT INTO RGUSER.VOU (POU, V_,UPD,POS)  VALUES (RGUSER.f_inc ('POU', 0, 0),RGUSER.f_inc('V_', 0,  p_pos),sysdate, p_pos);
   COMMIT;
   RETURN 1;
   EXCEPTION  WHEN OTHERS THEN 
    ROLLBACK;
    RETURN (-1); 
 END ;
 
Теперь мы по настоящему, штатными средствами  изменяем данные во внешних источниках данных в том числе и на Linux!
 

SQL ВнешниеИсточникиДанных ORACLE

См. также

Внешние источники данных Программист Бизнес-аналитик Пользователь Платформа 1С v8.3 Управляемые формы Анализ и прогнозирование Конфигурации 1cv8 Узбекистан Беларусь Кыргызстан Молдова Россия Казахстан Платные (руб)

Готовое решение для автоматической выгрузки данных из 1С 8.3 в базу данных ClickHouse, PostgreSQL или Microsoft SQL для работы с данными 1С в BI-системах. «Экстрактор данных 1С в BI» работает со всеми типовыми и нестандартными конфигурациями 1С 8.3 и упрощает работу бизнес-аналитиков. Благодаря этому решению, специалистам не требуется быть программистами, чтобы легко получать данные из 1С в вашей BI-системе.

15.11.2022    19784    18    SQV0    49    

37

Зарплата Внешние источники данных Бюджетный учет Перенос данных 1C Системный администратор Программист Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 8 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

84000 руб.

19.08.2020    24456    23    1    

25

Поиск данных Внешние источники данных Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Если вам нужно автоматически генерировать представления (view) к вашей базе данных 1С (есть две версии - для СУБД MS SQL Server и для PostgreSQL) по структуре метаданных 1С, то вам необходима данная обработка. Наш "Генератор View", другими словами - это коннектор к данным 1С для Power BI - незаменимый помощник для бизнес-аналитиков, работающих с базами 1С из Yandex Datalens/Power BI и т.д. Работает для обычных и управляемых форм под 1С 8.3

230000 руб.

31.07.2020    13526    13    48    

25

Внешние источники данных Кадровый учет Файловый обмен (TXT, XML, DBF), FTP Перенос данных 1C Программист Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 10 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

60000 руб.

05.10.2022    10509    11    8    

13

Производство готовой продукции (работ, услуг) Внешние источники данных Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 Лесное и деревообрабатывающее хозяйство Россия Управленческий учет Платные (руб)

Обработка предназначена для загрузки файлов, выгруженных из системы Базис-мебельщик, в справочник 1С "Спецификации" для последующих процессов учета и диспетчирования полуфабрикатов и изделий.

10200 руб.

24.06.2021    20402    57    53    

35

Внешние источники данных Загрузка и выгрузка в Excel Зарплата Бюджетный учет Системный администратор Программист Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате из Парус 10(Торнадо) учреждений через файлы Excel в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ). В принципе, обработка может быть использована для загрузки из файлов Excel, полученных из любых информационных систем.

48000 руб.

16.11.2018    30675    21    31    

22

Розничная торговля Внешние источники данных Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Бухгалтерский учет 1С:Бухгалтерия 3.0 Фармацевтика, аптеки Россия Бухгалтерский учет Платные (руб)

Внешняя обработка загрузки данных из файла-выгрузки, сформированного в программе F3 TAIL версии 3.4 (и выше) или еФарма версии 2.1, в базу конфигурации 1С: Бухгалтерия предприятия 8, ред. 3.0 (базовая, ПРОФ, КОРП, ФРЕШ).

13200 руб.

19.12.2016    46719    85    105    

65
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. iov 407 11.02.14 23:16 Сейчас в теме
Вот так начали за здравие а пьем за упокой. Все на оракл!!! или всех на оракл. как правильно послать то туда?
Герман а чёто ты на оракл переметнулся? И когда в интеграторе кофеварка появится? :)
2. German 413 11.02.14 23:27 Сейчас в теме
(1)
Герман а чёто ты на оракл переметнулся?


Дак тяжелые времена, кризис. Кофеварка в работе
8. comol 5075 17.02.14 14:43 Сейчас в теме
(2) Что я вижу... PL/SQL :))). Мы не одиноки во вселенной? :). Скоро и EI будет под Oracle такими темпами, да? :).

3. kote 537 12.02.14 15:44 Сейчас в теме
(0) Герман, а в MySQL и postgre базы что-то пробовали записать? Во многих случаях они могут быть вполне достаточны..
4. mickey.1cx 402 12.02.14 16:16 Сейчас в теме
Для создания/обновления записей во внешнем источнике MSSQL можно использовать хранимые процедуры на стороне сервера. На mssql 2008 все получилось.
PLAstic; 1attimo; kser87; AHDP; shmellevich; +5 Ответить
5. bayce 47 15.02.14 00:20 Сейчас в теме
а где это можно использовать?
6. Rothschild 16.02.14 20:50 Сейчас в теме
(0)
как то все по хакерски в 1С получается...
Не знаешь почему пошли по такому пути - создали очередной костыль???

Могли бы просто "цивилизованно" интегрировать платформу 1С с той же ADO:
1. например могли бы допилить СКД для работы с другими источниками данных.
Это как бы предпологалось при ее появлении, но все осталось как было:
Имеется единственный источник данных в СКД - это локальная база 1С.

2. могли бы сделать встроенную функцию для преобразования объекта
ADODB.RecordSet в таблицу значений.

и было бы тогда счастье!
;)))
7. Rothschild 16.02.14 20:53 Сейчас в теме
(6)
ЗЫ
А под 8.3 эти внешние источники данных научили работать через OLEDB
или все используется только ODBC, который вроде считается устаревшим?
9. comol 5075 17.02.14 14:44 Сейчас в теме
(7) Rothschild, эээ а разве OLEDB это не "примочка сверху" над ODBC, а ADO соответственно над OLEDB?....
10. Rothschild 17.02.14 18:25 Сейчас в теме
(9) comol,
насколько я знаю (могу конечно ошибаться ;) ):

ODBC - одна технология доступа к данным, хронологически более ранняя.
OLEDB - другая технология, более поздняя.

а ADO - это програмный интерфейс (если угодно - "примочка" для приложений),
которая может работать с источниками данных, используя обе технологии.

Сама 1С-ка с СУДБ в серверных базах, думаю работает именно через ADO.
А в файловом режиме - используется какой-то свойский самопал.
11. Rothschild 17.02.14 19:56 Сейчас в теме
12. artbear 1562 18.02.14 22:48 Сейчас в теме
(0) Герман, ты же уже в курсе, что 1С облегчил тебе работу, да ? :)
AllexSoft; _also; xzorkiix; +3 Ответить
13. German 413 18.02.14 23:14 Сейчас в теме
(12) Да, Артур ты фдесятке первых :)
14. asved.ru 36 19.02.14 06:53 Сейчас в теме
В свете http://v8.1c.ru/o7/201402ext/index.htm подобные извращения становятся малоосмысленными.
PLAstic; AllexSoft; aparinp; Dach; +4 Ответить
15. AlexanderKai 13.05.14 11:54 Сейчас в теме
(14) asved.ru,
Я так понял, это есть только на 8.3?
16. German 413 13.05.14 23:33 Сейчас в теме
(15) AlexanderKai, только не работает
19. kaging 8 30.01.15 17:40 Сейчас в теме
(16) Работает. И вполне. Только надо всем полям присваивать значения, и есть косяк (((, после записи не выдает ИД созданного объекта (((.
17. softgarant 62 20.05.14 00:29 Сейчас в теме
подскажте как в мускул можно сделать запись?
18. Melnikovbk 19.06.14 15:54 Сейчас в теме
Господа а подскажите, в tSQL не силен (говорю сразу =) ),
есть две функции
MyITVFunc возвращает таблицу (в параметре сколько строк вывести (Select TOP (@Parameters)...)

MyITVFunc_2 другая возвращает просто число ( return 1111)


в 1С Создаю внешний источник данных подключаюсь к БД , Функции добавить - выбрать из внешнего источника -
и вот тут вижу только одну функцию, которая возвращает число...


собственно вопрос к функции которая возвращает таблицу мы доступ не имеем???
20. kaging 8 17.02.15 09:04 Сейчас в теме
Да, еще я столкнулся с тем что при возвращении например ID типа Number какого-либо объекта, приходится в Oracle преобразовывать его в строку и уже на стороне 1с обратно. Хотя может это зависит от драйвера ODBC.
21. Yurious 03.12.15 19:03 Сейчас в теме
С функциями всё понятно и без мануала (в MSSQL это хранимая процедура), а как работать с Таблицами вида Выражение (в MSSQL это функция, возращающая табличное значение) у которой так же как и у функции задано Выражение в источнике данных с параметром, например dbo.ft_OrgAddress(&1) ?

Есть таблица dbo_t_Organization, Вид таблицы=Таблица, Имя в источнике данных=dbo.t_Organization. Открываем форму списка, которую платформа генерирует в польз. режиме и видим все записи таблицы.
Есть в MSSQL функция, возращающая табличное значение dbo.ft_OrgAddress (по ID_Organization выдает таблицу адресов). Во ВнешИстДанных 1С добавляется в Таблицы, а не Функции, Вид таблицы=Выражение, Имя в источнике данных=dbo.ft_OrgAddress(&1). Открываем форму списка, которую платформа генерирует в польз. режиме и видим ошибку:

Ошибка при выполнении запроса. Ошибка при выполнении запроса.
по причине:
Ошибка получения данных
по причине:
Ошибка создания набора данных "НаборДанныхДинамическогоСписка"
по причине:
Ошибка при исполнении запроса набора данных
по причине:
{(27, 2)}: Неверные параметры "ВнешнийИсточникДанных.ЦБ.Таблица.dbo_ft_OrgAddress"
<<?>>ВнешнийИсточникДанных.ЦБ.Таблица.dbo_ft_OrgAddress КАК ВнешнийИсточникДанныхЦБТаблицаdbo_ft_OrgAddress


Где и каким образом задать параметр &1 и какие вообще возможности работы с этим объектом?
22. Sanya1 30.11.16 08:49 Сейчас в теме
У вас написано: Почти не имеют ограничений в запросах (помещение во временные таблицы, соединения с 1С таблицами)
Разве возможно в запросе соединить данные из внешнего источника и из 1С ?
Оставьте свое сообщение