Имя: Пароль:
1C
1С v8
Загружает пустые строки
🠗 (Волшебник 21.03.2017 16:28)
0 mr_smit
 
21.03.17
16:09
Добрый день. При загрузке в 1с из файла exel, подгружает пустые строки, подскажите пожалуйста как это обойти? Чтобы последняя строка со значениями была в принципе последней.
Спасибо
1 zladenuw
 
21.03.17
16:09
(0) код в студию.
2 shuhard
 
21.03.17
16:21
(0) цикл в 17 строке лишний
3 Масянька
 
21.03.17
16:24
(2) Ты знал! :))))))))))
4 dezss
 
21.03.17
16:25
Если строка.Пустая() Тогда
    строка.НеЗаписыватьСтроку()
КонецЕсли;
5 mr_smit
 
21.03.17
16:26
//Перебираем строки и помещаем значения в формате строка в ТЗ
Для сч = НачальнаяСтрока по ФайлСтрок Цикл      
Стр = Объект.ТМЦ.Добавить();
Стр.КБК = СокрЛП(Excel.Cells(сч, 1).Value);
Стр.Счет = СокрЛП(Excel.Cells(сч, 2).Value);
Стр.Количество= СокрЛП(Excel.Cells(сч, 6).Value);
Стр.ЕдИзм= СокрЛП(Excel.Cells(сч, 7).Value);
Стр.КраткоеНаименование    = СокрЛП(Excel.Cells(сч, 8).Value);    
Стр.Наименование= СокрЛП(Excel.Cells(сч, 9).Value);
Стр.МОЛ    = СокрЛП(Excel.Cells(сч, 10).Value);
Стр.Валюта= СокрЛП(Excel.Cells(сч, 12).Value);
Стр.Обеспечение    = СокрЛП(Excel.Cells(сч, 14).Value);
Стр.ДебетОстатки= СокрЛП(Excel.Cells(сч, 19).Value);
Стр.КредитОстатки= СокрЛП(Excel.Cells(сч, 20).Value);
Стр.Цена= СокрЛП(Excel.Cells(сч, 21).Value);
    КонецЦикла;
//Закрываем файл xls    
Excel.Workbooks.Close();
Excel.Application.Quit();
Excel = Неопределено;
6 Масянька
 
21.03.17
16:26
(4) А ты - нет...
7 Масянька
 
21.03.17
16:26
(5) ФайлСтрок - это что?
8 shuhard
 
21.03.17
16:27
(3) и номер строки указан точно =)
9 Масянька
 
21.03.17
16:28
(8) Браво! :)
10 mr_smit
 
21.03.17
16:28
По ходу переменная называющая сам файл в которую это грузится. Не мой код, разбираю как раз
11 mr_smit
 
21.03.17
16:30
Хотя смотрю и не уверен
12 zladenuw
 
21.03.17
16:35
Проверку добавь. Если КБК ИЛИ Счет пусто прервать или продолжить.
13 Масянька
 
21.03.17
16:36
14 dezss
 
21.03.17
16:55
(13) проблема может быть в том, что строка не совсем пустая (пробел там есть, например).
(5)
Перед
Стр = Объект.ТМЦ.Добавить();
Добавь
Если СокрЛП(Excel.Cells(сч, 1).Value) = "" Тогда
    Продолжить;
КонецЕсли;
15 mr_smit
 
21.03.17
16:55
А по строке можно? Или по столбцу тоже пойдёт? По строке не корректнее будет?
16 dezss
 
21.03.17
16:57
(15) Ну тогда добавляй в условия все используемые ячейки через "И".
17 mr_smit
 
21.03.17
16:58
НУжно удалить последние пустые строки, которые будут переносится пользователями из экселя
Например там заполненых 15 строк, а пронумерованных но пустых 20, вот последние 5 ненужны, не соображу как их отсечь
18 dezss
 
21.03.17
17:00
(17) Проверяя заполнены ли те поля, которые важны для переноса.
Как проверять я показал в (14)
19 Масянька
 
21.03.17
17:03
(17) В (11) есть кол-во строк. Не осилил?
Вместо "ФайлСтрок" пишешь полученное кол-во строк и всё.
20 mr_smit
 
21.03.17
17:10
Предполагаю, что когда пользователи будут пытаться загрузить файлы экселевские, то номера последних строк всегда будут не одинаковые
21 dezss
 
21.03.17
17:13
(19) Он же в (17) написал, что есть пустые, но пронумерованные строки, так что один фиг будет возвращаться большее количество, чем реально данных.
22 Масянька
 
21.03.17
17:19
(20) Убью...
Картинку файла давай. И код, где Excel инициализируется.
23 dezss
 
21.03.17
17:21
Кстати, а когда это обработка отрабатывает, никаких ошибок про эксель не выскакивает?
24 mr_smit
 
21.03.17
17:38
картинка не впихиваемая оказалась))
Попробую объяснить
есть эксель 3 столбца, 8 строк (утрирую конечно)
с 8 по 12 была инфа, но её кнопкой del удалили и вроде бы информации нет, но эти строки с 9 по 12 тоже переносятся, а они вообще не нужны
25 Масянька
 
21.03.17
17:41
(24) Картинку - на хостинг картинок, а сюда ссылку.
26 Масянька
 
21.03.17
17:43
(24) Перед циклом вставь строчку:
сообщить("! - " + Excel.Cells.CurrentRegion.Rows.Count);
Что возвращает?
27 mr_smit
 
21.03.17
17:47
Ничего не сообщает, просто грузит
28 mr_smit
 
21.03.17
17:48
Хостинг картинок..... ммммм..
29 Масянька
 
21.03.17
17:48
30 mr_smit
 
21.03.17
17:49
31 mr_smit
 
21.03.17
17:50
Спасибо
32 mr_smit
 
21.03.17
17:51
Всётаки строки подгружаются\
33 mr_smit
 
21.03.17
17:51
пустые
34 mr_smit
 
21.03.17
17:52
Что-то ещё надо сделать
35 mr_smit
 
21.03.17
17:53
36 shadow_sw
 
22.03.17
03:51
(24) удалили инфу, а форматирование осталось, эксель считает что это НЕПУСТЫЕ строки