Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
12 Дек 2017, 07:26
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Загрузка данных в 1с из экселя с через (ADO)  (Прочитано 5124 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Начинающий 1с

  • *
  • Сообщений: 32
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-04-30
  • Сайт: 
  • Профессия: Программист 1С

  Всем привет подскажите пожалуйста, пишу обработку для платформы 8.2, конфигурация БП 3.0 упр формы, вариант клиент серверный, ниже код:



&НаСервере
Функция ПарсингЭкселя(пФайл, пЛист, СтруктураКолонок = Неопределено,  НачСтрока = 0, знач ПодключениеADODB = "MicrosoftJetOLEDB40",  КонСтрока = 0,Таблица,ТЗнач) Экспорт
 
   СтрокаПодключения = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source = "+Объект.Путь;
   СтрокаПодключения = СтрокаПодключения + "; Extended Properties = "+"""Excel 12.0"+";HDR=NO;IMEX=1"";";
   
   // Подключаемся
   
   Об_Конект = Новый COMОбъект("ADODB.Connection");
   
   Попытка
      Об_Конект.Open(СтрокаПодключения);
   Исключение
      Сообщить ("Невозможно подключится к Microsoft Excel" + ОписаниеОшибки());
      Возврат Неопределено;
   КонецПопытки;
   
      RS = Новый COMОбъект("ADODB.Recordset");
      
      ТекстЗапроса =
      "SELECT
      |    Лист.*
      |FROM
         |    [Лист1$] as Лист";
   
    Попытка
       RS.Open(ТекстЗапроса, Об_Конект);
    Исключение
       Сообщить ("Проблемы с выполнением запроса");
       Возврат Неопределено;
    КонецПопытки;
   
   Таблица = Новый ТаблицаЗначений;
       
    Если СтруктураКолонок = Неопределено Тогда
       
       Для Счетчик = 1 По RS.Fields.Count Цикл
          Поле = RS.Fields.Item(Счетчик - 1);
          Колонка = Таблица.Колонки.Добавить("К" + Счетчик, , Поле.Name);
       КонецЦикла;
 
    Иначе
 
       Для каждого КлючИЗначение Из СтруктураКолонок Цикл
          Колонка = Таблица.Колонки.Добавить(КлючИЗначение.Ключ);
       КонецЦикла;
 
    КонецЕсли;
 
    НомерСтроки = 0;
    КолвоСтрок  = RS.RecordCount;
    НачСтрока = 0;
      КонСтрока = 0;
   
    Пока RS.EOF() = 0 Цикл
 
       НомерСтроки = НомерСтроки + 1;
 
       #Если Клиент Тогда
       Состояние("Чтение файла: " + Формат(НомерСтроки) + " из " + Формат(КолвоСтрок));
       ОбработкаПрерыванияПользователя();
       #КонецЕсли
 
       Если НомерСтроки < НачСтрока Тогда
          RS.MoveNext();
          Продолжить;
       КонецЕсли;
 
       Если КонСтрока > 0 И НомерСтроки > КонСтрока Тогда
          Прервать;
       КонецЕсли;
 
       НоваяСтрока = Таблица.Добавить();
 
       Если СтруктураКолонок = Неопределено Тогда
 
          Для Счетчик = 1 По RS.Fields.Count Цикл
 
             Поле = RS.Fields.Item(Счетчик - 1);
             НоваяСтрока["К" + Счетчик] = Поле.Value;
 
          КонецЦикла;
 
       Иначе
 
          Для каждого КлючИЗначение Из СтруктураКолонок Цикл
 
             Поле = RS.Fields.Item(КлючИЗначение.Значение - 1);
             НоваяСтрока[КлючИЗначение.Ключ] = Поле.Value;
 
          КонецЦикла;
 
       КонецЕсли;
 
       // Обработка других полей
       RS.MoveNext();
 
    КонецЦикла;
 
    // Завершение работы
 
    RS.Close();
    Об_Конект.Close();
 
    Возврат Таблица;
 
КонецФункции   

когда данную функй делаю на айловом варианте все работает. а когда на клиент серверном , то он
 вот на этом месте



   Попытка
      Об_Конект.Open(СтрокаПодключения);
   Исключение
      Сообщить ("Невозможно подключится к Microsoft Excel" + ОписаниеОшибки());
      Возврат Неопределено;
   КонецПопытки;

 уже застревает, идет в исключение, может кто делал,


Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
На сервере либо нет драйвера Microsoft.ACE.OLEDB.12.0, либо у пользователя под кем запущена служба нет прав на создание соединения
Добавлено: 10 Окт 2013, 19:09

Перенеси подключение к драйверу на клиент
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Начинающий 1с

  • *
  • Сообщений: 32
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-04-30
  • Сайт: 
  • Профессия: Программист 1С
сделал на клиенте, все равно не открвает в попытке
Добавлено: 11 Окт 2013, 14:38

сделал на клиенте, но теперь не могу получить и заполнить ТЗ, потому что он доступен только на сервере, что делать подскажите пожл)

Последний раз редактировалось: Начинающий 1с; 11 Окт 2013, 14:38. Причина: Объединение сообщений

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
сделал на клиенте, но теперь не могу получить и заполнить ТЗ, потому что он доступен только на сервере, что делать подскажите пожл)
Не понос, так золотуха....

Ну так теперь передавай управление на сервер и там заполняй свою ТЗ и делай свои махинации...
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!


Теги:
 

Перенос данных из 1с 82 БП (базовая) в 1с 82 БГУ (базовая)

Автор Владимир87Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 7429
Последний ответ 06 Дек 2014, 17:40
от дфтын
Поиск по бае данных,(полнотекстовый поиск)

Автор kot_ooРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 3881
Последний ответ 19 Май 2014, 15:40
от kot_oo
Как исправить при обновлении ИБ: Ошибка в запросе набора данных по причине: {(58, 2)}: Несовместимые типы "ВЫБОР" <<?>>ВЫБОР

Автор dollРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 2111
Последний ответ 01 Янв 2017, 20:27
от Геннадий ОбьГЭС
"Задваивание" данных в отчете

Автор mashencev_antonРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 13
Просмотров: 7319
Последний ответ 15 Окт 2015, 11:21
от Mari_beginner
Куда сохраняются данные в режиме работы клиент при выгрузке данных обработкой "Универсальный обмен данными в формате XML"

Автор xDDРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 6946
Последний ответ 13 Ноя 2014, 08:23
от cska-fanat-kz

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
167 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
46 Сообщений
andron81_81
42 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
BuhRust
28 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 313
  • Точка Скрытых: 0
  • Точка Пользователей: 6
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal