|
1с обработка из Excel в 1с | ☑ | ||
---|---|---|---|---|
0
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 = Неопределено; КонецПроцедуры |
|||
1
Vovik
28.02.18
✎
09:42
|
Если я правильно понял - то зацепиться за оформление групп (цвет, размер шрифта) или содержание. И сделать условие
|
|||
2
Vaicheslav
28.02.18
✎
09:51
|
Да надо выбрать по содержанию, я конечно могу сделать выборку когда буду загружать в базу, но мне бы хотелось чтобы оно сразу отбиралась из Excel но я пробовал по разному и ни как не получалось
Если ЗначениеЗаполнено(СокрЛП(Excel.Cells(СтрокаЕксель, КолонкаГруппы).Value)) = "Архив" тогда break; КонецЕсли; или я не правильно делаю или что не могу понять. |
|||
3
catena
28.02.18
✎
09:55
|
Продолжить;
|
|||
4
Vaicheslav
28.02.18
✎
09:56
|
Пробовал не помогало, и писал так же "Прервать" такой же результат, выгружало все из Excel
|
|||
5
hhhh
28.02.18
✎
09:56
|
(2) ЗначениеЗаполнено( - это булево: истина или ложь, оно не может равняться "Архив", вы какую-то очень странную строчку написали.
|
|||
6
Evgenchik
28.02.18
✎
09:58
|
ЗначениеГруппы = СокрЛП(Excel.Cells(СтрокаЕксель, КолонкаГруппы).Value);
Если ЗначениеГруппы = "Архив" тогда Продолжить; КонецЕсли; |
|||
7
Vaicheslav
28.02.18
✎
10:04
|
(6) Оо все сработало, большое Вам спасибо
|
|||
8
catena
28.02.18
✎
10:36
|
(7)Как же ты тогда пробовал до этого? Я прям теряюсь, как его еще можно использовать.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |