Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

1С: Администрирование и интеграция

Войти
Регистрация
Восстановить пароль
 
mbro
3 / 3 / 1
Регистрация: 10.03.2013
Сообщений: 32
#1

Не получается выгрузить таблицу значений в эксель через COMSafeArray - 1С

09.12.2016, 08:02. Просмотров 277. Ответов 0
Метки нет (Все метки)

Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Пытаюсь загрузить таблицу значений (без первых трёх столбцов) в Эксель через COMSafeArray, но выдаёт ошибку:
"Ошибка при установке значения атрибута контекста (Value)
Sheet.Range(Sheet.Cells(15,1), Sheet.Cells(КоличествоСтрок+15,КоличествоКолонок-2)).Value = МассивКом;
по причине:
Произошла исключительная ситуация (0x800a03ec)"

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 ТЗ10 = Построитель.Результат.Выгрузить();
    
    КоличествоСтрок = ТЗ10.Количество();
    КоличествоКолонок = ТЗ10.Колонки.Количество();
    
    МассивКом = Новый COMSafeArray("VT_VARIANT",КоличествоКолонок, КоличествоСтрок);
    Для ИндСтрок = 0 по КоличествоСтрок-1 Цикл
    СтрокаТаблицы = ТЗ10[индСтрок];
    Для ИндКолонок = 3 по КоличествоКолонок - 1 Цикл
        А=индКолонок;
        Б=ИндСтрок;
        В=СтрокаТаблицы[индКолонок];
        МассивКОМ.SetValue(А,Б,В);
    КонецЦикла;
    КонецЦикла;
    Sheet.Range(Sheet.Cells(15,1), Sheet.Cells(КоличествоСтрок+15,КоличествоКолонок-3)).Value = МассивКом;
Инфу брал отсюда http://kb.mista.ru/article.php?id=707

Добавлено через 2 часа 46 минут
попробовал сначала таблицу значений перевести в двумерный массив через функцию, но ошибку это не исправило, всё также осталось. хелп
1C
1
2
3
4
5
6
7
8
9
10
11
12
    ТЗ10 = Построитель.Результат.Выгрузить();
    
    КоличествоСтрок = ТЗ10.Количество();
    КоличествоКолонок = ТЗ10.Колонки.Количество();
    
    МассивТЗ = Новый Массив();
    МассивТЗ = ТаблицаЗначенийВМассив(ТЗ10);
    
 
    МассивКом= НОВЫЙ COMSafeArray(МассивТЗ,"VT_VARIANT",КоличествоСтрок,КоличествоКолонок-3);   
    Sheet.Range(Sheet.Cells(15,1), Sheet.Cells(КоличествоСтрок+14,КоличествоКолонок-3)).Clear();
    Sheet.Range(Sheet.Cells(15,1), Sheet.Cells(КоличествоСтрок+14,КоличествоКолонок-3)).Value = МассивКом;
1C
1
2
3
4
5
6
7
8
9
10
11
Функция ТаблицаЗначенийВМассив(ТаблицаЗначений)
    СТР=ТаблицаЗначений.Количество();
    КОЛ=ТаблицаЗначений.Колонки.Количество();
    Массив = Новый Массив(СТР, КОЛ-3);
    Для i=0 по СТР-1 цикл
        Для j=0 по КОЛ-4 цикл
            Массив[i][j]=ТаблицаЗначений[i][j+3];
        КонецЦикла;
    КонецЦикла;
    Возврат Массив; 
КонецФункции;
Добавлено через 1 час 33 минуты
Проблема устранена. В паре колонок был тип данных, неугодный экселю. Изменил тип на строку и всё начало выгружаться. Спасибо
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2016, 08:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не получается выгрузить таблицу значений в эксель через COMSafeArray (1С):

Как выгрузить из таблицы в форме данные в таблицу значений? - 1С
Как выгрузить из таблицы в форме данные в таблицу значений?

1C 8.x 8.3 Упр.Прил.: COMSafeArray и массив из COM объектов ? - 1С
Есть СОМ объект, некое его свойство само по себе массив из других СОМ объектов. Вопрос, можно ли этот массив перегнать в COMSafeArray, и,...

Comsafearray (выгрузка из Эксель) - 1С
Область = Excel_Лист.Range(Excel_Лист.Cells(3,11), Excel_Лист.Cells(КоличествоСтрок,11)); АдресХранилища =...

Автоматизация переноса значений из одного документа в эксель в другой эксель - MS Excel
Мне необходимо из таблицы перенести все данные в акта. На каждую строчку таблицы необходим отдельный акт, всего в таблице более 200 строк...

Не получается выгрузить в .csv кириллицу - Oracle
Помогите, пожалуйста, с подобной проблемой. Только изучаю БД. Не получается выгрузить в .csv кириллицу. Перепробовал уже несколько...

Выгрузить таблицу из БД - Java БД
У меня есть бд "mydb", в ней табличка "enterprises". Нужно выгрузить табличку в jTable. Использую NetBeans. Подскажите, как это сделать? ...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2016, 08:02
Привет! Вот еще темы с ответами:

Вывести таблицу значений функции через цикл do/while - C++
Написать программу, которая реализует такой алгоритм. Выводит на экран меню: 1. Ввод данных 2. Вычисление функции 3. Завершение ...

Не получается выгрузить приложение на Google Play - Программирование Android
Здравствуйте. Написал приложение, зарегистрировался, оплатил, а окно для загрузки приложений в аккаунте так и не появилось. Что делать....

Hibernate: получение значений таблицы через третью таблицу - Java EE
Добрый день. Есть три таблицы: "cars", "details" и "detail_car". У каждой таблицы есть id, у "detail_car" еще колонки car_id и detail_id....

Рассчитать значения функции для значений Х и У через таблицу подстановки - VBA
Как это реализовать ? )


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru