Имя: Пароль:
1C
 
Закрывается 1С при загрузке конфигурации.
0 svsrus
 
02.04.09
13:30
Происходит закрытие 1С, при загрузке конфигурации. Окно 1С открывается, в статус строке пишет "Инициализация глобального модуля..." после чего окно закрывается. Естественно после этого 1С считает себя аварийно завершенной. Это происходит только с одной конфигурацией, с другими все работает.
1. Думал конфликты с ВК. Удалил их, проблема осталась.
2. Почистил все логи, папки пользователей и т.д. и т.п. Проблема осталась.
3. Возможно битый МДшник, но если заходить в базу через сеть с другого компьютера, то все отлично. Не грузится только с этого компьютера.
4. 1С лицензия. Пробовал ставить пиратку, какое-то время работала нормально, потом опять заново все повторилось.
5. Комп мощный, выполняет роль сервера. Диски САС, 2 проца E5400. Места на дисках хватает, оперативы более чем достаточно. ОС Server 2003.

Есть какие-нибудь предположения?
1 ТелепатБот
 
гуру
02.04.09
13:30
2 Vitello
 
02.04.09
13:33
Права на запись для папки с базой есть?
3 svsrus
 
02.04.09
13:36
(2) Да, конечно. Это общая папка BASE где находятся несколько баз, почти вес многопользовательские, в том числе и проблемная.
4 Скользящий
 
02.04.09
13:38
ПриНачалеРаботыСистемы()смотрел гле вылетает?
5 svsrus
 
02.04.09
13:43
(4) Да отладчиком хотел посмотреть, не заходит даже в тело процедуры. Видимо вылет где-то раньше.
6 Ёпрст
 
гуру
02.04.09
13:46
(0) *.mlg прибей в сислоге.
7 svsrus
 
02.04.09
13:55
(6) Все прибил и вообще SysLog переименовал.
8 svsrus
 
02.04.09
13:56
С соседнего компьютера по сети этим же пользователем входит нормально. Я бы понял если бы 1Сина конфликтовала с системой, но другие конфы грузятся замечательно.
9 Соратник
 
02.04.09
15:12
Странное дело...
10 Эльниньо
 
02.04.09
15:14
(0) "Возможно битый МДшник" - дык проверь
11 svsrus
 
02.04.09
15:17
(10) А если МДшник битый большая вероятность того, что со всех остальных компьютеров эта конфа под этим пользователем работает нормально?
12 sapphire
 
02.04.09
15:20
(0)Вам ответили в (4).
Конфигуратор пускает? Глобальник дает посмотреть?
13 Рэйв
 
02.04.09
15:21
(0)Посмотри свойства файлов базы. Не ридонли случайно?
14 Скользящий
 
02.04.09
15:29
(12) А мне ответили в (5) )
15 Соратник
 
02.04.09
15:32
(13) Если ридонли, то с других компов эта база не открывалась бы...
16 svsrus
 
02.04.09
15:33
(10) Проверил МДшник. Ошибок не обнаружено. Заменил МДщник на заведомо рабочий, все равно вылет.
17 ДенисЧ
 
02.04.09
15:35
Что-то я не понимаю...
Вылетает в конфигураторе? Или в режиме предприятия?
18 svsrus
 
02.04.09
15:36
(17) Конфигуратор работает на ура. Вылетает при входе в режем Предприятия. Вылетает только на одной конфе. Вылетает уже после того, как откроется окно 1С и начинает обрабатываться глобальный модуль.
19 ДенисЧ
 
02.04.09
15:37
(18) Тогда смотри, что написано в глобальном модуле в конце, после всех процедур.
20 Скользящий
 
02.04.09
15:41
Сталкивался с таким....
21 Скользящий
 
02.04.09
15:41
Посмотри в конфигураторе на предмет "вредного" кода после 256 го символа строки...
22 svsrus
 
02.04.09
15:45
Опа! Сделал чистую базу на основе МДшника и... Вошло в 1С. Значит проблема где-то в самой базе, возможно что и в строках >256. Пошел искать.
23 Скользящий
 
02.04.09
15:45
(22) Тогда нет. Тогда бы все равно закрывалось.
24 Скользящий
 
02.04.09
15:47
Хотя не факт. Если сразу после ПриНачалеРаботыСистемы за 256 символом есть код типа если какое то условие, то завершитьРаботуСистемы, то условие может и на данные опираться, в чистом МД таких нету...
25 svsrus
 
02.04.09
15:54
Хех, кажись нашел причину...

Если ЗагрузитьВнешнююКомпоненту(КаталогПрограммы()+"v7plus.dll")=0 Тогда
 Если ЗагрузитьВнешнююКомпоненту(КаталогИБ()+"v7plus.dll")=0 Тогда
   Предупреждение("Не удалось обнаружить компоненту v7plus.dll!",2);
 КонецЕсли;
КонецЕсли;

Вот тут и вылетает, причем на втором ЕСЛИ КаталогИБ()+"v7plus.dll".
26 svsrus
 
02.04.09
16:21
Пробовал менять v7plus.dll на разные версии. Последняя версия 011 от 2003 года я так понимаю? Пробовал кинуть ее только в папку с 1С, а из базы убрал. Зарегистрировал на всякий случай regsvr32. Вылетает 1С ( А компонента нужна ( Есть какие-нибудь варианты?
27 YF
 
02.04.09
16:27
(25) А нафига так извратно? Я бы сначала проверил наличие файла v7plus.dll в нужном месте, а потом бы пытался грузить ...
28 Соратник
 
02.04.09
16:28
(27) Возврат значения 0 косвенно укажет и на эту причину... так что зачем еще наличие проверять?
29 vde69
 
02.04.09
16:32
(25) кинь v7plus.dll в каталог \bin\ и войди не ее компе под админом винды в базу
30 vde69
 
02.04.09
16:33
(29) это надо сделать на всех компах!

я себе обработку написал для этого
31 Соратник
 
02.04.09
16:34
(29) "на ее компе"... так автор про сервер вообще-то говорит :)
32 smaharbA
 
02.04.09
16:36
(30) достаточно немного поправить в7плюс и будет щастье всем безправным пользователям
33 vde69
 
02.04.09
16:38
(31) значит на сервере, и надо удалить  v7plus.dll и als из всех каталого в баз

механизм вылета:

пользователь "а" зарегил из каталога 1 а у пользователя "б" нет файловых прав на каталог 1, при ощибке в глобальнике 1с валиться....
34 vde69
 
02.04.09
16:39
(32) я не стороннинг патчинга, но как вариант - не выйдет, по тому как надобудет реестр чистить (разрегивать старую), а это геморно
35 Соратник
 
02.04.09
16:40
(33) так под одни же пользователем винды то работало, то перестало...
36 vde69
 
02.04.09
16:44
(35) >>>С соседнего компьютера по сети этим же пользователем входит нормально.
37 svsrus
 
02.04.09
16:47
(34) Я захожу под админом.
38 svsrus
 
02.04.09
16:49
(32) Подскажи как. Я попробую просто для интереса.
39 Соратник
 
02.04.09
16:56
(36)>>> по сети этим же пользователем

пользователем 1С... причем здесь виндовый юзер?
40 vde69
 
02.04.09
16:57
//*******************************************
Процедура Сформировать()    
   
   Для е = 1 по СписокФайлов.РазмерСписка() Цикл
       Имя = СокрЛП(СписокФайлов.ПолучитьЗначение(е));
       
       Если ВРЕГ(Прав(Имя,4)) <> ".DLL" Тогда
           Продолжить;
       КонецЕсли;      
       
       ИмяКомпоненты = КаталогПрограммы() + "\" + Имя;
       
       Если ЗагрузитьВнешнююКомпоненту(ИмяКомпоненты) <> 1    Тогда
           Сообщить("Компонента " + Имя + " не загружена!", "!!!");
           Продолжить;
       КонецЕсли;    

       Попытка
           // теперь надо снести из каталога базы и ExtForms
           ИмяКомпоненты = КаталогИБ() + "\" + Имя;
           Если ФС.СуществуетФайл(ИмяКомпоненты)=1 Тогда
               ФС.УдалитьФайл(ИмяКомпоненты);
               Сообщить("Файл " + ИмяКомпоненты + " удален");
           КонецЕсли;
   
           ИмяКомпоненты = КаталогИБ() + "\ExtForms\" + Имя;
           Если ФС.СуществуетФайл(ИмяКомпоненты)=1 Тогда
               ФС.УдалитьФайл(ИмяКомпоненты);
               Сообщить("Файл " + ИмяКомпоненты + " удален");
           КонецЕсли;
           
           Сообщить("Компонента " + Имя + " удачно загружена.");
       Исключение
           Сообщить("На компоненте " + Имя + " произошла ошибка " + ОписаниеОшибки());
       КонецПопытки;
   КонецЦикла;
КонецПроцедуры


Процедура ПриОткрытии()
   // установим пометки
   Для е = 1 по СписокФайлов.РазмерСписка() Цикл
       СписокФайлов.Пометка(е, 1);    
   КонецЦикла;
КонецПроцедуры



СписокФайлов.УдалитьВсе();
СписокФайлов.ДобавитьЗначение("BinFiles.dll");
СписокФайлов.ДобавитьЗначение("BinFiles.als");
41 vde69
 
02.04.09
16:58
(40)+ это выполняешь для всех баз на каждом компе, под WINDOWS Админом

и будет счастье
42 vde69
 
02.04.09
16:59
(40)+
длл-ки напутал

СписокФайлов.ДобавитьЗначение("V7PLUS.DLL");
СписокФайлов.ДобавитьЗначение("V7Plus.als");
43 svsrus
 
02.04.09
17:03
(42) Спасибо. Посмотрю. только это мало к проблеме имеет отношение. Я дллки снес еще в (26) сообщении )

К тому же эта обработка умрет аналогично 1Сине еще на строчке:
       Если ЗагрузитьВнешнююКомпоненту(ИмяКомпоненты) <> 1    Тогда

Когда начнет грузить v7plus.dll из каталога BIN
44 vde69
 
02.04.09
17:06
(43) главное запускай ее от имение доменного админа
45 svsrus
 
02.04.09
20:02
(44) домена нет
46 Соратник
 
03.04.09
09:38
(45) Ну как дела? Поборол? Если поборол то расскажи.
47 usr088
 
03.04.09
10:25
(45) Вопрос к автору, а перед этим багом, никто домой базу не носил, а потом не перезаписал.
ПРосто недавно была точно такая же проблема, после того, когда я домой базу брал и колбасил с ней, а потом принес на работу, и заменил имеющуюся на сервере.

Проблема в итоге была с правами, решилась очень хитро.
48 svsrus
 
03.04.09
10:59
(46) нет (
(47) Домой не носил, но с базой манипуляции были. Возможно, действительно проблемы с правами, но где именно не могу понять. К тому же, если долго-долго биться с самой платформой 1С, например, взять и поставить крякнутые екзешник или саблю, или еще как-нибудь поизвращаться, то база вдруг, начинает работать, но не надолго. У меня есть предположение одно, но опять же, где концы искать не знаю: мне кажется что это начало происходить с базой, когда я с ней работал по удаленке с использованием UltraVNC. Именно после этого (мне так кажется) и начали происходить такие метаморфозы.

Расскажи про "решилась очень хитро" =)
49 vde69
 
03.04.09
11:03
(48) чего пишут логи 1с и системы?

здесь дело исключительно в регистрации и правах на DLL
50 svsrus
 
03.04.09
11:14
(49) Логи 1С пишут что было подключение и все. Т.е. подключился и испарился. Система пишет

Тип события:    Ошибка
Источник события:    Application Error
Категория события:    (100)
Код события:    1000
Дата:        03.04.2009
Время:        11:11:18
Пользователь:        Н/Д
Компьютер:    SERVER
Описание:
Ошибка приложения 1cv7.exe, версия 7.70.0.27, модуль kernel32.dll, версия 5.2.3790.4062, адрес 0x00021689.

Дополнительные сведения можно найти в центре справки и поддержки, в "http://go.microsoft.com/fwlink/events.asp".
Данные:
0000: 41 70 70 6c 69 63 61 74   Applicat
0008: 69 6f 6e 20 46 61 69 6c   ion Fail
0010: 75 72 65 20 20 31 63 76   ure  1cv
0018: 37 2e 65 78 65 20 37 2e   7.exe 7.
0020: 37 30 2e 30 2e 32 37 20   70.0.27
0028: 69 6e 20 6b 65 72 6e 65   in kerne
0030: 6c 33 32 2e 64 6c 6c 20   l32.dll
0038: 35 2e 32 2e 33 37 39 30   5.2.3790
0040: 2e 34 30 36 32 20 61 74   .4062 at
0048: 20 6f 66 66 73 65 74 20    offset
0050: 30 30 30 32 31 36 38 39   00021689
51 svsrus
 
03.04.09
11:18
Details
Product:    Windows Operating System
Event ID:    100
Source:    ShadowCopy
Version:    5.2.3790.1830
Message:    Shadow Copy state change rule
 
Explanation
This event occurs any time the health state of the shadow copies changes. The possible health states are:

Shadow copies were successful.
Shadow copies failed due to a noncritical error. They may be successful next time, without further action.
Shadow copies failed due to a critical error. They will not be successful until the problem that caused the failure has been fixed.
52 vde69
 
03.04.09
11:20
kernel32.dll - дело в регистрации и правах на DLL

можно еще чуток пошаманить:
снеси у пользователя HKEY_CURRENT_USER\Software\1C\1Cv7\7.7 и зарегь базы заново
а так-же папку почисть (ту, что в конфигураторе для пользователя прописана)
53 vde69
 
03.04.09
11:21
(52) с временем проверь (у всех компов не должно быть более 10 минут разница)
54 svsrus
 
03.04.09
11:33
(53) Уже пробовал все, кроме реестра. База сейчас с которой пытаюсь работать - однопользовательская, только на этом ПК. Попробую реестр почистить.
55 N1kMZ
 
03.04.09
11:58
(51) А если отключить теневые копии на винте с базой?
56 N1kMZ
 
03.04.09
12:19
(55)
+ Отключить кеширование на шаре с базами.
57 svsrus
 
03.04.09
15:18
Значится так. Никакие танцы с бубнами не помогли. И реестр чистил, теневое отключено и так было, кэш отключал-включал, права настраивал перенастраивал, папки копировал, чего только не делал, не идет и все. И тут решил попробовать папку с самой 1С перекинуть с Programm Files на другой диск и о ЧУДО, базы стали работать ). При этом не важно где находится v7plus.dll: в самой ли базе, либо в каталоге 1С. После этого пошел для проверки расшарил папку с 1С в Programm Files, база один раз открылась, второй и последующие разы опять сваливается. А если 1С запускать с другого диска(не системного), то базы открываются. В чем дело? Понятно, что, что-то с правами, но вот что?
58 vde69
 
03.04.09
15:21
(57) вообще-то надо пользоваться АДМИНИСТРАТИВНОЙ установкой платформы!!!
тогда 1с на сервере и у всех единая
59 svsrus
 
03.04.09
15:26
(58) Да емае, у меня вопрос другой ))) А что дает единая 1С у всех?
60 vde69
 
03.04.09
15:34
(59) я сдаюсь :) сам подумай нафига ее сделали!
61 svsrus
 
03.04.09
15:40
(60) 1C много чего сделали ))) Вот честно не знаю... Когда-то лет 5 назад это может быть и было актуально, а сейчас?
62 vde69
 
03.04.09
15:48
(61) вопросы на засыпку:
ты уверен, что у тебя везде одинаковые релизы платформы стоят? а версии v7plus???
ты уверен, что злые юзеры не лазят в эти папочки и не шкодничают?
ты уверен, что у одного юзера вирус не сидит там?

ну и т.д.
63 svsrus
 
03.04.09
15:55
(62)
1. нет, не уверен )
2. нет, не уверен ) но если юзеры злые, они могут нашкодничать и без этой папочки, к тому же доступ к папке с базой открыт. Тут нашкодничать можно гораздо серьезней )
3. да, уверен )

В общем я понял. Соглашусь пожалуй.
64 usr088
 
03.04.09
17:34
(63) проблему решил, или нет.
Я только что вернулся, вот интересно, писать монолог многостраничный или нет
65 svsrus
 
04.04.09
13:33
(64) временно да, но почему так не понял )
в (57) написано как.