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

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    30347    42    49    

46

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

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

84000 руб.

05.10.2022    12919    14    8    

16

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

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

17080 руб.

19.12.2016    53317    119    107    

83

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

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

18000 руб.

21.08.2024    8100    21    4    

18

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

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

4880 руб.

16.08.2023    3691    7    8    

9

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

Решение позволяет по ИНН производить проверку контрагентов, получая сведения: видов деятельности, данных ЕГРЮЛ, связанных организаций, отчетности, налогов, финансовый анализ, а также в один клик заполнить карточки справочников контрагентов/партнеров по ИНН в программе 1С по данным государственных реестров.

7499 руб.

12.08.2025    2920    9    20    

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