|
Алгоритм обхода файла эксель. Нид доработка. |
☑ |
0
Solitar
16.03.12
✎
12:52
|
Суть вот в чем, есть файл эксель и я заполняю определенные поля в нем на основании запроса к документу. Если в документе есть номенклатура, которой нет в эксель файле, нужно вывести сообщение.
Пока Выборка.Следующий() Цикл //Выборка - результат запроса к доку
Для Лист = 1 по КоличествоЛистов Цикл
Excel.Sheets(Лист).select();
ВсегоКолонок = Excel.Cells(1,1).SpecialCells(11).Column;
ВсегоСтрок = Excel.Cells(1,1).SpecialCells(11).Row;
Для Строка = 1 по ВсегоСтрок цикл
Если СОкрЛП(Excel.Cells(строка, Объект.Наименование).Value) = СОкрЛП(Выборка.Номенклатура)
Тогда
Excel.Cells(строка, Объект.КолонкаСЗаказом).Value = Выборка.Количество;
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецЦикла;
Поидее, когда нашлась позиция, то нужно переходить в выборке на след. элемент, но не нашел метода который мог бы это сделать. Мб еще есть какие нить варианты?
|
|
1
Solitar
16.03.12
✎
12:53
|
возможно не так написал цикл, поправьте плиз.
|
|
2
Wobland
16.03.12
✎
12:53
|
>нужно переходить в выборке на след. элемент
Продолжить
|
|
3
Solitar
16.03.12
✎
13:01
|
Продолжить кидает меня на "Для Строка = 1 по ВсегоСтрок цикл".
Это не подходит, т.к. Выборка не изменяется.
|
|
4
Ненавижу 1С
гуру
16.03.12
✎
13:03
|
Прервать
|
|
5
Tatitutu
16.03.12
✎
13:04
|
(0)
1.Если в документе есть номенклатура, которой нет в эксель файле, нужно вывести сообщение.
- ты его (сообщение) нигде не выводишь
установи флаг при выборке в 0, нашла 1
в конце цикла если 0, то сообщить Выборка.Наименование
|
|
6
Wobland
16.03.12
✎
13:05
|
(5) а тупо сообщать пустую строку можно ж? вроде даже окно не открывается...
|
|
7
Tatitutu
16.03.12
✎
13:07
|
(6)Поидее, когда нашлась позиция, то нужно переходить в выборке на след. элемент, но не нашел метода который мог бы это сделать
- все у тебя там переходит
ты сейчас перебираешь все строки документа
и каждый раз при получении строки
лопатишь файл екселя - трудоемко и затратно
зачем тебе всего колонок ?
создай таблицу получи все поля из файла добавь адреса
перебери документ в таблицу
сверни таблицу, проанализируй - в разы быстрее будет
|
|
8
Solitar
16.03.12
✎
13:19
|
Огромное спасибо Tatitutu.
Все получилось.
|
|
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший