v7: Запретить кнопку нет в диалоге переиндексировать #567990


#0 by Zoeh
Программа была завершена аварийно... Да / Нет Дак вот кнопку нет хочется запретить Господа кто нибудь увлекался этой задачей, слишком часто страдаю от шаловливых рук пользователей. Т.к. на больших многопользовательских базах это критично.
#1 by Ахиллес
Можно ресурс эдитором каким нибудь поковырять. Но это нарушение лицензии будет.
#2 by Попытка1С
Запретить монопольный вход?
#3 by 1Сергей
они тогда вообще переиндексировать не смогут
#4 by FN
можно всем 1с-пользователям запретить вход монопольно, кроме одного. пароль этого пользователя никому не говорить, но сделать батник с дел *.цдх и монопольным запуском. если совсем панацея, то батник тоже нужно как-то закрыть...
#5 by Zoeh
хорошая идея.
#6 by Fragster
перейти на SQL
#7 by Mikeware
Нефиг дозволять завершать программу аварийно. И опять же, на мелких базенках реиндексация пройдет быстро. А на крупных - такого вопроса уже не задается..
#8 by andrewks
реже, но круче.
#9 by Fragster
обрыв терминальной сессии - и кирдык
#10 by Fragster
это что значит? там индексы исключительно в профилактических целях обслуживаются...
#11 by andrewks
я об этом и говорю.
#12 by Zoeh
а какая дллка отвечает за диалоги?
#13 by andrewks
resource editor
#14 by 21stas
Была ломалка, которая этот параметр настраивала и кучу других (в частности, обход паролей). Как называется - не помню.
#15 by povar
лучше не вспоминай
#16 by Zoeh
Нет такого диалога
#17 by Zoeh
Все есть,  а именно переиндексации нету
#18 by Fragster
можно всякие приблуды типа AutoIt заставить сразу же нажимать на ок при появлении соответствующего окна
#19 by Mikeware
И что, "переподключаться..." не спасет, нужен обязательно "обрыв" ?
#20 by andrewks
запретить всем, кроме робота, монопольный вход, на раб.столе ярлык  -Переиндексация, в нём - дел *.цдх, запуск монопольно, выход
#21 by smaharbA
убить все сдх не предлагали еще ?
#22 by Fragster
при некоторых обстоятельствах - не спасает.
#23 by Zoeh
Запретить то можно, но вот проблема юзеры иногда делают перепроведение.
#24 by Mikeware
Вот когда наведешь у себя порядок - тогда и вопросов таких не будет...
#25 by ЧеловекДуши
Оставь, как есть, напиши бумажку. "При переиндексации нажимать 'ДА'!" и опиши, то что будет, если он нажмет "НЕТ". И если пользователь не нажмет "ДА", то это будет его личная проблема. ...Или не ленись и делай все сам...
#26 by Zoeh
у них уже этих бумажек
#27 by Соло
,  и прочим любителей батников: У 1С есть режим пакетного запуска, который полностью решает поставленную проблему. Монопольный вход нужно запретить + ярлык пакетного запуска индексации. Для этого заводится пользователь с правом монопольного доступа, но без прочих прав, и он прописывается в ярлыке... Делов на пять минут. По такой схеме работали почти пять лет.
#28 by andrewks
... и прочим любителям: дел *.цдх и монопол круче ваших пакетных переиндексаций.  так то вот...
#29 by Torquader
Проблема, на самом деле, глубже. Если 1С "упала" или её "закрыли" или "завалили" каким-то образом, то она узнаёт об этом по счётчику открытых объектов, который живёт в файлах базы. Но, узнаёт она только тогда, когда завершены все сеансы, так как освобождаются блокировки 1Cv7.LCK и система узнаёт, что в базе никого не было, а что-то было открыто. Если же кто-то из базы не вышел, то даже если индексы пришли в негодность, то никто об этом не узнает. Поэтому, на файловой базе желательно делать переиндексацию как можно чаще (каждый день вечером, когда все из базы вышли). Ещё можно сделать альтернативный механизм, который будет подсчитывать число ссылок и число открытых сеансов, чтобы более гибко обнаруживать момент "нарушения целостности", но это всё равно не спасёт от задвоенных внутренних идентификаторов. Поэтому, целостность базы обеспечивает только применение SQL-версии, так как на его плечи ложится вся ответственность за отслеживание связей между таблицами базы. Однако, при выключении питания машины с SQL-сервером база умирает ещё быстрее. P.S. а диалог прекрасно ищется по текстовым строкам и вызову MessageBox в 1cv7.exe и правится на свой страх и риск (в данном случае никакая защита программы не нарушается, а выполняется внесение изменений в программу с целью улучшения её функционирования на оборудовании заказчика - также можно написать внешнюю компоненту, которая будет выполнять подмену системного вызова MessageBox и определять, что нужно делать.)
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С