Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема ИТЗ роняет 1С (число прочтений - 2180 )
BuZZZard
Full Member
***
Отсутствует



Сообщений: 112
Местоположение: Калининград
Зарегистрирован: 15. Октября 2007
Пол: Мужской
ИТЗ роняет 1С
06. Августа 2009 :: 17:38
Печать  
При попытке выполнить следующий код:
Код
Выбрать все
итзКэшЗаявок.ЗаполнитьСтроку(ИДСтроки, ТЗ, ТекущаяСтрока, 1);
 



При этом:
ИДСтроки = 3
ТЗ = ТаблицаЗначений
ТЗ.КоличествоСтрок() = 2
ТекущаяСтрока = 1
итзКэшЗаявок.КоличествоСтрок() = 6

1С падает.
Как бороться?
  
Наверх
ICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ИТЗ роняет 1С
Ответ #1 - 07. Августа 2009 :: 06:17
Печать  
Положи тест. Проверим.
  
Наверх
 
IP записан
 
BuZZZard
Full Member
***
Отсутствует



Сообщений: 112
Местоположение: Калининград
Зарегистрирован: 15. Октября 2007
Пол: Мужской
Re: ИТЗ роняет 1С
Ответ #2 - 07. Августа 2009 :: 07:32
Печать  
Собрал тест. Работает без ошибок.
Обожаю такие баги ловить  Злой
  
Наверх
ICQ  
IP записан
 
BuZZZard
Full Member
***
Отсутствует



Сообщений: 112
Местоположение: Калининград
Зарегистрирован: 15. Октября 2007
Пол: Мужской
Re: ИТЗ роняет 1С
Ответ #3 - 07. Августа 2009 :: 08:04
Печать  
Баг обошел двумя строками кода.
Код
Выбрать все
итз.ВФайл(КаталогПользователя() + "отчет.итз");
итз.ИзФайла(КаталогПользователя() + "отчет.итз"); 



принцип работы отчета такой:
Делается запрос к базе, результаты сохраняются в ИТЗ, далее в зависимости от выбранных пользователем фильтров на экран в ТЗ выводится необходимая в данный момент часть ИТЗ.
Данные в ТЗ на экране можно изменять. И эти изменения нужно сохранять обратно в ИТЗ.
1С падает именно в этот момент. При заполнении измененной строки из ТЗ в ИТЗ.

При сборке теста я решил исключить первоначальный запрос сохраненный в ИТЗ, выгрузив данные во внешний файл и загружая его при открытии формы. Отчет заработал в нормальном режиме.
Потом вышел на то, что если ИТЗ просто сохранить в файл и тут же его загрузить, то при последующих действия 1С не падает.

Как собрать тест в данном случае без самой базы я не представляю.
  
Наверх
ICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ИТЗ роняет 1С
Ответ #4 - 07. Августа 2009 :: 10:03
Печать  
Заполни исходную ИТЗ какими-нибудь абстрактными данными-строками.

А на форму как выводишь? Через ТП? Если да, то:
1) Если сделать поставщика данных саму ИТЗ, то выводить на экран можно с учетом установленных фильтров;
2) При заполнении строки исходной ИТЗ быть может что-то ещё происходит?
В общем без теста, как видишь, разобраться сложно.
А если сделаешь тестовую обработку, скорее всего тебе ничья помощь не понадобится Подмигивание
  
Наверх
 
IP записан
 
BuZZZard
Full Member
***
Отсутствует



Сообщений: 112
Местоположение: Калининград
Зарегистрирован: 15. Октября 2007
Пол: Мужской
Re: ИТЗ роняет 1С
Ответ #5 - 07. Августа 2009 :: 13:56
Печать  
Я ж говорю, тест я сделал. Исключил из него первоначальный запрос и загружаю данные из файла. вылета нет. т.е. не воспроизводится ошибка.

А в рабочей версии просто после запроса поставил выгрузку в файл и сразу загрузку из него. И вылета тоже не наблюдается.
  
Наверх
ICQ  
IP записан
 
nvg
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 72
Местоположение: Киев
Зарегистрирован: 14. Сентября 2006
Пол: Мужской
Re: ИТЗ роняет 1С
Ответ #6 - 07. Августа 2009 :: 14:12
Печать  
А данные для ИТЗ как получаешь?
Помнится мне, подобное падение наблюдалось при работе с результатом запроса 1sqlite.
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: ИТЗ роняет 1С
Ответ #7 - 07. Августа 2009 :: 16:55
Печать  
nvg писал(а) 07. Августа 2009 :: 14:12:
А данные для ИТЗ как получаешь?
Помнится мне, подобное падение наблюдалось при работе с результатом запроса 1sqlite.

Притом с 1sqlite достаточно старой версии... потом Сашка подправил этот момент.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ИТЗ роняет 1С
Ответ #8 - 07. Августа 2009 :: 17:17
Печать  
BuZZZard писал(а) 07. Августа 2009 :: 13:56:
Я ж говорю, тест я сделал. Исключил из него первоначальный запрос и загружаю данные из файла. вылета нет. т.е. не воспроизводится ошибка.

А в рабочей версии просто после запроса поставил выгрузку в файл и сразу загрузку из него. И вылета тоже не наблюдается.

Всё равно покажи всю обработку. Сделай какой-нить универсальный запрос, например к спр. Сотрудники.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать