Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> загрузка данных из excel          
Klotilda Подменю пользователя
сообщение 24.11.15, 12:58
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 8
Спасибо сказали: 0 раз
Рейтинг: 0

Здравствуйте! Пишу программу, которая должна вывести в таблицу на форме содержимое excel документа. Затем Ищет артикул в справочнике номенклатура. Если не находит, выдает сообщение.

Процедура ОкрытьФайлНажатие(Элемент)

ДиалогВыбора                = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
   ДиалогВыбора.Заголовок     ="Выберите файл";
      
     Если ДиалогВыбора.Выбрать()Тогда
           ИмяФайла=ДиалогВыбора.ПолноеИмяФайла;
      КонецЕсли;

       Таблица.Очистить();
    Таблица.Колонки.Очистить();
    
    Попытка
        Excel=Новый COMОбъект("Excel.Application");
        Excel.WorkBooks.Open(ИмяФайла);
        Состояние("Обработка файла Excel");
        ExcelЛист=Excel.Sheets(1);
    Исключение
        Сообщить("шибка при открытии файла");
        Сообщить(ОписаниеОшибки());
        Возврат;
        КонецПопытки;
        
                
        Версия        =Лев(Excel.Version,Найти(Excel.Version,".")-1);
        Если Версия="8" Тогда
            ФайлСтрок        =Excel.Cells.CurrentRegion.Rows.Count;
            ФайлКолонок        =Макс(Excel.Cells.CurrentRegion.Columns.Count,13);
        Иначе
            ФайлСтрок        =Excel.Cells(1,1).SpecialCells(11).Row;
            ФайлКолонок        =Excel.Cells(1,1).SpecialCells(11).Column;
        КонецЕсли;
        
        
            
        
        Счетчик=1;
        Пока ЗначениеЗаполнено(Excel.Cells(1,Счетчик).Text)Цикл
            ИмяКолонки=Excel.Cells(1,Счетчик).Text;
             ИмяБезПробелов=СтрЗаменить(ИмяКолонки," ","");
             //Таблица.Колонки.Добавить(ИмяБезПробелов,,ИмяКолонки);
             Таблица.Колонки.Добавить(ИмяКолонки);
             НоваяКолонка=ЭлементыФормы.Таблица.Колонки.Добавить(ИмяКолонки);
             НоваяКолонка.Данные=ИмяБезПробелов;
             Счетчик=Счетчик+1;
         КонецЦикла;
        
         Для нс=2 по ФайлСтрок Цикл
         НоваяСтрока=Таблица.Добавить();
         Для НомерКолонки=1 По Таблица.Колонки.Количество()Цикл
             ТекущееЗначение=Excel.Cells(нс.НомерКолонки).Text;
              ИмяКолонки=Таблица.Колонких[НомерКолонки-1].Имя;
              НоваяСтрока[ИмяКолонки]=ТекущееЗначение;
              
              Если справочники.Номенклатура.НайтиПоНаименованию("Артикул").ЭтоГруппа=Ложь Тогда
                  Если Справочники.номенклатура.НайтиПоНаименованию("Артикул")=НоваяСтрока[ИмяКолонки] Тогда
                     Сообщение=Новый СообщениеПользователю();
                         Сообщение.Сообщить("Артикул"+НоваяСтрока[ИмяКолонки]+"уже есть");

                      КонецЕсли;
            КонецЕсли;
            
             КонецЦикла;
           КонецЦикла;
               
Excel.WorkBooks.Close();
Excel = 0;
        
КонецПроцедуры


При выполнениии выдается ошибка: Ошибка при вызове метода контекста (Добавить)
Таблица.Колонки.Добавить(ИмяКолонки);
по причине:
Неверное имя колонки


Очень прошу помощи

Petre Подменю пользователя
сообщение 24.11.15, 13:17
Сообщение #2

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2905
Из: Київ, Україна
Спасибо сказали: 1147 раз
Рейтинг: 1228.9

Разве ошибка не очевидна?
Цитата(Klotilda @ 24.11.15, 13:58) *
Неверное имя колонки



Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Klotilda Подменю пользователя
сообщение 24.11.15, 13:58
Сообщение #3

Молчаливый
*
Группа: Пользователи
Сообщений: 8
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Petre @ 24.11.15, 13:17) *
Разве ошибка не очевидна?


Да, в файле были пробелы.

можно обращаться к ячейкам таблицыв экселе без создания таблицы на форме?

Petre Подменю пользователя
сообщение 24.11.15, 14:48
Сообщение #4

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2905
Из: Київ, Україна
Спасибо сказали: 1147 раз
Рейтинг: 1228.9

Цитата(Klotilda @ 24.11.15, 14:58) *
можно обращаться к ячейкам таблицыв экселе без создания таблицы на форме?

Конечно можно. Они никак не связаны.


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 24.04.24, 8:38
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!