Вход | Регистрация

1С:Предприятие ::

Метки: 

v7: 1C 7.7: Ключи запуска

Я
   victuan1
 
20.01.18 - 08:36
Есть ключ запуска 1С 7.7 в разделенном (немонопольном режиме), который позволяет подавить предупреждение на необходимость переиндексации базы 1С.
Такое предупреждение появляется, если ранее был аварийный выход из 1С и при входе в 1С в ней не работает ни одного пользователя.
Если работает хотя бы один пользователь, то такое предупреждение не появляется, пока из базы не выйдут все.

Зачем нужен этот ключ. Запускается 1С по расписанию под пользователем Роботом, для выполнения регламентного задания ночью. У него выходит это предупреждение, всё останавливается, регламентное задание выполнится не может, база 1С блокируется и пользователи утром не могут в нее зайти ("Ошибка блокировки базы при открытии"). Приходится вручную убивать процесс 1С с роботом.

Данный ключ решил бы проблему.
Если ключа такого не придумали, то подскажите как по другому решить проблему.
 
  Рекламное место пустует
   Sserj
 
1 - 20.01.18 - 08:48
перед запуском робота удалить файлы cdx и запустить робота монопольно.
За одно и польза от избавления битых индексов.
   Mikhail Volkov
 
2 - 20.01.18 - 08:52
(1)+
   victuan1
 
3 - 20.01.18 - 11:04
В момент запуска Робота не всегда база свободна. Бывает, что пользователи в ней работают (регламентное задание робота им не мешает).
   Mikhail Volkov
 
4 - 20.01.18 - 11:22
(3) Первым шагом делать проверку на отсутствие пользователей в базе.
   Злопчинский
 
Ведущий
5 - 20.01.18 - 11:40
(3) сообщение по сети типа через 2 мин все сеансы 1с будут принудительно закрыты, киляешь 1ску, робот, потом сообщение что можно работать и норм
   Kigo_Kigo
 
6 - 20.01.18 - 13:04
Килять всех пользователей, запускать монопольно.
Подавить запрос на переиндексацию можно патчем, по моему от саурона.
   Смотрящий
 
7 - 20.01.18 - 15:32
(0) Держу на сервере, в собственной сесии запущенную 1С. Слетает только если сервак ребутнется - понять все взад 10-15 минут
   Dolly_EV
 
8 - 24.01.18 - 09:30
   Builder
 
9 - 24.01.18 - 10:08
Переход на SQL тоже решает эту проблему.
   victuan1
 
10 - 29.01.18 - 07:37
(8) Вроде да:
[quote]Кажется, генеральная линия выработана. 
Если поле > 0 тогда 
 удаление файла 1Cv7.LCK; 
 Если кол-во файлов 1Cv7.LCK > 0 тогда 
   значит в базе кто-то сидит, надо заходить без переиндексации; 
 Иначе 
   значит в базе никого не было, 1Cv7.LCK остался с прошлого сеанса, можно 
   смело удалять cdx-ы и запускать монопольно; 
  КонецЕсли;
КонецЕсли;[/quote]

А в виде кода кто-нибудь оформлял? Видимо, нужно писать скрипт не на 1С, чего не умею.
 
  Рекламное место пустует
   victuan1
 
11 - 29.01.18 - 08:25
.
   Builder
 
12 - 29.01.18 - 09:35
(10) C таким же успехом можно сразу cdx грохать.
Если в базе кто то есть, они не удалятся.
По скриптам смотри примеры DOS команд, там все есть.
   Смотрящий
 
13 - 29.01.18 - 10:10
(12) не cdx а 1Cv7.lck в каталоге базы - не удалился - значит есть кто то в ней
   Builder
 
14 - 29.01.18 - 10:17
(13) Удалять lck надо для проверки возможности удалить cdx.
Попробуйте удалить сразу cdx. Такой же эффект.
Не удалятся - в базе кто то есть. Удалятся - запускайте монопольно.
   ADirks
 
15 - 29.01.18 - 10:19
(10) на OneScript напиши :)
   victuan1
 
16 - 01.02.18 - 13:17
(15) Кстати, проект 1с++ для 1С 7.7 еще жив?
Есть некоторые баги в "движке", хочется поправить.

Например, падает отладчик и 1С: предприятие, если при трассировке модуля ВМ в табло укажешь имя переменной, которой не существует в текущем контексте.

При отладке обычных модулей 1С в этих случаях падения не происходит, а просто пишется:
"Ошибка в выражении!"

Можно ли доработать ВМ, чтобы он выдавал такое же сообщение, а не валил 1С?
   victuan1
 
17 - 01.02.18 - 14:18
Поправка: не ВМ, а класс 1с++, реализованный в обработке ert
   victuan1
 
18 - 05.02.18 - 16:23
Если немного подождать, то в отладчике будет написано в табло напротив несуществующей переменной:

абырвалг = Нарушена синхронизация между 1С:Предприятием и Отладчиком.

Отладчик можно закрыть, а вот 1С Предприятие зависло и закрылось.
   big
 
19 - 08.02.18 - 19:43
Не претендую на истину в последней инстанции, но в случае удаления cdx на периферийной базе (при использовании УРБД), при запуске требует зайти монопольно. То есть индексы файла 1cupdts.dbf не восстанавливаются в пакетном режиме. Была идея восстанавливать его отдельно, но как-то забили на это.


Список тем форума
Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует