Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема БАГ?!! Скажите, что "нет"! (число прочтений - 1870 )
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
БАГ?!! Скажите, что "нет"!
10. Августа 2006 :: 13:44
Печать  
Сразу скажу, что на ProductVersion      : 2, 0, 3, 0
                                 SpecialBuild      : Nightly build 2006-08-10
ситуация повторяется  Нерешительный
Состав ситуации:
В бухии (модуль документ.НачислениеЗП) есть такой код:
Код
Выбрать все
Если БухИт70.ПолучитьСчет(,"ПД") = 1 Тогда
						НачисленоЗаМесяц = НачисленоЗаМесяц + БухИт70.КО();
					КонецЕсли;

					Если БухИт70.ПолучитьСчет(,"77.7") = 1 Тогда
						текФСС_НеНачисляемыйДоход = БухИт70.КО();
						ФСС_НеНачисляемыйДоход = ФСС_НеНачисляемыйДоход + текФСС_НеНачисляемыйДоход;
					КонецЕсли;
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
					Если БухИт70.ПолучитьКорСчет(, Сч69_1) = 1 Тогда
						НачисленоПособийЗаМесяц = БухИт70.КорКО();
					КонецЕсли;

					Если БухИт70.ПолучитьКорСчет(, Сч84) = 1 Тогда
						НачисленоИзЧистойПрибылиЗаМесяц = БухИт70.КорКО();
					КонецЕсли;
					 


До этого идёт выборка
Код
Выбрать все
Пока БухИт70.ПолучитьПериод() = 1 Цикл 


Так вот, НЕ заходит в условие, которой стоит после воскл. знаков, хотя должен (100%!).
Могу сказать, что после n-го раза проведения дока - зашлось. Не понял, правда, почему, но - зашлось. Пытался отловить когда и почему, но так и не получилось.
Даже не знаю почему (наверное потому что уже не знал, что делать надо), но я решил отключить 1с++. И всё нормально провелось!
Идём дальше:
1. вырезаем первые два "Если" где есть "БухИт70.ПолучитьСчет", ставим их после тех если, где "БухИт70.ПолучитьКорСчет", т.е. получается такой код:
Код
Выбрать все
Если БухИт70.ПолучитьКорСчет(, Сч69_1) = 1 Тогда
						НачисленоПособийЗаМесяц = БухИт70.КорКО();
					КонецЕсли;

					Если БухИт70.ПолучитьКорСчет(, Сч84) = 1 Тогда
						НачисленоИзЧистойПрибылиЗаМесяц = БухИт70.КорКО();
					КонецЕсли;

					Если БухИт70.ПолучитьСчет(,"ПД") = 1 Тогда
						НачисленоЗаМесяц = НачисленоЗаМесяц + БухИт70.КО();
					КонецЕсли;

					Если БухИт70.ПолучитьСчет(,"77.7") = 1 Тогда
						текФСС_НеНачисляемыйДоход = БухИт70.КО();
						ФСС_НеНачисляемыйДоход = ФСС_НеНачисляемыйДоход + текФСС_НеНачисляемыйДоход;
					КонецЕсли; 


2. Включаем 1с++
И всё заработало! Правда не знаю, заходит ли он в те "Если", где "БухИт70.ПолучитьСчет"...

В багзилу не писал - не умею, тем более не уверен "баг" ли это, 1с++ ли это?
В общем помогите, ведь ситуация практически критическая! Теперь я за бухгалтерию боюсь!  Ужас
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: БАГ?!! Скажите, что "нет"!
Ответ #1 - 14. Августа 2006 :: 11:54
Печать  
Встречался с подобными глюками в 1С.
На условии типа Если Перем = 0 Тогда не работал код
также тупо не заходило в данное условие, когда Перем = 0
В отладчике все верно, Перем = 0, тип Число, никаких исключение
Пришлось извращаться, написав что-то типа
Если Число(Перем) + 1 = 1 Тогда
ЗЫ было пару раз, в сложных, длинных процедурах Печаль
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: БАГ?!! Скажите, что "нет"!
Ответ #2 - 15. Августа 2006 :: 06:15
Печать  
artbear писал(а) 14. Августа 2006 :: 11:54:
Встречался с подобными глюками в 1С.
На условии типа Если Перем = 0 Тогда не работал код
также тупо не заходило в данное условие, когда Перем = 0
В отладчике все верно, Перем = 0, тип Число, никаких исключение
Пришлось извращаться, написав что-то типа
Если Число(Перем) + 1 = 1 Тогда
ЗЫ было пару раз, в сложных, длинных процедурах Печаль


У меня и в отладчике БухИт70.ПолучитьКорСчет(, Сч69_1) равнялось нулю, хотя если посмотреть что-нибудь типа анализа 70-го счета за этот период, то там есть корсчет=69.1!
Выпадет свободный часик, попробую сделать маленькую конфу для тестирования данной проблемы
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать