Не выполняется условие

Новая тема
"Подскажите:делаю табель и хочу чтобы считалось общее количество часов т.е.ВсегоЧасов = ВсегоЧасов+КолвоЧасов; и если  ставим вместо часов (8) букву "П" то,переходим по условию ВсегоЧасов= ВсегоЧасов +8 ;, но пролетаю дальше
Для Номер = 1 по 31 Цикл
ЧасовПоДате = ПолучитьАтрибут("КолвоЧасов"+Формат(Номер,"Ч(0)2"));    
Если ЧасовПоДате <> 0 Тогда
Если ЧасовПоДате = "П " Тогда
П =8;
ВсегоЧасов = ВсегоЧасов + 8;
Иначе
ВсегоЧасов1 = ВсегоЧасов+ЧасовПоДате;  
    ВсегоЧасов = Число(СтрЗаменить(ВсегоЧасов1,",","."));
КонецЕсли;

КонецЕсли;
КонецЦикла;"
"мне кажется лишней проверка ЧасовПоДате = 0;
попробуй сначала проверить Если ТипЗначенияСтр(ЧасовПоДате) = "Строка" Тогда Если ЧасвПоДате = "П" ...."
"Ну вообще не стоило сравнивать "ЧасовПоДате <> 0", предполагая, что там может быть строка, но впринципе работать будет.
Далее несколько вопросов:
1. ВсегоЧасов =0 - где-нибудь есть?
2. Какой тип имеет "КолвоЧасов", если он числовой, то как может содержать "П"? Будем считать, что он у вас строковый.
3. ЧасовПоДате = "П " - не строит сравнивать строки таким образом. Согласно этому можно сказать, что у вас ЧасовПоДате имеет длину 2 символа. А если это строка из 10 символов, то условие не будет выполняться, потому что вы забыли еще 8 пробелов поставить :). Лучше написать: СокрЛП(ЧасовПоДате) = "П"
4. ВсегоЧасов1 = ВсегоЧасов+ЧасовПоДате - как это вы сложили число со строкой? Что у вас получиться?
5. ВсегоЧасов = Число(СтрЗаменить(ВсегоЧасов1,",",".")); - и что вы здесь заменили?

Впринципе вместо:
   ВсегоЧасов1 = ВсегоЧасов+ЧасовПоДате;  
   ВсегоЧасов = Число(СтрЗаменить(ВсегоЧасов1,",","."));
Надо было бы так написать:
   ВсегоЧасов = ВсегоЧасов + Число(СтрЗаменить(ЧасовПоДате,",","."));

А вот понять мимо чего и куда "пролетаю дальше" я не смог."
спасибо я уже разобралась, просто когда я прописывала условие на сравнение Надо Было написать так Если СокрЛП(ЧасовПоДате)= "П" тогда, из-за СокрЛП теперь все работает.Удачи.
Читают тему
(гостей: 1)

Быстрый переход