Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

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

177
читатель
офлайн
Дата регистрации: 07.05.2008
Сообщений: 470
Пост №1
 
15.06.2009 09:53

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

ЕленкаА
читатель
офлайн
Дата регистрации: 29.04.2007
Сообщений: 53
Пост №2
 
15.06.2009 10:28

"мне кажется лишней проверка ЧасовПоДате = 0; <br>попробуй сначала проверить Если ТипЗначенияСтр(ЧасовПоДате) = "Строка" Тогда Если ЧасвПоДате = "П" ...."

BelikovS
читатель
офлайн
Дата регистрации: 05.03.2007
Сообщений: 1701
Пост №3
 
15.06.2009 10:31

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

177
читатель
офлайн
Дата регистрации: 07.05.2008
Сообщений: 470
Пост №4
 
15.06.2009 10:34

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

Показывать по 10 20 40 сообщений

Читают тему:

Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация