Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Нарушена синхронизация между 1С:Предприятием и отладчиком. (число прочтений - 5448 )
Alex_Spb
Junior Member
**
Отсутствует



Сообщений: 43
Местоположение: Санкт-Петербург
Зарегистрирован: 21. Февраля 2008
Пол: Мужской
Нарушена синхронизация между 1С:Предприятием и отладчиком.
15. Января 2010 :: 16:28
Печать  
Добрый вечер,
никак не могу разобраться с отладкой классов.
1С - 7.0.27
1С++ - 3.0.1.25
Все классы во внешних ert файлах.


Прочитал ветку про то как транзакции бороздят просторы стека,
но так и не понял
1) Надо ли подменять для данной версии tracer.dll ?
2) Надо ли включать turbo bl и как его включать ?
3) Надо ли включать кнопку отладка в сервисе ?
т.к.  если не включать, то вылетает ошибка

[color=#ff0000][b]Нарушена синхронизация между 1С:Предприятием и отладчиком.[/b][/color]

Если включаю, то отладка вроде работает, но постоянно
открываются пачками куча форм обработок,
если их закрывать то пропадают экземпляры объектов.

[b]Правильно я понимаю, что:[/b]
3.1 )
форма обработки открывается при каждом создании
экземпляра класса ?

3.2) При закрытии окна созданный объект уничтожается ?

3.3) Можно ли избежать такого массового открытия окон,
например поставив в форме файла реализации КОП
ПриОткрытии() СтатусВозврата(0) ?

3.4) После установки файла отладки надо выйти/зайти
в 1С иначе отладка не будет работать ?


Заранее спасибо за помощь.
  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Нарушена синхронизация между 1С:Предприятием и отладчиком.
Ответ #1 - 15. Января 2010 :: 20:49
Печать  
может и не в тему, но такая ошибка может вылетать если во время отладки запускается какая нибудь процедура из ОбработкаОжидания()
  
Наверх
wwwICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Нарушена синхронизация между 1С:Предприятием и отладчиком.
Ответ #2 - 16. Января 2010 :: 08:36
Печать  
Для штатной работы отладки в 1С++
1. Для отладки классов во внешних файлах tracer.dll не нужен.
2. ТурбоБЛ должен быть включен практически всегда !
3. Кнопка Отладка нужна.

3.1 да, открываются при каждом создании
3.2 да, автоматически уничтожаются после удаления ВСЕХ ссылок на класс. т.е. если по завершении работы с объектом его окно осталось висеть, значит, на этот объект где-то осталась ссылка - например, в глобальных переменных.
3.3 избежать нельз
3.4 "После установки файла отладки" - это что и как? не понял.
  

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: Нарушена синхронизация между 1С:Предприятием и отладчиком.
Ответ #3 - 16. Января 2010 :: 14:03
Печать  
artbear писал(а) 16. Января 2010 :: 08:36:
3. Кнопка Отладка нужна.

Зачем? У меня и так всё нормально работает.

Автор, TurboBL и другие настройки включаются вот так: http://www.1cpp.ru/docum/icpp/html/SettingsManager.html
  
Наверх
 
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Нарушена синхронизация между 1С:Предприятием и отладчиком.
Ответ #4 - 17. Января 2010 :: 11:38
Печать  
К ответу artbear добавить нечего.
Про много окон. Если твой КОП является наследником других классов, конечно же откроются обработки реализации КОП всех базовых классов.
На них не стоит обращать внимания. Все равно работать в "Отладчике". Они видны только при включенном режиме отладки.
Мне при отладке было удобно держать отключенной кнопку "Оптимизация". Не надо при каждом изменении перезапускать 1С.


JohnyDeath писал(а) 16. Января 2010 :: 14:03:
Автор, TurboBL и другие настройки включаются вот так: http://www.1cpp.ru/docum/icpp/html/SettingsManager.html

Спасибо,  сколько пересматривал документацию, этого класса не замечал! Очень полезно!
  
Наверх
IP записан
 
Alex_Spb
Junior Member
**
Отсутствует



Сообщений: 43
Местоположение: Санкт-Петербург
Зарегистрирован: 21. Февраля 2008
Пол: Мужской
Re: Нарушена синхронизация между 1С:Предприятием и отладчиком.
Ответ #5 - 18. Января 2010 :: 09:16
Печать  
Спасибо за помощь.
Более менее разобрался.

У меня ситуация следующая:
имеется около 50 классов, которые присваиваются в глобальные переменные, при начале работы системы.
Наследования нет.
Соответсвенно при старте у меня открывается около 50 окон.
Заметил следующую вещь :
Например есть гл. перем. - DOC2000
При Начале работы делаем :
Код
Выбрать все
DOC2000 = СоздатьОбъект("cl_m7_DOC2000");// это гл. перем 


Форма открывается.
Делаю тестовый отчет в котором
Код
Выбрать все
Процедура Сформировать()
    DOC2000 = "";
КонецПроцедуры 


Нажимаю кнопку Сформировать, но форма класса остается открытой.

По поводу 3.4 я вместо флага написал файл т.е
3.4) После установки флага отладки надо выйти/зайти
в 1С иначе отладка не будет работать ?
Я так понимаю это связано с тем, что объекты классов у меня создаются при нач. работы сист. и если я включаю отладку после
запуска 1С то, эти ранее созданные объекты становятся недоступны.

По поводу TurboBL
1) Правильно я понимаю что по умолчанию он должен быть включен без программной установки настройки ?
1.1.) То что Турбо БЛ включен свидетельствует значение 1
в реестре ?
2) Для отладки и оптимизации - значение 1 в реестре означает выкл.,
а вкл.- 2 ?
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Нарушена синхронизация между 1С:Предприятием и отладчиком.
Ответ #6 - 18. Января 2010 :: 11:01
Печать  
Alex_Spb писал(а) 18. Января 2010 :: 09:16:
Заметил следующую вещь :
Например есть гл. перем. - DOC2000
При Начале работы делаем :
Код
Выбрать все
DOC2000 = СоздатьОбъект("cl_m7_DOC2000");// это гл. перем 


Форма открывается.
Делаю тестовый отчет в котором
Код
Выбрать все
Процедура Сформировать()
    DOC2000 = "";
КонецПроцедуры 


Нажимаю кнопку Сформировать, но форма класса остается открытой.

Сделай простейшую конфу, где нет никаких других вещей, кроме тобой указанных, и увидишь, что форма закрывается Улыбка
у тебя где-то есть другие ссылки Печаль

Alex_Spb писал(а) 18. Января 2010 :: 09:16:
По поводу 3.4 я вместо флага написал файл т.е
3.4) После установки флага отладки надо выйти/зайти
в 1С иначе отладка не будет работать ?
Я так понимаю это связано с тем, что объекты классов у меня создаются при нач. работы сист. и если я включаю отладку после
запуска 1С то, эти ранее созданные объекты становятся недоступны.

По поводу TurboBL
1) Правильно я понимаю что по умолчанию он должен быть включен без программной установки настройки ?
1.1.) То что Турбо БЛ включен свидетельствует значение 1
в реестре ?
2) Для отладки и оптимизации - значение 1 в реестре означает выкл.,
а вкл.- 2 ?

По поводу реестра исправь настройки в 1С, выйди из 1С и сам проверь, я счас уже не помню - где-то 1, а где-то 2 Печаль

По поводу глобальных переменных и отладки я в официальной доке описывал решение Улыбка - посмотри там.
  

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: Нарушена синхронизация между 1С:Предприятием и отладчиком.
Ответ #7 - 18. Января 2010 :: 11:07
Печать  
Alex_Spb, включай программно при начале работы системы ТурбоБЛ и не нажимай отладку. У меня всё нормально работает.
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Нарушена синхронизация между 1С:Предприятием и отладчиком.
Ответ #8 - 18. Января 2010 :: 12:03
Печать  
JohnyDeath писал(а) 18. Января 2010 :: 11:07:
Alex_Spb, включай программно при начале работы системы ТурбоБЛ и не нажимай отладку. У меня всё нормально работает.

У меня тоже. Видимо, нам повезло.

Alex_Spb
Если сможешь найти причину рассинхронизации (создать повторяемый тест), тема может получить продолжение.

--
ТурбоБЛ это запарило уж, если честно.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Alex_Spb
Junior Member
**
Отсутствует



Сообщений: 43
Местоположение: Санкт-Петербург
Зарегистрирован: 21. Февраля 2008
Пол: Мужской
Re: Нарушена синхронизация между 1С:Предприятием и отладчиком.
Ответ #9 - 19. Января 2010 :: 08:02
Печать  
artbear писал(а) 18. Января 2010 :: 11:01:
Сделай простейшую конфу, где нет никаких других вещей, кроме тобой указанных, и увидишь, что форма закрывается Улыбка
у тебя где-то есть другие ссылки


Конфигурация в аттаче.
При начале работы системы создается тестовый класс.
В обработках есть обработка Сброс2000,
которая сбрасывает глоб. переменную.
но открытая форма класса не закрывается
1С++ использовал версии 3.0.1.25 .
  

conf.rar ( 16 KB | Загрузки )
Наверх
 
IP записан
 
Alex_Spb
Junior Member
**
Отсутствует



Сообщений: 43
Местоположение: Санкт-Петербург
Зарегистрирован: 21. Февраля 2008
Пол: Мужской
Re: Нарушена синхронизация между 1С:Предприятием и отладчиком.
Ответ #10 - 19. Января 2010 :: 08:11
Печать  
kms писал(а) 18. Января 2010 :: 12:03:
Если сможешь найти причину рассинхронизации (создать повторяемый тест), тема может получить продолжение.



Причину похоже нашел:
Я работаю на сервере через удаленный рабочий стол Citrix,
и проблема рассинхронизации при выключенном
режиме отладки возникает в нем.

Попробовал запустить у себя на локальном компьютере,
действительно отладка пошла без включенного режима отладки.

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