|
|
|
Пропускать пустые строки Excel... | ☑ | ||
|---|---|---|---|---|
|
0
bla4o4ez
04.10.10
✎
14:12
|
День добрый товарищи. Пишу первый раз обработочку. Столкнулся с проблемой. При считывании данных через цикл хочу пропускать пустые значения, много чего перепробовал. Мое условие ЕСЛИ не выполняется и грузит мне кучу пустых доков. Подскажите решение:
Для х = 11 По Строк Цикл НомерДокВходящий = Лист.Cells(х, 5).Value; ДатаДокВходящий = Лист.Cells(х, 10).Value; Цена = Лист.Cells(х, 16).Value; Поставщик = СокрЛП(Строка(Лист.Cells(х, 12).Value)); Если НомерДокВходящий = "" Тогда продолжить; Иначе ПосТов.Новый(); ПосТов.ДатаДокВходящий = ДатаДокВходящий; ПосТов.НоваяСтрока(); ПосТов.Сумма = Цена; ПосТов.Всего = Цена; ПосТов.Записать(); Сообщить("Загрузилась: "+НомерДокВходящий +Цена); КонецЕсли; //ПосТов ПосТов.Провести(0,"программно"); Конеццикла; |
|||
|
1
bla4o4ez
04.10.10
✎
14:13
|
Простите не в тот раздел влез...)
|
|||
|
2
Aprobator
04.10.10
✎
14:14
|
отладчик сперли? Не посмотреть значение НомерДокВходящий?
|
|||
|
3
Aprobator
04.10.10
✎
14:15
|
+(2) раздел поправил, но сути это не меняет.
|
|||
|
4
bla4o4ez
04.10.10
✎
14:19
|
Я к тому - условие правильно ведь задано? После "продолжить;" процедура возвращается в начало цикла.
|
|||
|
5
NikVars
04.10.10
✎
14:21
|
(0) Исправь на
Если СокрЛП(НомерДокВходящий) = "" Тогда продолжить; |
|||
|
6
vS
04.10.10
✎
14:21
|
Если ПустаяСтрока()
|
|||
|
7
Ork
04.10.10
✎
14:22
|
Если ПустоеЗначение()
|
|||
|
8
bla4o4ez
04.10.10
✎
14:27
|
(5) Спасибо в точку
|
|||
|
9
NikVars
04.10.10
✎
14:32
|
(8) Меня просто несет и прет сегодня!
Можно и по-другому... НомерДокВходящий = СокрЛП(Лист.Cells(х, 5).Value); |
|||
|
10
Aprobator
04.10.10
✎
14:33
|
(9) главное чтоб не пронесло )
|
|||
|
11
vladko
04.10.10
✎
14:36
|
(8) а сейчас, когда всё заработало, открывай отладчик и научись им пользоваться, чтобы не возникало подобных вопросов.
|
|||
|
12
vS
04.10.10
✎
14:36
|
(9) а смысл? переменная уже прочитана, зачем второй раз ее по ОЛЕ дергать?
|
|||
|
13
NikVars
04.10.10
✎
14:38
|
(12) Не понял, ты про что?!
Я про замену 2-й строчки кода в (0) на строку кода в (9). |
|||
|
14
filh
04.10.10
✎
14:39
|
(12) это не в условии, а при присваивании.
И вообще, условие лучше на 3-ю строчку перенести. |
|||
|
15
vS
04.10.10
✎
14:40
|
(13) ну в принцыпе +- имеет смысл
|
|||
|
16
bla4o4ez
06.10.10
✎
11:24
|
Снова здравствуйте. Теперь появилась такая проблемка. В той же обработке( проведение доков журнала "поступление товаров" на основании ексельного списка)
Так вот нужно из одно ячейки построить несколько условий, то есть к примеру - ячейка со значением "Уп-2561-26349". Нужно такое условие(команда) чтобы узнать если там символы "Уп" и соответственно обрезать ненужные знаки. В общем нужны команды для более тонкой работы с текстом. Подскажите как это лучше исполнить. |
|||
|
17
vS
06.10.10
✎
11:30
|
найти
числовхождений |
|||
|
18
babytype
06.10.10
✎
11:30
|
СП в помощь:
Найти(<?>,) Синтаксис: Найти(<Строка1>,<Строка2>) Назначение: Возвращает позицию первого вхождения в строку поиска заданной подстроки. Параметры: <Строка1> - строка в которой ищем (место поиска); <Строка2> - строка которую ищем (шаблон поиска). Замечание: Если не находит - возвращает число 0. Первая позиция имеет индекс 1. СтрЧислоВхождений(<?>,) Синтаксис: СтрЧислоВхождений(<СтрИсточник>,<СтрПодстрока>) Назначение: Возвращает число вхождений строки шаблона поиска в строку поиска. Параметры: <СтрИсточник> - строка в которой ищем (место поиска); <СтрПодстрока> - строка которую ищем (шаблон поиска). |
|||
|
19
vS
06.10.10
✎
11:31
|
ыыы
|
|||
|
20
babytype
06.10.10
✎
11:32
|
А потом Лев(), Прав(), Сред()
|
|||
|
21
vS
06.10.10
✎
11:38
|
и возможно, сокр.....
|
|||
|
22
bla4o4ez
06.10.10
✎
11:40
|
Спасибо..Век искал бы.
|
|||
|
23
babytype
06.10.10
✎
11:43
|
+(21) Л... ))
|
|||
|
24
dk
06.10.10
✎
11:47
|
стрзаменить
|
|||
|
25
bla4o4ez
14.10.10
✎
11:05
|
Доброго дня! Опять я назойливый. Задача такая - ячейка экселя содержит наименование ООО"Контора". Контору поиском в справочнике не находит по этим данным. Если убрать ООО и ковычки находит.. как побороть это программно?
МестоХраненияВрем = СокрЛП(Лист.Cells(3, 7).Value); МестоХранения = СпрМеста.НайтиПоНаименованию(МестоХраненияВрем,0,0); ПосМат.МестоХранения = СпрМеста.ТекущийЭлемент(); |
|||
|
26
bla4o4ez
14.10.10
✎
11:14
|
гы нашел) синтаксис помог.
Сред(<Строка>,<Число1>,<Число2>) извините за беспокойство)))) |
|||
|
27
aka AMIGO
14.10.10
✎
11:21
|
(0) проблему решил? :)
тогда: ОФФ :) кстати об отладке в режиме СОМ-обмена: стОит мне напечатать в табло какую-то строчку, виснет и отладчик, и само собой, программа.. приходится готовить строки в табло до запуска обработки :) у меня был знакомый, подрабатывал на копеечке, подвозя клиентов.. и у него испортилась то-ли КП, то-ли сцепление, ну не может при работающем двигателе переключить передачу, хоть плачь :) а домой путь не близкий.. что придумал: глушит двиг, включает вторую передачу, и - стартером подстартует, прыгнет его копеечка, и едет.. а перед светофорами глушил двиг.. так что перенимайте опыт :) |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |