Каталог решений - Алгоритм выгрузки из 1С в Access

Алгоритм выгрузки из 1С в Access

Алгоритм выгрузки из 1С в Access

В наличии

Работающий алгоритм выгрузки из 1С в Access. Понадобилось выгрузить отчет в ACCESS, пришлось разбираться.

Категория:

Описание

Пришлось перекопать множество материалов пока не наткнулся на книгу А. Михайлова «1C: Предприятие 7.7/8.0: системное программирование. Данный код можно использовать в отчетах для их выгрузки в файл ACCESS.

//Создаем файл Access

dbe = Новый COMОбъект(«DAO.DBEngine.36»);

wksp = dbe.Workspaces(0);

db = 0;

Имя = «С:\Темр»;

ИмяФайла = «File»;

Путь = Имя + «\»+ИмяФайла+».mdb»;

db = wksp.CreateDataBase(Путь,»;LANGID=0x0419;CP=1251;COUNTRY=0″);

wksp.Close();

dbe = Неопределено;

СтрокаПодключения = «Provider=Microsoft.Jet.OLEDB.4.0;Data Source=» + Путь;

// Создание таблицы

// Начальная инициализация

Catalog = Новый COMОбъект(«ADOX.Catalog»);

Catalog.ActiveConnection = СтрокаПодключения;

// Создание новой таблицы

Table = Новый COMОбъект(«ADOX.Table»);

// Имя таблицы

Table.Name = «DistrSalesReport»;

// Создание новой колонки

// Допустимые типы

// adDouble = 5 Значение с плавающей точкой двойной точности

// adDAte = 7 Дата

// adCurrency = 6 Денежная сумма

// adBoolean = 11 Булево  

// adVarWChar = 202 Символьная строка Unicode, заканчивающаяся NULL

// adLongVarWChar = 203 Длинное строковое значение

Column = Новый COMОбъект(«ADOX.Column»);

// Имя колонки

Column.Name = «IdRow»;

Column.Type = 5; // Число

// Присоединение колонки к таблице

Table.Columns.Append(Column);

Column = Новый COMОбъект(«ADOX.Column»);

// Имя колонки

Column.Name = «PRRDistribCode»;

Column.Type = 202; // Строка

// Присоединение колонки к таблице

Table.Columns.Append(Column);

// Присоединение созданной таблицы (листа)

Catalog.Tables.Append(Table);

СтрокаПодключения = «Provider=Microsoft.Jet.OLEDB.4.0; Data Source=» + Путь + «;»»»;

Connection = Новый COMОбъект(«ADODB.Connection»);

Попытка

      Connection.Open(СтрокаПодключения);

Исключение

      Сообщить(ОписаниеОшибки());

      Возврат;

КонецПопытки;

Запись = Новый COMОбъект(«ADODB.RecordSet»);

ТекстЗапроса = «SELECT * FROM DistrSalesReport»;

Запись.Open(ТекстЗапроса, Connection, 1, 3);

Indy = 0;

//Здесь ваш запрос или тз для выгрузки

//Бежим по выборке запроса 1С

Пока Выборка.Следующий() Цикл

   Indy = Indy + 1;

   // Добавление новой записи в колонки

   Запись.AddNew();

   Запись.Fields(0).Value = Indy;

   Запись.Fields(1).Value = «Какая то строка»;

   Запись.UpDate();

КонецЦикла;

// Закрываем соединение

Connection.Close();

Connection = Неопределено;

//проверяем файл

has been added to your cart:
Оформление заказа