![]() |
|
v7: Запретить кнопку нет в диалоге переиндексировать | ☑ | ||
---|---|---|---|---|
0
Zoeh
05.09.11
✎
12:52
|
Программа была завершена аварийно...
Да / Нет Дак вот кнопку нет хочется запретить Господа кто нибудь увлекался этой задачей, слишком часто страдаю от шаловливых рук пользователей. Т.к. на больших многопользовательских базах это критично. |
|||
1
Ахиллес
05.09.11
✎
12:53
|
Можно ресурс эдитором каким нибудь поковырять. Но это нарушение лицензии будет.
|
|||
2
Попытка1С
05.09.11
✎
12:54
|
Запретить монопольный вход?
|
|||
3
1Сергей
05.09.11
✎
12:55
|
(2) они тогда вообще переиндексировать не смогут
|
|||
4
FN
05.09.11
✎
12:56
|
можно всем 1с-пользователям запретить вход монопольно, кроме одного.
пароль этого пользователя никому не говорить, но сделать батник с дел *.цдх и монопольным запуском. если совсем панацея, то батник тоже нужно как-то закрыть... |
|||
5
Zoeh
05.09.11
✎
12:57
|
(4) хорошая идея.
|
|||
6
Fragster
гуру
05.09.11
✎
12:58
|
перейти на SQL
|
|||
7
Mikeware
05.09.11
✎
12:58
|
Нефиг дозволять завершать программу аварийно. И опять же, на мелких базенках реиндексация пройдет быстро. А на крупных - такого вопроса уже не задается..
|
|||
8
andrewks
05.09.11
✎
12:59
|
(6) реже, но круче.
|
|||
9
Fragster
гуру
05.09.11
✎
13:00
|
(7) обрыв терминальной сессии - и кирдык
|
|||
10
Fragster
гуру
05.09.11
✎
13:00
|
(8) это что значит? там индексы исключительно в профилактических целях обслуживаются...
|
|||
11
andrewks
05.09.11
✎
13:01
|
(10) я об этом и говорю.
|
|||
12
Zoeh
05.09.11
✎
13:05
|
а какая дллка отвечает за диалоги?
|
|||
13
andrewks
05.09.11
✎
13:09
|
resource editor
|
|||
14
21stas
05.09.11
✎
13:10
|
Была ломалка, которая этот параметр настраивала и кучу других (в частности, обход паролей). Как называется - не помню.
|
|||
15
povar
05.09.11
✎
13:11
|
(14) лучше не вспоминай
|
|||
16
Zoeh
05.09.11
✎
13:26
|
Нет такого диалога
|
|||
17
Zoeh
05.09.11
✎
13:26
|
Все есть, а именно переиндексации нету
|
|||
18
Fragster
гуру
05.09.11
✎
13:28
|
можно всякие приблуды типа AutoIt заставить сразу же нажимать на ок при появлении соответствующего окна
|
|||
19
Mikeware
05.09.11
✎
13:31
|
(9) И что, "переподключаться..." не спасет, нужен обязательно "обрыв" ?
|
|||
20
andrewks
05.09.11
✎
13:32
|
запретить всем, кроме робота, монопольный вход, на раб.столе ярлык -Переиндексация, в нём - дел *.цдх, запуск монопольно, выход
|
|||
21
smaharbA
05.09.11
✎
13:35
|
убить все сдх не предлагали еще ?
|
|||
22
Fragster
гуру
05.09.11
✎
13:35
|
(19) при некоторых обстоятельствах - не спасает.
|
|||
23
Zoeh
05.09.11
✎
13:37
|
Запретить то можно, но вот проблема юзеры иногда делают перепроведение.
|
|||
24
Mikeware
05.09.11
✎
13:39
|
(23) Вот когда наведешь у себя порядок - тогда и вопросов таких не будет...
|
|||
25
ЧеловекДуши
05.09.11
✎
13:43
|
(23)Оставь, как есть, напиши бумажку.
"При переиндексации нажимать 'ДА'!" и опиши, то что будет, если он нажмет "НЕТ". И если пользователь не нажмет "ДА", то это будет его личная проблема. ...Или не ленись и делай все сам... |
|||
26
Zoeh
05.09.11
✎
13:45
|
(25) у них уже этих бумажек
|
|||
27
Соло
05.09.11
✎
13:48
|
(4),(20) и прочим любителей батников: У 1С есть режим пакетного запуска, который полностью решает поставленную проблему. Монопольный вход нужно запретить + ярлык пакетного запуска индексации. Для этого заводится пользователь с правом монопольного доступа, но без прочих прав, и он прописывается в ярлыке...
Делов на пять минут. По такой схеме работали почти пять лет. |
|||
28
andrewks
05.09.11
✎
13:50
|
(27) ... и прочим любителям: дел *.цдх и монопол круче ваших пакетных переиндексаций. так то вот...
|
|||
29
Torquader
05.09.11
✎
18:39
|
Проблема, на самом деле, глубже.
Если 1С "упала" или её "закрыли" или "завалили" каким-то образом, то она узнаёт об этом по счётчику открытых объектов, который живёт в файлах базы. Но, узнаёт она только тогда, когда завершены все сеансы, так как освобождаются блокировки 1Cv7.LCK и система узнаёт, что в базе никого не было, а что-то было открыто. Если же кто-то из базы не вышел, то даже если индексы пришли в негодность, то никто об этом не узнает. Поэтому, на файловой базе желательно делать переиндексацию как можно чаще (каждый день вечером, когда все из базы вышли). Ещё можно сделать альтернативный механизм, который будет подсчитывать число ссылок и число открытых сеансов, чтобы более гибко обнаруживать момент "нарушения целостности", но это всё равно не спасёт от задвоенных внутренних идентификаторов. Поэтому, целостность базы обеспечивает только применение SQL-версии, так как на его плечи ложится вся ответственность за отслеживание связей между таблицами базы. Однако, при выключении питания машины с SQL-сервером база умирает ещё быстрее. P.S. а диалог прекрасно ищется по текстовым строкам и вызову MessageBox в 1cv7.exe и правится на свой страх и риск (в данном случае никакая защита программы не нарушается, а выполняется внесение изменений в программу с целью улучшения её функционирования на оборудовании заказчика - также можно написать внешнюю компоненту, которая будет выполнять подмену системного вызова MessageBox и определять, что нужно делать.) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |