Имя: Пароль:
1C
1С v8
Как сделать, чтобы 1С не запускалось, если произошла ошибка подключения расширения?
0 TDI
 
27.10.22
09:11
Вот собственно вопрос.
Как не давать запускаться 1С, если по какой то причине некоторые расширения не подключаются ?
1 Фрэнки
 
27.10.22
09:13
Написать еще одно расширение, которое будет искать ошибки подключения остальных расширений.
И рано или поздно уже это расширение тоже отвалится.
2 TDI
 
27.10.22
09:17
ну есть же какой то ЖБ способ ?
3 Мимохожий Однако
 
27.10.22
09:27
(2) расшифруй ЖБ
4 TDI
 
27.10.22
09:30
железо-бетонный
5 Мимохожий Однако
 
27.10.22
09:33
(1) или внести изменения в конфигурации при запуске
6 TDI
 
27.10.22
09:41
(5) могут при обновлении затереть
7 Фрэнки
 
27.10.22
09:50
(6) я же пишу в самом верху - расширение можно посадить. Но не факт, что оно долго проживет.
8 Smallrat
 
27.10.22
09:51
(0) Внешняя обработка, у которой будет расписание и которая будет вызывать метод расширения, в случае отвала расширения тушить клиентские сеансы или что-то типа.
9 Фрэнки
 
27.10.22
09:51
только я пока не видел, каким кодом проверить, что произвольное расширение активно, а не отключено.
10 PuhUfa
 
27.10.22
09:58
(9) В теории можно в Попытке обращаться, например, к объекту расширения и если объекта "нет" значит расширение не подключено. Но все это такое себе так как нужно это делать в другом расширении которое в свою очередь может быть не подключено -)
11 Фрэнки
 
27.10.22
10:04
(10) ну да.

В каждом расширении иметь объект с уникальным именем, например, константу.
Ну и Получать значение из этой константы. Не смог - значит оно не подключено.
12 Smallrat
 
27.10.22
10:30
(11) зачем константу? общий модуль, в нем экспортную функцию РасширениеПодключено() - вызов в попытке и всё
13 Фрэнки
 
27.10.22
10:34
(12) Уникальные имена нужны. А процедура это, функция или имя объекта уже не важно.
Т.е. если это через Общий модуль, тогда имя у него должно быть уникальное - для каждого расширения свое
14 ДедМорроз
 
27.10.22
10:36
Можно просто через метаданные посмотреть,есть ли расширение или нету.
А также можно перебрать расширения,но нужно где-то этот код разместить.
15 Курцвейл
 
27.10.22
10:47
(11) Лучше уж тогда завести Константу, где перечислены имя расширений которые д.б. быть подключенными. Если чего-то из списка нет, то не запускать.
16 Фрэнки
 
27.10.22
10:54
(15) Тут вопрос даже не в том, что конкретно лучше завести, а в том, _где_ это все заводить и _где_ код записывать, который будет эти все записи проверять.
17 lodger
 
27.10.22
13:03
(2) чтобы контролить технологию расширений, разумно воспользоваться предыдущей более простой технологией - внешними обработками.
поставь обработину на автозапуск у каждого юзера. на входе она проверяет критические расширения и тушит сеанс если есть проблемы.