Appearance
Примеры на 1С
Примеры можно выполнить во встроенной обработке "Консоль кода"
Внимание !
При запуске примеров в базе, работающей режиме клиент-сервер, нужно указывать пути к файлам загрузки-выгрузки доступным с сервера 1С.Обмен данными через файлы Parquet
Выгрузка
Таблица значений
Выгрузка таблицы значений в файл Parquet
bsl
ТЗ = Новый ТаблицаЗначений();
ТЗ.Колонки.Добавить("Кол_Бул", Новый ОписаниеТипов("Булево"));
ТЗ.Колонки.Добавить("Кол_Число", ткд_РаботаСТипамиПИ.ПолучитьОТ_Число(10));
Для Сч = 1 По 500000 Цикл
СтрокаТЗ = ТЗ.Добавить();
СтрокаТЗ.Кол_Бул = (Сч%2=0);
СтрокаТЗ.Кол_Число = Сч % 50;
КонецЦикла;
рВыгрузки = ткд_ОбменДаннымиС.ВыгрузитьТЗвПаркет(ТЗ);
ДанныеПаркет = рВыгрузки.Данные["ОсновнаяТаблица"];
ДанныеПаркет.Записать("C:\tmp\pq_data\MyFirstParguetFile.parquet");
Время выгрузки
1 000 000 ячеек - 1.282 секунд
размер файла - 54 396 байт
Результат запроса
Выгрузка результата запроса
bsl
ТекстЗапроса = "
|ВЫБРАТЬ ПЕРВЫЕ 100000
| Ссылка,
| Код,
| Наименование
|ИЗ
| Справочник.Номенклатура
|";
рВыгрузки = ткд_ОбменДаннымиС.ВыгрузитьЗапросвПаркет(ТекстЗапроса);
рВыгрузки.Данные.Записать("C:\tmp\pq_data\Номенклатура.parquet");
Время выгрузки
100 000 элементов - 1.993 секунд
размер файла - 2 453 203 байт
Пакет запросов
Выгрузка результатов пакета запросов.
В данном примере выгружаются данные 10 000 документов "ЗаказПокупателя". В выгрузку включены шапки документов и табличная часть "Товары".
Все данные будут выгружены в один файл: "Документ.ЗаказПокупателя.parquet".
bsl
ТекстЗапроса = "
|ВЫБРАТЬ ПЕРВЫЕ 10000
| Ссылка
|ПОМЕСТИТЬ ВТ_Ссылки
|ИЗ
| Документ.ЗаказПокупателя
|;
|ВЫБРАТЬ //Шапка
| т.Ссылка,
| т.Номер,
| т.Дата,
| т.Контрагент
|ИЗ
| Документ.ЗаказПокупателя КАК т
|ПРАВОЕ СОЕДИНЕНИЕ ВТ_Ссылки ПО ВТ_Ссылки.Ссылка = т.Ссылка
|;
|ВЫБРАТЬ //ТЧ_Товары
| т.Ссылка,
| т.Номенклатура,
| т.ХарактеристикаНоменклатуры,
| т.Количество,
| т.КоличествоМест,
| т.Коэффициент,
| т.Цена,
| т.СуммаНДС,
| т.Сумма
|ИЗ
| Документ.ЗаказПокупателя.Товары КАК т
|ПРАВОЕ СОЕДИНЕНИЕ ВТ_Ссылки ПО ВТ_Ссылки.Ссылка = т.Ссылка
|";
ОписаниеПакета = Новый Структура("ТекстЗапроса", ТекстЗапроса);
рВыгрузки = ткд_ОбменДаннымиС.ВыгрузитьПакетЗапросовВПаркет(ОписаниеПакета);
рВыгрузки.Данные.Записать("C:\tmp\pq_data\Документ.ЗаказПокупателя.parquet");
Время выгрузки
Выгрузка - 1.142 секунд.
Выгружено: 10 000 документов, 14 090 строк товаров.
Размер файла: 1 268 455 байт.
Результаты выгрузки
Загрузка данных Parquet
Загрузка из файла Parquet
bsl
ДанныеПаркет = Новый ДвоичныеДанные("C:\tmp\pq_data\MyFirstParguetFile.parquet");
рЗагрузки = ткд_ОбменДаннымиС.ПрочитатьПаркет(ДанныеПаркет);
ТЗ = рЗагрузки.Данные[рЗагрузки.ИмяГлавнойТаблицы];
Время загрузки
1 000 000 ячеек - 1.504 секунд
размер файла - 54 396 байт
Просмотр файла Parquet
В состав Турбо КД входит обработка Универсальная выгрузка-загрузка объектов
С помощью данной обработки можно просмотреть содержимое файлов Parquet выгруженных системой Турбо КД.