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