Имя: Пароль:
1C
 
Пропускать пустые строки 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) проблему решил? :)
тогда:
ОФФ :)
кстати об отладке в режиме СОМ-обмена: стОит мне напечатать в табло какую-то строчку, виснет и отладчик, и само собой, программа..
приходится готовить строки в табло до запуска обработки :)

у меня был знакомый, подрабатывал на копеечке, подвозя клиентов.. и у него испортилась то-ли КП, то-ли сцепление, ну не может при работающем двигателе переключить передачу, хоть плачь :) а домой путь не близкий..
что придумал: глушит двиг, включает вторую передачу, и - стартером подстартует, прыгнет его копеечка, и едет.. а перед светофорами глушил двиг..
так что перенимайте опыт :)