Отбор для внешнего источника данных

11.10.24

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

Как я устанавливал отбор для внешнего источника данных.

Ранее перевёл несколько отчётов, которые брали данные из внешней базы SQL, с получения данных через ADO на получение их через механизм внешних источников данных. В итоге значительно сократился и упростился программный код, чему я рад.

Сейчас возникло желание перевести туда же обработку, которая, среди прочего, модифицирует данные во внешнем SQL.

Специально описываю на моём частном случае, потому как именно из-за него, к правильному решению пришёл более сложным путём.

Далее подробности, возможно, избыточные.

Во внешнем SQL есть таблица tovar с полями code (первичный ключ) и name, и есть таблица tovar_barcode с полями tovar_code и barcode, где tovar_code - внешний ключ для поля code из таблицы tovar.

В таблице tovar_barcode, для одного tovar_code может быть несколько разных barcode.

При добавлении этих таблиц в 1С в качестве внешнего источника данных, 1С для таблицы tovar указала "Тип данных таблицы внешнего источника данных" равным "Объектные данные", а для tovar_barcode - Необъектные данные.

 

 

Важно, что поле tovar_code таблицы tovar_barcode было автоматически добавлено 1С с типом ВнешнийИсточникДанныхТаблицаСсылка.ВИД_SQL.dbo_tovar, в то время как поле code таблицы tovar имеет тип Число. Причина такого поведения - упомянутый внешний ключ.

В обработке, мне необходимо будет выполнять отбор по полю tovar_code, указывая значение отбора число, а не ссылку на запись из другой таблицы. В свойствах поля меняю его тип на Число.

При попытке выполнить следующий код, получаю ошибку "Поле объекта не обнаружено (tovar_code)"

	КодТовара = 70; // для примера

	НаборЗаписей = ВнешниеИсточникиДанных.ВИД_SQL.Таблицы.tovar_barcode.СоздатьНаборЗаписей();
	НаборЗаписей.Отбор.tovar_code.Установить(КодТовара);
	НаборЗаписей.Прочитать();
	Для Каждого Запись Из НаборЗаписей Цикл
		Сообщить(Запись.tovar_code);
		Сообщить(Запись.barcode);
	КонецЦикла;

Решение - добавить tovar_code в поля ключа. При этом, 1С, почему-то решает что таблица после этого начинает содержать в себе объектные данные и я меняю "Объектные данные" на "Необъектные данные".

Должно получиться как на картинке

 

 

Снова выполняю указанный выше код и, о чудо, вижу сообщения со значениями записей.

Всё сказанное делалось на платформе 8.3.25.1394.

Вступайте в нашу телеграмм-группу Инфостарт

Отбор ВнешниеИсточникиДанных Внешние источники данных ВИД

См. также

Внешние источники данных Программист Бизнес-аналитик Пользователь 1С:Предприятие 8 1C:Бухгалтерия Узбекистан Беларусь Кыргызстан Молдова Россия Казахстан Платные (руб)

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

28500 руб.

15.11.2022    30533    42    49    

46

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

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

122000 руб.

19.08.2020    29229    27    3    

28

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

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

17080 руб.

19.12.2016    53548    121    107    

83

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

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

84000 руб.

05.10.2022    13121    14    8    

16

Внешние источники данных Программист Бизнес-аналитик 1С:Предприятие 8 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Обработка для выгрузки данных из подготовленных СКД в фоновом режиме в базу ClickHouseDB, PostgreSQL, MySQL, в шину данных с поддержкой REST API (CSV, JSON. SQL), в локальные файлы (CSV, JSON, XLS, XLSX) или в Google Sheets. Это дополнительная подключаемая обработка.

18000 руб.

21.08.2024    8352    21    4    

18

Внешние источники данных Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Розница 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Платные (руб)

Быстро и легко. Выгрузка всех элементов и групп номенклатуры (с их иерархией), кроме помеченных на удаление. Без использования COM-объектов.

4880 руб.

16.08.2023    3761    7    8    

9
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. A_Max 21 27.11.25 23:02 Сейчас в теме
ФЕНОМЕНАЛЬНО!!!
Да действительно такое сработало.
Неисповедимы пути :)
Для отправки сообщения требуется регистрация/авторизация