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

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

См. также

Перенос данных из Парус 8 в ЗГУ 3

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

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

84000 руб.

19.08.2020    22447    19    1    

22

Перенос данных из Парус 10 в ЗГУ ред.3

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

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

60000 руб.

05.10.2022    9207    9    8    

10

Перенос данных из Парус 7.хх в ЗГУ ред.3

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

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

24000 руб.

24.04.2017    48697    97    163    

86

Перенос начальных остатков из Парус 7.71 в БГУ

Внешние источники данных Взаиморасчеты Учет ОС и НМА Логистика, склад и ТМЦ Бюджетный учет Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 2.0 1С:Бухгалтерия государственного учреждения Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Перенос словарей и начальных остатков из ПП Парус-Бухгалтерия Бюджет 7.71 в 1Сv8 БГУ2. Заполнение словарей и документов по вводу начальных остатков. Не требуется установка ПП Парус7. Возможна дозагрузка. Позволит автоматически и наиболее полно ввести данные в программу для начала работы. 

15600 руб.

08.12.2011    81559    128    123    

147

Перенос данных из Парус 10 (Торнадо) в ЗГУ ред.3 через Excel

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

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

24000 руб.

16.11.2018    29997    20    31    

21

Загрузка спецификаций в УНФ из системы Базис-мебельщик

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

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

7200 руб.

24.06.2021    19126    52    50    

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


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

3. kote 536 12.02.14 15:44 Сейчас в теме
(0) Герман, а в MySQL и postgre базы что-то пробовали записать? Во многих случаях они могут быть вполне достаточны..
4. mickey.1cx 397 12.02.14 16:16 Сейчас в теме
Для создания/обновления записей во внешнем источнике MSSQL можно использовать хранимые процедуры на стороне сервера. На mssql 2008 все получилось.
PLAstic; 1attimo; kser87; AHDP; shmellevich; +5 Ответить
5. bayce 45 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 5051 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 1448 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С ?
Оставьте свое сообщение