Имя: Пароль:
1C
 
Как в 25 платформе попасть в процедуру ПередНачаломРаботыСистемы?
0 Lama12
 
25.06.24
13:29
Отладка на сервере включена. Процедура явно работает. Если из нее вызвать процедуру расположенную на сервере и поставить в ней точку останова, то точка отрабатывает.
Запуск производится из командной строки.
База в клиент-серверном варианте.
1 Волшебник
 
25.06.24
13:30
пишите всякую фигню в журнал регистрации
2 Gucci76
 
25.06.24
13:39
(0) А если точка сработает, то далее по F11 посмотреть куда перейдет после этой процедуры
3 Gucci76
 
25.06.24
13:40
Еще рекомендую РежимОтладки включить в Параметрах запуска конфигуратора
4 Lama12
 
25.06.24
14:54
(1) Запись в журнал регистрации в процедуре "ПередНачаломРаботысистемы" не доступен, т.к. это не клиент и не сервер.
(2) Никуда не переходит.
5 vis
 
25.06.24
14:58
(0)А что вы делаете в этой процедуре?
6 Lama12
 
25.06.24
15:00
(5) Нужно перезаписать справочники и закрыть приложение.
ЗавершитьРаботуСистемы(Ложь, Ложь) - вообще игнорируется, будто его нет. Код перед этой командой и после нее выполняется.
7 Волшебник
 
25.06.24
15:06
Вариант 1
ПередНачаломРаботыСистемы(Отказ)
   Отказ = Истина

Вариант 2
Довести до процедуры ПриНачалеРаботыСистемы и уже в ней
   ЗавершитьРаботуСистемы
8 Повелитель 1С
 
25.06.24
15:11
(6) Слабо себе представляю такой сценарий работы. Возможно, вместо этого можно сделать регламентное задание.

А вообще ПередНачаломРаботыСистемы можно установить Отказ = Истина.
9 unenu
 
25.06.24
15:12
(6) Главного окна еще нет, посему невозможно завершить то чего еще нет. Но можно отказаться начинать открытие главного окна.
10 Lama12
 
25.06.24
15:27
(7)В ERP и в Документообороте разработчики от 1С не используют параметр Отказ. Его даже в описании процедуры нет.
ПриНачалеРаботыСистемы открывает главное окно, и до него много чего с данными делает код от 1С.
(8) Ночная подготовка копии базы для поддержки и разработчиков. Замена контактной информации.
(9) К сожалению, отказаться тоже нет возможности, т.к. процедура объявлена без параметра Отмена.
11 Мультук
 
25.06.24
15:38
(6)

В УТ10 видел чудную рассылку отчетов.
Некоторые отчёты можно было построить только в режиме клиента.

Поэтому в регламентном задании данная рассылка для таких отчетов формировала внешнюю обработку,
запускала для нее отдельную 1С, обработку передавала как параметр

Обработка отрабатывала, рассылала отчёты и сама закрывала за собой клиента.


P.S.
Всё то же самое, но с примерами в виде статьи (не моё)

https://infostart.ru/1c/tools/120665/
12 Волшебник
 
25.06.24
15:53
(10) Объявите с параметром Отказ
13 Lama12
 
25.06.24
16:08
(12) Конфигурацию с поддержки снимать не хочется. Пока это последний вариант.
14 unenu
 
25.06.24
17:02
(13) если вытолкнуть метод в расширение и там определить параметр, то расширение будет выдавать ошибку?
15 Lama12
 
25.06.24
17:04
(14) Нет. Просто параметр не будет работать так как написано в документации, т.е. платформа на него не будет реагировать. Пробовал уже.
16 unenu
 
25.06.24
17:23
(15) Действительно, с После и Вместо при установке
Отказ = Истина
приложение открывает

а с ИзменениеИКонтроль валит приложение.
17 Eiffil123
 
25.06.24
17:41
(15) отказ есть в ПередНачаломРаботыСистемы.
В ПриНачалеРаботыСистемы такого параметра нет.

А так этот модуль должен исполняться на стороне клиента, так что опция отладки на сервере по идее и не нужна
18 Lama12
 
25.06.24
17:42
(16) Да. В демо-базе к платформе, поведение именно такое. При подобном вытаскивании процедуры в расширение, в конфигурации ДО выходит ошибка

Недопустимое значение аргумента функции
[bsl - src\bsl\src\BSLMeta.cpp (248)]


Подумал что это связано с режимом совместимости. В демо-базе платформы понизил режим совместимости до версии 8.3.21. ошибка не воспроизводится.
Полагаю, это как-то связано со сборкой конфигурации в EDT.

В общем грустно.
19 Волшебник
 
26.06.24
20:16
(18) Вы сами загнали себя в лабиринт. Выходите оттуда.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.