Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

1с обработка из Excel в 1с

1с обработка из Excel в 1с
Я
   Vaicheslav
 
28.02.18 - 09:41
Добрый день/вечер.
Помогите пожалуйста. Столкнулся с такой проблемой, есть Excel файл в нем есть колонка "Группа" и многие другие, в этой группе есть данные с наименование "Архив" и "Не продавать", как сделать так чтобы эти строки не выгружались в таблицу 1с обработки.
Я конечно понимаю что это не сложно, но я не могу понять как это  сделать, заранее спасибо.
Вот код который я выгружаю из Excel в 1с обработку
------------------------------------------------------------------
Процедура ЗагрузитьИзExel(Команда)
    
    Объект.ТабличнаяЧастьДанные.Очистить();
    
    Состояние("Открыть Excel файл...");
    
    Если СокрЛП(Объект.ИмяФайла) = "" Тогда
        Сообщить("Не найден файл!", СтатусСообщения.ОченьВажное);
        Возврат
    КонецЕсли;
    
    Попытка
        Excel = Новый COMОбъект("Excel.Application");
    Исключение
        Сообщить("Похоже, Excel на компьютере не установлен. Необходимо выполнить установку/переустановку Excel.");
        Возврат;
    КонецПопытки;
    
    Excel.WorkBooks.Open(СокрЛП(Объект.ИмяФайла));
    Состояние("Открытие файла" +Объект.ИмяФайла+"");
    
    КоличествоЛистов = Excel.Sheets.Count;
    
    КолонкаГруппы                = 1;
    КолонкаАртикул              = 2;
    КолонкаКодМодификации       = 40;
    КолонкаНаименование         = 3;
    КолонкаЕдИзмерениеВеса      = 6;
    КолонкаСтавкаНДС            = 35;
    КолонкаРознечнаяСтавкаНДС   = 35;
    
    Для НомераЛиста = 1 По КоличествоЛистов Цикл 
        
        Состояние("Обработка листа №"+НомераЛиста+" из всего листов: "+КоличествоЛистов+"", 25);
        Excel.Sheets(НомераЛиста).select();
        
        Версия = Лев(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;
        КонецЕсли; 
        
        Для СтрокаЕксель = 2 По ФайлСтрок Цикл 
            Сообщить("Обработка строк...");
                        
            Если НЕ ЗначениеЗаполнено(СокрЛП(Excel.Cells(СтрокаЕксель, КолонкаНаименование).Value)) Тогда
                Прервать;
            КонецЕсли;
            
            //Если ЗначениеЗаполнено(СокрЛП(Excel.Cells(СтрокаЕксель, КолонкаГруппы).Value)) = "Архив" тогда 

            //    break;

            //КонецЕсли;

            
            НовСтр = Объект.ТабличнаяЧастьДанные.Добавить(); 
            НовСтр.Группа = СокрЛП(Excel.Cells(СтрокаЕксель, КолонкаГруппы).Value);
              НовСтр.Артикул = СокрЛП(Excel.Cells(СтрокаЕксель, КолонкаАртикул).Value);
            НовСтр.КодМодиФикации = СокрЛП(Excel.Cells(СтрокаЕксель, КолонкаКодМодификации).Value);
            НовСтр.Наименование = СокрЛП(Excel.Cells(СтрокаЕксель, КолонкаНаименование).Value);
            НовСтр.ЕдИзмерениеВеса = СокрЛП(Excel.Cells(СтрокаЕксель, КолонкаЕдИзмерениеВеса).Value);
            НовСтр.СтавкаНДС = СокрЛП(Excel.Cells(СтрокаЕксель, КолонкаСтавкаНДС).Value);
            НовСтр.РознечнаяСтавкаНДС = СокрЛП(Excel.Cells(СтрокаЕксель, КолонкаРознечнаяСтавкаНДС).Value);
            
        КонецЦикла;
    КонецЦикла;

    Состояние("ЗакрытьExcel...");
    Excel.Activeworkbook.Close();
    Excel = Неопределено;
        
КонецПроцедуры
 
 
   Vovik
 
1 - 28.02.18 - 09:42
Если я правильно понял - то зацепиться за оформление групп (цвет, размер шрифта) или содержание. И сделать условие
   Vaicheslav
 
2 - 28.02.18 - 09:51
Да надо выбрать по содержанию, я конечно могу сделать выборку когда буду загружать в базу, но мне бы хотелось чтобы оно сразу отбиралась из Excel но я пробовал по разному и ни как не получалось

Если ЗначениеЗаполнено(СокрЛП(Excel.Cells(СтрокаЕксель, КолонкаГруппы).Value)) = "Архив" тогда 
    break;
КонецЕсли;

или я не правильно делаю или что не могу понять.
   catena
 
3 - 28.02.18 - 09:55
Продолжить;
   Vaicheslav
 
4 - 28.02.18 - 09:56
Пробовал не помогало, и писал так же "Прервать" такой же результат, выгружало все из Excel
   hhhh
 
5 - 28.02.18 - 09:56
(2) ЗначениеЗаполнено( - это булево: истина или ложь, оно не может равняться "Архив", вы какую-то очень странную строчку написали.
   Evgenchik
 
6 - 28.02.18 - 09:58
ЗначениеГруппы = СокрЛП(Excel.Cells(СтрокаЕксель, КолонкаГруппы).Value);
Если ЗначениеГруппы = "Архив" тогда 
    Продолжить;
КонецЕсли;
   Vaicheslav
 
7 - 28.02.18 - 10:04
(6) Оо все сработало, большое Вам спасибо
   catena
 
8 - 28.02.18 - 10:36
(7)Как же ты тогда пробовал до этого? Я прям теряюсь, как его еще можно использовать.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует