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

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

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

28500 руб.

15.11.2022    21605    22    49    

39

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

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

84000 руб.

24.04.2017    51850    104    165    

91

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

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

120000 руб.

19.08.2020    25687    25    1    

27

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

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

84000 руб.

05.10.2022    11279    13    8    

15

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

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

13200 руб.

19.12.2016    47774    88    105    

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