Привет всем! Проблема следующего характера. Многие менеджеры стали жаловаться на то, что при набивании заявки 1С вылетает без объявления войны. Проблема проявляется у разных людей, на разных компах. База на MSSQL 2000. Никто с подобным не сталкивался?
Если спасибо действительно большое, то предлагаю жать[+],
а вообще надо как-то технологичней написать
разбить по маленьким функциям, каждая из которых гарантированно делает свою часть
типа:
ЗайтиВдокумент()
Отсортировать(1)
ДобавитьВСтрокуТабличнойЧасти("00012")
и т.д.
а в этих функциях проверять, что кнопка нажата и получено ожидаемое действие
(5) v8denis, не одновременно у всех вылетает.
(6) evgaid, извиняюсь! Ды дело не в сети, это стопудняк. База скульная 2000, на Win2003. Железо: 2 Xeon'a , 4 Гб памяти, мама Intel 5000VSA, роли одинаковые.
(7) Evga, платформа 27, дальше некуда.
(9) rjhonson, тестирование и исправление делал, ноль эмоций.
(10) Yarik.69, пользователи ещё... такие пользователи... "ааа, вылетает..." Спрашиваешь "так вылетает?" - "да", "или может вот так?" - "да", "тык как?" - "вылетает и всё"
да и как бы вообще непонятно, вылетает в одном и том же месте, или в разных, роли у пользователей разные или одинаковые, опишите структуру сети и описание сервера и уже потом можно что-то гадать!
1. Стандартным образом выполнить тестирование и исправление ИБ, посмотреть будут ли ошибки, если есть- исправить их.
2. Протестировать базу локально, осуществив вход под несколькими пользователями с имитацией их работы(выписать заявки)
3. Проанализировать работу сети в целом и сервера в частности
Если не исправилась, попробуй сам заявки понабивать, чтобы найти какую-то закономерность если не увидишь, попробуй на копии переведи в дбф чтобы проверить все варианты. У меня тут была проблема столкнуллся что вылетала 8.2 при работе в базе, причина оказалась просто KIS 2011/01, когда его удалил и поставил Workstation, то все стало ок.
возможно, дело в утечке объектов, поможет размещение невидимой ТЗ на обработках без таковых (т.е. если нет ни одной ТЗ и ТЧ), как, например, ввод количества
ещё можно попробовать в глОбработкаПодбора закомментить две последних строки с Активизировать...
Нечто подобное было с другим документом при меньшем количестве пользователей. Оказалось что виноват файл сохраненных настроек пользователей 1Cv7.CFG такое ощущения что при его чтении шло переполнение. Приходилось удалять благо своих настроек юзеры делали немного.
сталкивался с подобным, в самописной конфигурации.
Проблема была в станд. функции ВвестиДату() часто вылетала именно при её вызове.
Заменил все ВвестиДату(ДатаЗаявки) на ВвестиПериод(ДатаЗаявки, (ДатаЗаявки+0))
вылеты прекратились.
(25) И что бы найти где вылетает, добавлял запись логов после каждой строки программы. Писал скрипт на AutoIt, который "нажимал кнопки" и создавал заявки, потому как вылетало не всегда, но более 50-ти заявок без вылета создать было нельзя
И такс... Промежуточные итоги:
1) В журнале ничего подозрительного. Документ открыт, отключение, подключение.
2) Примерно в следующих случаях:
-существующая заявка открывается, в неё докидываются позиции, нажатие Сортировка по алфавиту, и досвидос.
-при нажатии ОК в заявке.
А что-нибудь на момент вылета интересное есть в логах на сервере 1с? (Computer management - Event Viewer - Application). Может что-то типа:
Faulting application 1cv7s.exe, version 7.70.0.18, faulting module V7PLUS.DLL, version 7.70.0.11, fault address 0x00014dbe.
Ошибка может и не отображаться на экране в сплывающем окне - Application Error, но в лог обязательно ляжет.
Было такое дело, вылетала 1с при добавлении новой строчки в ручной Операции. Когда копировали - то норм., а именно на новой вылет. Конфа типовая была, ессно в Отладчике лазить и искать баг - дело бессмысленное, т.к. код корректный. Помогло добавление 1cv7.exe и 1cv7s.exe в DEP.
Еще можно попробовать снести пользователя в 1с и сетевой профиль юзера и заново создать, почистить реестр.
(30) Jewess, Application Error и не выскакивает. Логи компа и сервера не мониторил, но думаю, что сервак не причём, но проверю тем не менее. Наличие DEP'a не проверял, обращу внимание. А пользователя одного проблемного уже прибил, наблюдаю. Реестр с компами чищу регулярно.
У меня похожая проблема.
Я так и не понял почему вываливается, но вываливается только из терминала. А если ставлю пользователю полный рабочий стол в терминале то все работает отлично.
(38) alex601, была и такая ботва. Приходилось давать терминал с рабочим столом, после этого косяки пропадали. По остальному пока не пробовал, времени нет. Отпишу позже.
И еще добавлю (не сочтите за флуд).
Вылетает только когда набьют больше 15-18 строк.
Экспериментировал с настройками и релизами платформы, но так ничего и не помогло :(
У меня была такая проблема, на некоторых компах при формировании отчета или других действий 1С вылетала, помогло удаление ветки в реестре: HKEY_CURRENT_USER-Software-1C, только потом базы приходится добавлять, но тут можно написать скрипт, что и было сделано!
(45) alex601, ну как в терминале?! Когда работают в терминале без рабочего стола, тогда на заявках вылеты. После того как доступ к рабочемму столу дал - жалоб не слышу.
В терминале, но помимо окна 1С, пользователь видит ещё и рабочий стол.
Вылеты значит происходят в случае, если юзер формирует заявку, делает сортировку позиций по алфавиту, а потом нажимает на ОК, т.е. сортирует и проводит её, не записанную. После этого вылетает скульная ошибкп, которая жалуется, на Primary Key. Не помню точно в какой таблице, но беглый поиск по гуглу ничего не выдал дельного. Как обходное решение, порекомендовал записывать перед сортировкой, и вроде теперь тишина... Но всё равно перепроверю сей факт.
(48) такая ошибка не может валить базу у всех.
приведите точный текст ошибки.
похоже либо у вас sql сервер от сети отваливается при каких-то действиях
либо происходит снятие шары на папку где md лежит
также проверьте размер log файла
Недавно обновлял базу по сети и сбой произошёл, после чего пошла ругань на индекс какой-то порушенный. Все способы перепробовал, помогла только выгрузка-загрузка. После этого повторил операцию указанную в (48) и ничего не обвалилось. Надо будет пользователей попросить потестировать. =)
Если Primary Key - то надо лечить скульными средствами.Практически при всех ошибках помогает выполнение следующего скрипта:
ALTER DATABASE <Имя БД>SET EMERGENCY
ALTER DATABASE<Имя БД>SET SINGLE_USER
DBCC CHECKDB (<Имя БД>, REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE<Имя БД>SET MULTI_USER
Т.е. сначала переводим базу в сингл (без этого CHECKDB не выполнится ), тестируем/исправляем и опять высвобождаем её.
(49) vlad1cc, на форумах люди жалуются, что не скульное, не ТиИ стандартными 1С-овскими средствами, ни выгрузка-загрузка, не помогают... А с моим объемом базы ~8Гб возиться влом с этим, ибо затянется на нескольки дней вся канитель. Мне проще порекомендовать выполнять последовательность действий "запись-сортировка-проведение", вместо "сортировка-проведение".
(50) обычно делают так
кнопка ок
#Записать Провести
и приоткрытии поставь приЗаписиПерепроводить(1);
кнопку провести вообще снеси из документа.
ошибка более менее понятно какая но не должна она валить весь сервер или всю базу.
У всех-то и не валится! Валится у одного человека. Лично я после последовательности действий описанной в (50) о проблеме забыл, менеджеры не надорвались, а мне приятно. :)
Загрузка, выгрузка не помогает . Пробовал изначально.
Периодически делаю шринк. Всегда выдовал пару ошибок.
И на неделе в очередной раз делал шринк. На удивление шринк прошел моментально. Глазам не поверил).
Повторил процедуру. И о чудо нет ошибок). Посмотрим как теперь работать будет. Надеюсь что это было из за ошибок.
Ну вот спустя столько времени опять таже проблемма(
Причину так и не нашел(
Если есть у кого новые соображения по этому поводу пишите пожалуйста.
У меня уже идеи кончились(
у нас вылетало при набирании заявок после того как прграммист слегка перемудрил, сам дописал немного конфигурацию и где-то лишний знак поставил, нашел и все стало работать нормально