Runtime Error - из-за чего бывает?

Runtime Error
Страницы: 1

Добрый день всем!
Подскажите, из-за чего в 7-ке может быть Runtime Error. Запускаю обработку, которая рассчитывает некие параметры, и через полчаса работы 1С вылетает с такой ошибкой.
1С Предприятие сетевая версия, 7.70.027
Сама база в dbf, размер около 1,5 Гб


(1) хм... полчаса работы?
А скриншот можете показать? Или более подробное описание ошибки.
Места на винте много?


Свободного места на винте 8 Гб.
скриншот ошибки (больше никаких сообщений нет):

runtime.JPG (14.59 КБ) [ Скачать ]

добавлю, что база на локальном компе


(4) если база на локальной тачке , зачем юзать скулеву платформу ?...
И чего обработка делает то ?
Завалить 1с-ину как 2 пальца...
А так - тупо памяти не хватает..


Запустите Scandisk
Попробуйте переместить базу на другое место


(5) потому что тестирую на локальной машине.

В обработке заполняются и анализируются большие таблицы значений, поэтому насчет памяти, наверное, вы правы..


(7) попробуй отключить (Снять галку) востановление системы с диска на котором база.


(7) режь на куски.. 1с-ина не любит большие тз..


(9) как обычно приходится чужие косяки разгребать... :(


Такое часто бывает из-за переполнения стека рекурсии. Думаю, что стоит оптимизировать алгоритм обработки.


1С 7.7.025 на SQL 2000 вываливается с ошибкой Runtime Error!

Microsoft Visual C++ Runtime Library
Runtime error!

This application has requested the Runtime to terminate it in an unusual way. Please contact the aplication support team for more information.

Никаках существенных изменений в конфигурацию, настройки БД, права на папку БД не вносилось.
Ошибка появляется в различное время у некоторых пользователей одновременно (у 5-10 из 50). Это бывает при существенной нагрузке на БД, 10-20 раз в день.У некоторых пользователей в этот момент ошибка SQL - Deadlock.
SQL сервер - на отдельной физической машине W2k3. Пользовательские 1С запускаются на 2-х терминальных серверах W2k3 x64. Пробовали запускать на другом сервере W2k3 - ошибки повторились.
В этой же системе работает другая БД SQL 1С 7.7. С ней таких проблем нет.
Никакая закономерность, кроме высокой загрузки не выявлена.
Испробованы все найденные советы:
- очистка mlg файла
- проверены права
- убраны галочки со свойств сетевых карт - разрешить отключать устройство для экономии электроэнергии
- все диски проверены Scandisk
- проведено тестирование и исправление БД
- проверена целостность БД в SQL

Как выявить закономерность? Как найти причину?

Изменено: binagal - 17.04.10 16:46

Ответили: (15)

Диски NTFS или FAT32 ?
Дефрагментацию давно делали?
Такая проблема возникает чаще всего на FAT32 при сильной фрагментации.
При чём одна база может работать как часы, а вторая даже запускаться не хочет!
Я пользую MyDefrag - бесплатная, простая, можно вместо скринсейвера.


Jurii пишет:
Диски NTFS или FAT32 ?
Дефрагментацию давно делали?

NTFS
дефрагментация раз в неделю


(12) 1С 7.7.027 не пробовали?
(3) Свободного места на винте маловато! Кто знает, что еще делается на сервере
Ну, а "большие" ТЗ как раз к падению и ведут! 1 - оптимизация алгоритмов, 2 при больших объемах данных в памяти перейти на ИТЗ и оптимизировать структуру в памяти, очень помогает.

Ответили: (16)

(15) Денис Денин, на 7.7.027 то-же самое


Как оказалось, причиной были некоторые прямые запросы в БД SQL, меняющие данные.


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


Тоже ситуация с вылетом ошибки. База дбф.
Формируется книга продаж, при подборе в книгу больше 55к документов .. база вылетает с ошибкой.
При формирование по квартально... всё отлично формируется.
Поэтому делаю вывод... 1с не любит больших объёмов.

Ответили: (22)

ПРоверяй алгоритм обработки, скорее всего много данных формируется ....


Когда памяти не хватает в сеансе для обработки или отчета. Когда места под базу забивается. и т.п.


(19) убери расшифровки в макете


апрос к регистру дает нулевой результат:

Данный регистр заполняется следующим кодом: Код
Процедура ОбработкаПроведения();
ВыбратьСтроки();
Пока ПолучитьСтроку() > 0 Цикл
Регистр.ТоржестваИБанкеты.ДокументРегистратор = ТекущийДокумент();
Регистр.ТоржестваИБанкеты.ЗалТоржествИБанкетов = ЗалТоржествИБанкетов;
Регистр.ТоржестваИБанкеты.ДатаП = ДатаП;
Регистр.ТоржестваИБанкеты.ВремяС = ВремяС;
Регистр.ТоржестваИБанкеты.ВремяПо = ВремяПо;
Регистр.ТоржестваИБанкеты.Контрагент = Контрагент;
///Табличная часть
Регистр.ТоржестваИБанкеты.Номенклатура = Номенклатура;
Регистр.ТоржестваИБанкеты.Количество = Количество;
Регистр.ТоржестваИБанкеты.Цена = Цена;
Регистр.ТоржестваИБанкеты.Сумма = Сумма;
Регистр.ТоржестваИБанкеты.Единица = Единица;
Регистр.ТоржестваИБанкеты.КоличествоПерсон = КоличествоПерсон;

Регистр.ТоржестваИБанкеты.ДвижениеВыполнить();
КонецЦикла;
КонецПроцедуры



В регистре есть записи, это проверял
Теперь запрос с выводом в табличную часть:
Код
Процедура ПриОткрытии()
ТабЗнач = Результат;
ТабЗнач.НоваяКолонка("ДеньТоржест",,,,"День");
ТабЗнач.НоваяКолонка("ВремяС",,,,"Время с");
ТабЗнач.НоваяКолонка("ВремяПо",,,,"Время по");
ТабЗнач.НоваяКолонка("КоличествоПерсон",,,,"Количество персон");
ТабЗнач.НоваяКолонка("Контрагент",,,,"Заказчик");
КонецПроцедуры



Процедура Сформировать()
ТабЗнач = Результат;
ТекстЗапроса = "
| Период С НачДата По КонДата;
| ДеньТоржест = Регистр.ТоржестваИБанкеты.ДатаП;
| ВремяС = Регистр.ТоржестваИБанкеты.ВремяС;
| ВремяПо = Регистр.ТоржестваИБанкеты.ВремяПо;
| КоличествоПерсон = Регистр.ТоржестваИБанкеты.КоличествоПерсон;
| Контрагент = Регистр.ТоржестваИБанкеты.Контрагент;
| ЗалТоржествИБанкетов = Регистр.ТоржестваИБанкеты.ЗалТоржествИБанкетов;
| Условие(ЗалТоржествИБанкетов = ВыбЗалыТоржествИБанкетов);
| Группировка Контрагент Упорядочить ПО Контрагент.Наименование;
|";
Запрос = СоздатьОбъект("Запрос");
Запрос.Выполнить(ТекстЗапроса);
Пока Запрос.Группировка("Контрагент") = 1 Цикл
НоваяСтрока = ТабЗнач.НоваяСтрока();
НоваяСтрока.ДеньТоржест = Запрос.ДеньТоржест;
НоваяСтрока.ВремяС = Запрос.ВремяС;
НоваяСтрока.ВремяПо = Запрос.ВремяПо;
НоваяСтрока.КоличествоПерсон = Запрос.КоличествоПерсон;
НоваяСтрока.Контрагент = Запрос.Контрагент;
Сообщить(Запрос.Контрагент);
КонецЦикла;
КонецПроцедуры



Проверял в отладчике, параметры "ВыбЗалыТоржествИБанкетов", "НачДата", "КонДата" определены правильно. Но цикл не срабатывает, т.к. Запрос.Группировка("Контрагент") = 0
Помогите дилетанту, что тут не так.


(1) чаще всего ошибки операционной системы, вирусы, кривая версия платформы


Переустановите платформу!

Страницы: 1
Форма ответов
Логин:
Пароль:
Текст сообщения*
Прикрепить файл
Помощник закупок (анализ продаж, анализ склада, анализ поставщиков и цен) Планирование закупок и формирование заказов