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

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.

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

См. также

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

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

13200 руб.

19.12.2016    49509    102    106    

74

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

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

28500 руб.

15.11.2022    24959    27    49    

42

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

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

10200 руб.

24.06.2021    22653    57    55    

40

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

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

4800 руб.

16.08.2023    2226    6    8    

9

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

Обработки для загрузки данных из УРМ "Криста" в бухгалтерию государственного учреждения редакция 2.0. Есть Демо доступ на вкладке Бесплатные файлы на 1 месяц со дня получения демонстрационного ключа регистрации. Поддерживает ПО "Web-исполнение" от НПО "Криста".

4800 руб.

19.06.2013    40518    143    108    

36
Оставьте свое сообщение