Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Очень популярная тема (более 25 ответов) Страшные глюки в версии 3.2.4.х (ОЧЕНЬ) (число прочтений - 7069 )
quick
Junior Member
**
Отсутствует


LinuxMint, python, CodeTyphon

Сообщений: 83
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 21. Февраля 2008
Пол: Мужской
Страшные глюки в версии 3.2.4.х (ОЧЕНЬ)
22. Июля 2015 :: 16:30
Печать  
Выловил страшный глюк в обычном коде
Таб = СоздатьОбъект("ТаблицаЗначений");
...
Для ..
  ТекТовар = Таб.Товар; // здесть в отладчике действительно есть товар
  Если ТипЗначенияСтр(ТекТовар) <> "Справочник" Тогда
      Продолжить; // и оно попадает сюда, а в ТекТовар пустое значение!!!!
....
Для проверки вернулся на версию 1С++ 2.5.0.7 и глюки исчезли.

И это не один глюк, коллеги отмечали странности в других участках кода
Код 1С начинает вести себя непредсказуемо!!!
Причем поведение в отладчике и без оного различается.

Вот сама обработка https://yadi.sk/d/YeJz11PQi4bjr. Правда без конфигурации и данных она не заработает...
Глючит в процедуре ПроверитьПревышениеСебестоимости()

РЕШЕНО
Глюки исчезли только после отключения оптимизации
Код
Выбрать все
Процедура ПриНачалеРаботыСистемы()
  УправлениеНастройками = СоздатьОбъект("УправлениеНастройками");
  УправлениеНастройками.Сбросить("EnableOptimization");
 


В общем глюк где то с оптимизацией, предлагаю его по дефолту делать выключенным.
Кстати, в версии 2.5.0.7 что с оптимизацией, что без нее работает правильно.

P.S. Спасибо всем кто откликнулся, в особенности за подсказку Djelf
« Последняя редакция: 24. Июля 2015 :: 08:16 - quick »  
Наверх
ICQ  
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 633
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Страшные глюки в версии 3.2.4.х (ОЧЕНЬ)
Ответ #1 - 22. Июля 2015 :: 20:00
Печать  
Предполагаю, такое возможно из-за ускоренного создания объектов: http://www.1cpp.ru/forum/YaBB.pl?num=1215146216/0

Процедура ПриНачалеРаботыСистемы()
 УправлениеНастройками = СоздатьОбъект("УправлениеНастройками");
 УправлениеНастройками.Сбросить("TurboBL");

Пробовали?

Или, для чистоты эксперимента, 1с++ 3.x < 3.0.1.8
  
Наверх
www  
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Страшные глюки в версии 3.2.4.х (ОЧЕНЬ)
Ответ #2 - 23. Июля 2015 :: 05:09
Печать  
Больше кода.
Таких "глюков" замечено не было.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Страшные глюки в версии 3.2.4.х (ОЧЕНЬ)
Ответ #3 - 23. Июля 2015 :: 05:48
Печать  
ничего подобного не встречал
3.2.4.3
  

1&&2&&3
Наверх
 
IP записан
 
pavel_tr
Senior Member
****
Отсутствует



Сообщений: 278
Местоположение: Казань
Зарегистрирован: 14. Октября 2006
Пол: Мужской
Re: Страшные глюки в версии 3.2.4.х (ОЧЕНЬ)
Ответ #4 - 23. Июля 2015 :: 06:56
Печать  
Живём на 3.2.3.16, такой мистики ни разу не видел
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Страшные глюки в версии 3.2.4.х (ОЧЕНЬ)
Ответ #5 - 23. Июля 2015 :: 08:34
Печать  
хотя такое поведение может иметь место из-за грязного кода.
пример грязного кода ниже
Код
Выбрать все
//*************************
//тут интересно
Перем ТекТовар; //грязное использование переменных модуля

//нажимаем на форме кнопку Тест
Процедура Тест()
	ТекТовар="Товар1";//присвоили одно значение
	Сообщить(ТекТовар); //тут его увидели
	Предупреждение("Пауза...",4); //пока работает некий код, может сработать событие
	Сообщить(ТекТовар); //тут значение уже другое
КонецПроцедуры

//срабатываение некоторых событий, вызов которых реализован например в 1c++ или в formex
//может прервать выполнение кода процедур модуля в непредсказуемом месте
Процедура ТППриВыводеСтроки(ТП) //регулярный вызов из-за гТП.ТаймаутОбновления = 1;
	ТекТовар="Товар Два";
КонецПроцедуры


//*************************
//далее не интересно
Процедура ПриОткрытии()
	_Форма=СоздатьОбъект("Форма");
	_Форма.УстановитьФорму(Форма);
КонецПроцедуры

Процедура ФормаПриСоздании(_Форма)
	ТЗ=СоздатьОбъект("ТаблицаЗначений");
	ТЗ.НоваяКолонка("Колонка");
	ТЗ.КоличествоСтрок(1);
	гТП=_Форма.СоздатьЭлементУправления("ТабличноеПоле",Форма.ТП);
	Колонка=гТП.Колонки.Добавить("Колонка");
	Колонка.Заголовок="Колонка";
	Колонка.Данные="Колонка";
	гТП.ПоставщикДанных=СоздатьОбъект("ПоставщикДанныхТЗ");
	гТП.ПоставщикДанных.УстТаблицуЗначений(ТЗ);
	гТП.ОбновитьСтроки();
	гТП.ТаймаутОбновления = 1; //!!
КонецПроцедуры
 

  

1&&2&&3
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Страшные глюки в версии 3.2.4.х (ОЧЕНЬ)
Ответ #6 - 23. Июля 2015 :: 08:45
Печать  
Ну, как бэ 1с++ тут не при чем, такое можно и через активикс слепить, там тоже будет "в фоне"
Ну всмысле, что виноват код, а не сама вк и её версия.
  
Наверх
 
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 633
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Страшные глюки в версии 3.2.4.х (ОЧЕНЬ)
Ответ #7 - 23. Июля 2015 :: 12:42
Печать  
Ой, да ладно что ни при чем... бывают такие чудесатые чудеса!

Процедура Сформировать()
     
     пд = СоздатьОбъект("ПоставщикДанных");
     пд.ТипЗначений = "ДеревоЗначений";
     пд.КонтейнерТабличногоПоля  = "пд1";
     Данные = пд.Данные;
     
     Данные.Отображение      = 1;
     Сообщить(?(1=0,"1=0","1<>0"));
     
     Данные.Отображение      = 0;
     Сообщить(?(1=0,"1=0","1<>0"));
     
КонецПроцедуры

Вот как получается следующее?

1<>0
1=0

P.S. без поставщикаданных не знаю как повторить, но все равно 1=0  Нерешительный
  
Наверх
www  
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Страшные глюки в версии 3.2.4.х (ОЧЕНЬ)
Ответ #8 - 23. Июля 2015 :: 13:07
Печать  
Дык смотри, как переопределяешь метод сообщить.
Хз, у меня нет этого класса - проверить не могу.

ЗЫ: тест на вшивость:
Код
Выбрать все
Message("1=0","1=0","1<>0","i"); 



что возвращает ?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Страшные глюки в версии 3.2.4.х (ОЧЕНЬ)
Ответ #9 - 23. Июля 2015 :: 13:11
Печать  
боюсь спросить чему равен math.sin(a)
...а ля гер ком а ля гер
шутка
  

1&&2&&3
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Страшные глюки в версии 3.2.4.х (ОЧЕНЬ)
Ответ #10 - 23. Июля 2015 :: 13:13
Печать  
Eprst, в данном случае переопределять то нужно скорее ?(), а не сообщить()
  

1&&2&&3
Наверх
 
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 633
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Страшные глюки в версии 3.2.4.х (ОЧЕНЬ)
Ответ #11 - 23. Июля 2015 :: 13:16
Печать  
Цитата:
Код
Выбрать все
Message("1=0","1=0","1<>0","i"); 


что возвращает ?

Слишком много фактических параметров  Смех

То факту то же самое возвращает.

Дело не в сообщить или в message, после "Данные.Отображение = 0;" даже Собщить(0) выдает 1!
  
Наверх
www  
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 633
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Страшные глюки в версии 3.2.4.х (ОЧЕНЬ)
Ответ #12 - 23. Июля 2015 :: 13:25
Печать  
trad писал(а) 23. Июля 2015 :: 13:11:
боюсь спросить чему равен math.sin(a)


Сообщить(math.sin(0)) = 0.84147098480789  Подмигивание

Если кто не верит могу показать через TeamViewer.
  
Наверх
www  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Страшные глюки в версии 3.2.4.х (ОЧЕНЬ)
Ответ #13 - 23. Июля 2015 :: 13:29
Печать  
хорошо хоть не 3
  

1&&2&&3
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Страшные глюки в версии 3.2.4.х (ОЧЕНЬ)
Ответ #14 - 23. Июля 2015 :: 13:30
Печать  
предлагаю выключить комп и окропить его святой водой
  

1&&2&&3
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать