|   |   | 
| 
 | v7: как избежать переиндексации при аварийном снятии программы | ☑ | ||
|---|---|---|---|---|
| 0
    
        patapum 03.04.13✎ 11:47 | 
        Я так понимаю, что, когда 7.7 снимается аварийно, то если в системе в этот момент нет других пользователей, при следующем запуске придется переиндексировать, а если есть - то не придется. Нельзя ли как-нибудь по другому избежать переиндексации после аварийного снятия?
  Ситуация следующая: в организации стоит 7.7, с подключенными внешними компонентами частного производства (документации нет, помощи ждать неоткуда). В частности, ВК (видимо) аварийно снимает сеанс при отсутствии активности в течение времени больше заданного. В будни все нормально, все активно работают, даже если и выкинет кого - все ок. А в выходные зайдет пользователь, забудет сеанс выключить - снялся аварийно, переиндексируйте базу. Либо всем права на монопольный вход давать (но не хочется), либо что-то придумать. Если открыть сеанс админа - не помогает, через часа 4 снимется аварийно, разве что еще запрогать мышку двигать. Нет какого-нибудь гениального решения? | |||
| 1
    
        ДенисЧ 03.04.13✎ 11:49 | 
        dbfку чистить...     | |||
| 2
    
        patapum 03.04.13✎ 11:50 | 
        (1) можно чуть подробнее? которую и где чистить?     | |||
| 3
    
        Frost616 03.04.13✎ 11:53 | 
        сделать батник, который будет запускать конфигуратор в пакетном режиме и индексировать базу не?     | |||
| 4
    
        Мимошёл 03.04.13✎ 11:55 | 
        При запуске отказаться от индексации.     | |||
| 5
    
        patapum 03.04.13✎ 11:56 | 
        (3) проблема в том, что я не знаю, когда кого выкинет и, соответственно, понадобится переиндексация. можно, конечно, раз в полчаса делать попытку входа в систему, если не вошлось, то переиндексацию, но хотелось чего-то проще.     | |||
| 6
    
        patapum 03.04.13✎ 11:57 | 
        (4) тогда приходится отказаться и от запуска...     | |||
| 7
    
        Mikeware 03.04.13✎ 12:00 | 
        (6) переходи на сиквельную :-)
  (0) почему сеанс админа падает? | |||
| 8
    
        vde69 03.04.13✎ 12:03 | 
        вообще-то переиндексация после аварийного случая бывает НУЖНА! иначе можешь на грабли налететь...
  не хочешь переиндексацию - переходи на скуль | |||
| 9
    
        patapum 03.04.13✎ 12:03 | 
        (7) переход на сиквельную сейчас нереален. внешние компоненты, скрипты, трогать не надо. готовим переход на 8.2, надо просто дожить
  сеанс админа снимается (судя по всему) подключенной самодельной внешней компонентой. | |||
| 10
    
        patapum 03.04.13✎ 12:05 | 
        (8) а что за грабли могут быть? вроде, если в течение дня все работают, кого-то сняли аварийно - зашел заново, все нормально. 
  как бы систему обмануть, чтоб она думала, что кто-то в базе есть - нет способа? | |||
| 11
    
        Frost616 03.04.13✎ 12:05 | 
        можно по 1cusers.dbf смотреть нужна ли переиндексация     | |||
| 12
    
        PiterPrg 03.04.13✎ 12:07 | 
        (7) Скорее всего сеанс админа запускается на терминале, а в настройках терминала - таймаут на бездействие. (что  по-хорошеум выключитьне помешает)     | |||
| 13
    
        PiterPrg 03.04.13✎ 12:08 | 
        (8) Полностью поддерживаю! Когда индесы по-настоящему летят - очень весело становится.     | |||
| 14
    
        patapum 03.04.13✎ 12:09 | 
        (12) нет, сеанс работает, конфигуратор 7.7 живет, 8-ка живет, а пользовательская сессия 7.7 убивается     | |||
| 15
    
        Mikeware 03.04.13✎ 12:09 | 
        (12)так и я о том же...
  Судя по всему, дело в банальном соотношении радиусов, а не в таинственных компонентах... | |||
| 16
    
        patapum 03.04.13✎ 12:09 | 
        (13) чего будет-то? про что смеяться?     | |||
| 17
    
        Builder 03.04.13✎ 12:17 | 
        Перевести базу на SQL, там это реализовано.     | |||
| 18
    
        dmpl 03.04.13✎ 12:19 | 
        (0) Дизассемблировать компоненту, посмотреть вызов завершения процесса - и за NOP'ить.     | |||
| 19
    
        patapum 03.04.13✎ 12:20 | 
        (17) не будем, писал выше
  (18) до этого еще не дорос я... | |||
| 20
    
        palpetrovich 03.04.13✎ 12:21 | 
        (0) Если на SQL переходить не планируете, смотри в сторну V7DBNet. Для небольшого количества пользователей (не помню сколько) - решение бесплатное...     | |||
| 21
    
        Aleksey 03.04.13✎ 12:21 | 
        (10) несталкивался когда индексы слетают?     | |||
| 22
    
        Aleksey 03.04.13✎ 12:22 | 
        (19) была на просторах инета патчилка, которая в том числе и убирала запросы всякие     | |||
| 23
    
        patapum 03.04.13✎ 12:22 | 
        (10) нет. расскажите, чего ждать, а то пугаете как бабой-ягой...     | |||
| 24
    
        palpetrovich 03.04.13✎ 12:22 | ||||
| 25
    
        patapum 03.04.13✎ 12:23 | 
        (22) боюсь, по такому описанию патчилку я на просторах нета не найду...     | |||
| 26
    
        aka AMIGO 03.04.13✎ 12:24 | 
        рабочий день - долгий.. утром первый юзер, запустивший 1с, получает отлуп и звонит ТС, как администратору БД.. если он пришел на работу.
  далее Администратор1С запускает в монопольном режиме и ждет вместе с юзерами 45 секунд. после чего работа начинается. Короче На всё-про-всё в общей сложности, 1.5 - 2 минуты. Не стОит овчинка выделки | |||
| 27
    
        Aleksey 03.04.13✎ 12:25 | 
        (25) а ты попробуй Как убрать вопрос о переиндексации?     | |||
| 28
    
        patapum 03.04.13✎ 12:26 | 
        (20), (24) спасибо, но надо просто дожить до перехода на 8.2 (пару месяцев). в базе работает одновременно до 100 юзеров, думаю, какой-то разгон производился (детали неизвестны), как будет то, что сделано, с дбнетом взаимодействовать - боюсь представить...     | |||
| 29
    
        patapum 03.04.13✎ 12:31 | 
        (26) понимаю, тему читать лень. речь идет про выходные. переиндексирование занимает 35 минут.
  (25) то есть надо 1cusers.dbf удалить просто? а что будет, если я его попробую удалить, когда в базе кто-то сидеть будет, опа придет? я жеж, повторю, не знаю, когда кто сеанс забудет и срубится он аварийно | |||
| 30
    
        dmpl 03.04.13✎ 13:23 | 
        (26) 45 секунд? А 45 минут не хочешь?     | |||
| 31
    
        dmpl 03.04.13✎ 13:27 | 
        (29) Есть время, когда в БД никого нет? Например, в 4-5 утра? Тогда можно запускать переиндексацию в это время, должно снять остроту проблемы... правда что-то придется сделать с автоматическим ответом на вопрос.     | |||
| 32
    
        Builder 03.04.13✎ 13:29 | 
        (31) Вопрос о переиндексации убирается предварительным удалением всех CDX.     | |||
| 33
    
        Злопчинский 03.04.13✎ 13:37 | 
        (30) значится или есть незакрытые регистры, скорее всего...     | |||
| 34
    
        patapum 03.04.13✎ 13:53 | 
        а как можно батником проверить, есть ли активные пользователи в 1с? то есть, смотреть, если пользователей нет, а 1susers.dbf есть, то грохать его?     | |||
| 35
    
        vde69 03.04.13✎ 14:03 | 
        (23) реально механизм такой
  при аварийном закритии есть шанс что индексы на редактируемый обьект не расчитан (обычно это последний документ). соответсвенно все запросы с использованием индексов тупо не видят этого объекта, в результате проводки есть а в таблице итогов документ отражения не имеет. | |||
| 36
    
        patapum 03.04.13✎ 14:08 | 
        (35) ясно, а когда в базе тьма пользователей сидит, то же самое происходит, когда одного выкидывает? то есть база может стать "чуть-чуть неактуальной"?     | |||
| 37
    
        aka MIK 03.04.13✎ 14:09 | 
        (0) del 1susers.dbf перед стартом 1С     | |||
| 38
    
        patapum 03.04.13✎ 14:13 | 
        (37) ага, уже нашел этот файлик, спасибо. только придется пытаться раз в какое-то время его удалить - если пользователей нет, он не дастся просто. я думаю, это проще, чем пытаться на все пользовательские ярлыки 1с-ки навешивать + del 1susers.dbf...     | |||
| 39
    
        vde69 03.04.13✎ 14:13 | 
        (36) может и бывает, по этому хотя-бы раз в день стоит переин7дексацию делать     | |||
| 40
    
        patapum 03.04.13✎ 14:16 | 
        (39) так делаем, ага. спасибо за помощь и тебе, и всем, кто откликнулся!     | |||
| 41
    
        Mikeware 03.04.13✎ 14:30 | 
        вот толку _таким_ "переходить на 8.2"?     | |||
| 42
    
        patapum 03.04.13✎ 14:36 | 
        (41) а что на 8.2 можно переходить только волшебникам, питающимся радугой и какающим бабочками? давай всех прогов 1с, кроме таких гениев, как ты, уволим, и фигня, что 90% организаций останутся без обслуживания. и кстати, можно конкретней насчет _таким_?     | |||
| 43
    
        mad hatter 03.04.13✎ 18:45 | 
        (42) "Изделие Михаил"))) имел ввиду, что как же Вы, уважаемый, будете биться-колотиться с 8.2, если банальный вопрос с 7.7, который решается 33-я способами, решить не можете?..))     | |||
| 44
    
        rand48957 03.04.13✎ 23:44 | 
        (33) ни разу с большими базами не работал ? )))     | |||
| 45
    
        NikVars 04.04.13✎ 00:01 | 
        (0) "А в выходные зайдет пользователь, забудет сеанс выключить"... Это лечится административным ресурсом. Проводи работу с такими пользователями, а кривые ВК у тебя уже есть + тебе хочется битых индексов для разнообразия в жизни?!
  Индексируйся обязательно!!! Проводи работу с пользователями. Тыкай на провинившихся при срочной потребности в базе, когда она нужна. | |||
| 46
    
        Torquader 04.04.13✎ 00:39 | 
        (35) Будто бы при упавшей транзакции такого не происходит, при этом, правда, сеанс не всегда вылетает, а вот индексы становятся неактуальными.
  P.S. если компонента "следит" за работой пользователя, то повесьте скрипт, который будет имитировать нажатие какой-то комбинации клавиш, если некоторое время нет событий мыши или клавиатуры, а в меню 1С сделайте на эту "магическую" комбинацию вызов процедуры глобального модуля, которая ничего не делает. P.P.S. можно ещё через обработку ожидания попробовать или автообновление формы - но имитация работы пользователя будет. | |||
| 47
    
        Злопчинский 04.04.13✎ 03:29 | 
        (44) с большими - нет. но вряд ли у ТС реально большая база.     | |||
| 48
    
        Escander 04.04.13✎ 03:45 | 
        (0) ТС, ты уверен что тебе это реально надо? Может правильнее устранить причину по которой сеансы отваливаются(анпример проблеммы с сетью)? Даже если ты зайдёшь по нормальной схеем непохо-бы произвести перерасчёт рагистров (помимо переиндексации).     | |||
| 49
    
        Escander 04.04.13✎ 03:49 | 
        но если очень нужно - достаточно смахнуть 1cusers.dbf - для файловой базы     | |||
| 50
    
        ЧеловекДуши 04.04.13✎ 05:05 | 
        (5) Зачем О_о ? Нужно батник запускать ночью, каждый божий день. Или переходить на SQL :)     | |||
| 51
    
        ЧеловекДуши 04.04.13✎ 05:06 | 
        (48) Да бывают пользователи аварийно закрываются :)     | |||
| 52
    
        Escander 04.04.13✎ 05:59 | 
        (51) у меня такое было только пока сеть глючила жёстко, поставил терминальный сервер - бонусом юзера получили выросшее быстродействие.     | |||
| 53
    
        ЧеловекДуши 04.04.13✎ 05:59 | 
        (52) А у нас постоянно, в терминале... После батник по ночам решил проблему утренней мемо паузы у бухов :)     | |||
| 54
    
        ЧеловекДуши 04.04.13✎ 06:00 | 
        +(52) Так что у вас еще все впереди :)     | |||
| 55
    
        ADirks 04.04.13✎ 06:27 | 
        (41) Нифига ты не понимаешь. Там это уже реализовано!     | |||
| 56
    
        alkov 04.04.13✎ 06:48 | 
        (6) ЩИТО? Если на вопрос о переиндексации ответить "Нет" - запустится без переиндексации     | |||
| 57
    
        vladko 04.04.13✎ 09:56 | 
        Удалить 1susers.dbf не достаточно. Глюки будут на непереиндексированной базе. Достаточно зайти в любой из журналов документом и побегать по нему в базе, где не сделана переиндексация. Сразу видны эти глюки.
  Так что надо удалить 1susers.dbf и *.cdx перед запуском, тогда база автоматически переиндексируется без всяких вопросов. | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |