|
v7: 1C 7.7: Ключи запуска | ☑ | ||
---|---|---|---|---|
0
victuan1
20.01.18
✎
08:36
|
Есть ключ запуска 1С 7.7 в разделенном (немонопольном режиме), который позволяет подавить предупреждение на необходимость переиндексации базы 1С.
Такое предупреждение появляется, если ранее был аварийный выход из 1С и при входе в 1С в ней не работает ни одного пользователя. Если работает хотя бы один пользователь, то такое предупреждение не появляется, пока из базы не выйдут все. Зачем нужен этот ключ. Запускается 1С по расписанию под пользователем Роботом, для выполнения регламентного задания ночью. У него выходит это предупреждение, всё останавливается, регламентное задание выполнится не может, база 1С блокируется и пользователи утром не могут в нее зайти ("Ошибка блокировки базы при открытии"). Приходится вручную убивать процесс 1С с роботом. Данный ключ решил бы проблему. Если ключа такого не придумали, то подскажите как по другому решить проблему. |
|||
1
Sserj
20.01.18
✎
08:48
|
перед запуском робота удалить файлы cdx и запустить робота монопольно.
За одно и польза от избавления битых индексов. |
|||
2
Mikhail Volkov
20.01.18
✎
08:52
|
(1)+
|
|||
3
victuan1
20.01.18
✎
11:04
|
В момент запуска Робота не всегда база свободна. Бывает, что пользователи в ней работают (регламентное задание робота им не мешает).
|
|||
4
Mikhail Volkov
20.01.18
✎
11:22
|
(3) Первым шагом делать проверку на отсутствие пользователей в базе.
|
|||
5
Злопчинский
20.01.18
✎
11:40
|
(3) сообщение по сети типа через 2 мин все сеансы 1с будут принудительно закрыты, киляешь 1ску, робот, потом сообщение что можно работать и норм
|
|||
6
Kigo_Kigo
20.01.18
✎
13:04
|
Килять всех пользователей, запускать монопольно.
Подавить запрос на переиндексацию можно патчем, по моему от саурона. |
|||
7
Смотрящий
20.01.18
✎
15:32
|
(0) Держу на сервере, в собственной сесии запущенную 1С. Слетает только если сервак ребутнется - понять все взад 10-15 минут
|
|||
8
Dolly_EV
24.01.18
✎
09:30
|
Аж в 2005-м году решали эту проблему
Как определить, потребует ли 1С 7.7 (dbf) переиндексации при запуске? |
|||
9
Builder
24.01.18
✎
10:08
|
Переход на SQL тоже решает эту проблему.
|
|||
10
victuan1
29.01.18
✎
07:37
|
(8) Вроде да:
[quote]Кажется, генеральная линия выработана. Если поле > 0 тогда удаление файла 1Cv7.LCK; Если кол-во файлов 1Cv7.LCK > 0 тогда значит в базе кто-то сидит, надо заходить без переиндексации; Иначе значит в базе никого не было, 1Cv7.LCK остался с прошлого сеанса, можно смело удалять cdx-ы и запускать монопольно; КонецЕсли; КонецЕсли;[/quote] А в виде кода кто-нибудь оформлял? Видимо, нужно писать скрипт не на 1С, чего не умею. |
|||
11
victuan1
29.01.18
✎
08:25
|
.
|
|||
12
Builder
29.01.18
✎
09:35
|
(10) C таким же успехом можно сразу cdx грохать.
Если в базе кто то есть, они не удалятся. По скриптам смотри примеры DOS команд, там все есть. |
|||
13
Смотрящий
29.01.18
✎
10:10
|
(12) не cdx а 1Cv7.lck в каталоге базы - не удалился - значит есть кто то в ней
|
|||
14
Builder
29.01.18
✎
10:17
|
(13) Удалять lck надо для проверки возможности удалить cdx.
Попробуйте удалить сразу cdx. Такой же эффект. Не удалятся - в базе кто то есть. Удалятся - запускайте монопольно. |
|||
15
ADirks
29.01.18
✎
10:19
|
(10) на OneScript напиши :)
|
|||
16
victuan1
01.02.18
✎
13:17
|
(15) Кстати, проект 1с++ для 1С 7.7 еще жив?
Есть некоторые баги в "движке", хочется поправить. Например, падает отладчик и 1С: предприятие, если при трассировке модуля ВМ в табло укажешь имя переменной, которой не существует в текущем контексте. При отладке обычных модулей 1С в этих случаях падения не происходит, а просто пишется: "Ошибка в выражении!" Можно ли доработать ВМ, чтобы он выдавал такое же сообщение, а не валил 1С? |
|||
17
victuan1
01.02.18
✎
14:18
|
Поправка: не ВМ, а класс 1с++, реализованный в обработке ert
|
|||
18
victuan1
05.02.18
✎
16:23
|
Если немного подождать, то в отладчике будет написано в табло напротив несуществующей переменной:
абырвалг = Нарушена синхронизация между 1С:Предприятием и Отладчиком. Отладчик можно закрыть, а вот 1С Предприятие зависло и закрылось. |
|||
19
big
08.02.18
✎
19:43
|
Не претендую на истину в последней инстанции, но в случае удаления cdx на периферийной базе (при использовании УРБД), при запуске требует зайти монопольно. То есть индексы файла 1cupdts.dbf не восстанавливаются в пакетном режиме. Была идея восстанавливать его отдельно, но как-то забили на это.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |