1с управляемые формы при закрытии завершение работы.

Для успешного выполнения резервного копирования в информационной базе не должно быть активных сеансов пользователей. Чтобы автоматически завершить работу пользователей перед выполнением бэкапа в программе предусмотрен соответствующий механизм.
Для настройки завершения работы пользователей 1С:Предприятия перейдите на закладку « .

Важно: в бесплатной редакции программы не реализован данный функционал. В момент запуска резервного копирования пользователям необходимо покинуть базу 1С:Предприятия, иначе выгрузка базы не произойдет.

Установите флаг . Из выпадающего меню выберете один из вариантов: «Завершить сеансы на сервере 1С:Предприятия» или .

В случае выбора « Завершить сеансы на сервере 1С:Предприятие» - отключение пользователей происходит путем принудительного завершения сеансов на сервере 1С:Предприятия. Этот вариант подходит только для клиент-серверных баз 1С:Предприятия.

Если Вы изменяли стандартные настройки сервера 1С, возможно потребуется изменить параметры, которые идут ниже.
Установите флаг , если в кластере 1С:Предприятия создан пользователь «Администратор кластера». Заполните поля: «Имя администратора кластера:» и «Пароль администратора кластера:» .

Важно: не путайте данного пользователя с пользователем базы 1С:Предприятия и пользователем « Администратор центрального сервера» .

В консоли сервера 1С:Предприятия администраторы кластера расположены по следующему пути: «Console Root» - «1C:Enterprise 8.3 Central Servers» - «(*)имя компьютера» - «Кластеры» - «Локальный кластер» - «Администраторы»

Установите флаг «Используется не стандартный порт агента сервера» , если порт подключения к Агенту сервера отличный от стандартного.

Заполните поле «Порт агента сервера» . Порт подключения к агенту сервера 1С:Предприятия по умолчанию - 1540.

Для определения порта агента сервера зайдите в Сервер 1С и при клике правой кнопкой мыши на имя компьютера из выпадающего меню выберете «Свойства» - - «IP порт» .

В случае выбора

— отключение пользователей происходит путем вызова встроенного в типовые конфигурации механизма завершения работы пользователей. Данный механизм основан на использовании процедуры «Блокировка установки соединений с информационной базой».

Алгоритм выполнения следующий:

  • Запуск завершения работы пользователей;
  • Запуск выполнения задачи (архивирование, тестирование и исправление и т.д.);
  • Запуск разрешения работы пользователей.

Возможно Вас заинтересует:

При написании программ нередко возникает необходимость выполнить какие-либо действия при запуске или завершении работы программы. С «обычными» программами в этом случае всё просто. Необходимо обработать соответствующие события или поместить необходимый код перед загрузкой главного окна или отображением консольного «интерфейса».

Но, что делать в случае с 1С? Если в 1С Предприятие подобный функционал?

В 1С есть возможность выполнения кода при запуске и остановке приложения. Она реализована в виде специальных событий обработка которых доступна в модуле управляемого приложения.

  • ПередНачаломРаботыСистемы
    1С Предприятие запускается, но рабочее окно конфигурации, ещё не появилось на экране;
  • ПриНачалеРаботыСистемы
    Приложение уже запущено;
  • ПередЗавершениемРаботыСистемы
    Событие возникает перед началом процесса завершения работы приложения. Рабочее окно ещё отображается на экране;
  • ПриЗавершенииРаботыСистемы
    Рабочее окно уже закрылось и выполняются заключительные действия перед полным завершением работы.

Если в режиме конфигуратора щёлкнуть правой кнопкой мыши на корне конфигурации и выбрать в открывшемся меню пункт «Открыть модуль управляемого приложения», откроется стандартное окно для редактирования кода, в котором содержится код вышеназванного модуля.

Для обработки требуемых событий в модуле управляемого приложения нужно описать соответствующие процедуры, как это показано в примере ниже:

1С (Код)

Процедура ПередНачаломРаботыСистемы(Отказ) // Делаем что-то КонецПроцедуры Процедура ПриНачалеРаботыСистемы() // Делаем что-то КонецПроцедуры Процедура ПередЗавершениемРаботыСистемы(Отказ) // Делаем что-то КонецПроцедуры Процедура ПриЗавершенииРаботыСистемы() // Делаем что-то КонецПроцедуры

Обратите внимание!

Имена процедур должны строго соответствовать названиям тех событий, которые они обрабатывают.

Процедура ПередЗавершениемРаботыСистемы принимает единственный параметр – «Отказ» (булево, значение по умолчанию «ложь»). Этот параметр определяет отмену завершения работы конфигурации. То есть, если перед завершением работы выполняются некоторые проверки и их результаты неудовлетворительны, можно отменить завершение работы просто присвоив параметру «Отказ» значение «истина».

Параметр «Отказ» в процедуре ПередНачаломРаботыСистемы, имеет аналогичное назначение. Если ему присвоить значение «истина», приложение просто не запустится.

Таким образом можно не только выполнять нужные действия, но и управлять самим процессом запуска и завершения работы.

Ограничения

  • Весь код размещённый в модуле управляемого приложения работает только на стороне клиента. Поэтому, если при обработке вышеперечисленных событий необходимо обратиться к серверу, то для этих целей следует создать отдельный общий модуль и установить в его настройках работу на стороне сервера и доступность для вызова сервера на стороне клиента (то есть в свойствах установить флажки «Сервер» и «Вызов сервера»).
  • Также не рекомендуется при запуске и завершении приложения выполнять громоздкие операции. И дело здесь не только в увеличении времени обработки событий вследствие больших объёмов данных или сложности алгоритмов. Модуль управляемого приложения компилируется при запуске программы. Поэтому, чем больше он загружен функционалом, тем дольше приложение будет запускаться.
    Подобные операции лучше выполнять по запросу во время работы или в регламентных заданиях.

Вопрос: Серверные методы при завершении работы запрещены


Есть типовая БП 3.0.44.94. Запускается внешняя обработка по меню "Файл\Открыть". При завершении работы БП, если не закрыть ее, выдается "Серверные методы...запрещены", что, как минимум некомфортно)))) Или это чем-то чревато и для базы данных? Изменения могу внести в обработку, но какие?

Ответ:

nomad_irk сказал(а):

Так косяк из-за обработки, по вашим словам.......

Нажмите, чтобы раскрыть...

Вы правы. Обработка не адаптирована к новому релизу\методам. Исправлять надо ее, согласен. Обработка закрывается успешно, а программа с предупреждением. Ссылку, посмотрю попозже, спасибо. Проблема снимается, если просто вспомнить перед закрытием БП об открытой обработке (вопрос привычки)), но это не всегда получается,особенно если открыто множество вкладок\окон... Я предполагал найти простое решение, или оценку риска.... Обработка в базу ничего не записывает, это только ярлыки на внешние обработки на жестком диске. Но для опыта, можно, конечно, и раскрутить\исправить сабж....))))

Вопрос: Серверный вызов при завершении работы 1с.


добрего.
модуль управляемого приложения

мой модуль1- клиент(управляемое)

мой модуль 2 ХХХ_НВХ (сервер, вызов сервера)

ххх_нвх - серверный модуль.
нужно его вызвать при завершении работы управляемого приложения.
как обойти ограничение 1с на невозможность серверных вызовов при и перед завершением работы системы?

Режим совместимости не используется.
версия платформы 8.3.8 и выше

Ответ:

Сообщение от fsdfsgwergwrwh

Ребят все привет!
Это нововведение с какого года?
Просто где-то в видосе видел, что у человека получалось сделать серверный вызовы при завершении работы.

Не по теме:

всегда и работало, просто у ТС руки не из того места растут

Вопрос: не загружается 1с 8.3 после некорректного завершения работы


Добрый день! После некорректного завершения работы 1с предприятие 8.3 не загружается. После нажатия кнопки "1с предприятие" в окне запуска вроде бы начинается загрузка программы, но появляется окно "Ожидание запуска" с сообщением: "Начало сеанса с информационной базой запрещено". Подскажите, пожалуйста, что делать в этом случае?

Вопрос: Вариант запуска «Вызов серверного метода»


Приветствую.
Возникла проблема при Вызов серверного метода внешней обработки. Нужно к УТ11(типовая) подключить внешнюю обработку, которая должна вызываться кнопкой из док. Реализация и после обработка выполняет свои процедуры. Вн. обработка формы не имеет, все процедуры исполняются внутри модуля. На итс нашел пример но не могу осуществить. Может кто сталкивался, помогите плиз.

То что есть на итс:
Для глобальных отчетов и глобальных обработок реализовать экспортную процедуру ВыполнитьКоманду с параметрами ИдентификаторКоманды и ПараметрыВыполненияКоманды, где ПараметрыВыполненияКоманды – структура со свойством ДополнительнаяОбработкаСсылка (ссылка на элемент справочника ДополнительныеОтчетыИОбработки, который связан с данной дополнительной обработкой):

Процедура ВыполнитьКоманду(ИдентификаторКоманды, ПараметрыВыполненияКоманды) Экспорт  // Реализация логики команды Если ИдентификаторКоманды = ... Тогда ... ИначеЕсли ... КонецПроцедуры

Для назначаемых обработок типа «Создание связанных объектов» реализовать экспортную процедуру ВыполнитьКоманду с параметрами ИдентификаторКоманды, ОбъектыНазначения, СозданныеОбъекты и ПараметрыВыполненияКоманды:

Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначения, СозданныеОбъекты, ПараметрыВыполненияКоманды) Экспорт  // Реализация логики команды по созданию связанных объектов Если ИдентификаторКоманды = ... Тогда ... ИначеЕсли ... КонецПроцедуры

Ответ: смотри выше по документации, про функцию СведенияОВнешнейОбработке

Вопрос: метод ПриАктивизацииСтроки


Здравствуйте. В данном методе есть такая особенность, что в нём нельзя использовать серверные методы формы с директивой компиляции &НаСервере. Тогда вопрос, вот к примеру нужно выводить на форму текст из реквизита подчинённого справочника, данные, естественно, берутся из сервера, но если я их буду брать в данном методе, то идёт зацикливание и в дальнейшем вылет из программы. Как решать это? Пробовал и запросом и напрямую, всё равно зацикливается и никак не получается получить нужный объект

Ответ:

Сообщение от Александр321321

Я просто не понял как мне это поможет

Вы можете вывести состояние паспорта в отдельную колонку списка. Либо я изначально неправильно вас понял.

Всегда есть некрасивый вариант превратить вашу серверную контекстную процедуру во внеконтекстную серверную функцию, которая на входе получает ссылку на основной справочник, а возвращает состояние паспорта.

Вопрос: v7: +FormEx - крах при завершении работы


Win7(x64) а также терминальный клиент / вирт в WinServ2008r2(x64).
на выходе из 1с вываливается окно "Прекращена работа программы...":
- Имя события проблемы: APPCRASH - Имя приложения: 1 cv7.exe - Версия приложения: 7 .70 .0 .27 - Имя модуля с ошибкой: ntdll.dll в принципе бы оно и ничего - но если это во встроенной вирт.машине (или в терм.сессии) - 1с остается висеть, а пользователь спокойно уходит.. в результате приходится руками чистить (и монопольный запуск блокируется).
кто-нибудь сталкивался? если да - решил ли и если да - то как?
заранееблагодаренивсётакоэ.

Ответ: Понял, спсб

Вопрос: В тонком клиенте КаталогВременныхФайлов() выдаёт ошибку. Это синхронный метод?


Самописная простенькая конфигурация на управляемых формах. База серверная. Пользователи подключаются под тонким клиентом.
Делаю обработку по загрузке данных из Ексель файла, который находится в инете.
Пытаюсь сохранить этот файл в каталог временных файлов на клиенте.

В процедуре &НаКлиенте пишу КаталогВременныхФайлов(). Дает ошибку "Использование синхронных методов на клиенте запрещено"
Под толстым клиентом работает, под тонким не работает.
Хотя в синтакс помошнике написано что метод доступен и в тонком клиенте тоже.
Что не так делаю?


Можно ли как-нибудь выяснить была ли программа закрыта аварийно?
К примеру, ИБ запущена файлово по сети вторым пользователем. Выключили главный компьютер, на котором расположена ИБ. Программа завершена аварийно. Можно ли это увидеть?

Ответ: cfl заменятся при следующем запуске и удалятся, если след. завершение пройдет удачно.
Остается ЖР.
Но там программно не отследить. Смотрим только где есть начало сеанса и нет окончания...

Вопрос: Ошибка при работе с регулярными выражениями


Добрый день.
После перевода БП на платформу 8.3.10.2580 стала появляться ошибка при открытии внешней обработки. Обработка простая - 6 полей ввода, 4 кнопки, никаких дендрограмм и прочих излишеств.
Ошибка при работе с регулярными выражениями. Код ошибки - 10301 (U_REGEX_RULE_SYNTAX)*

"В режиме 1С:Предприятия при выполнении любого опасного действия происходит ошибка

Ошибка при работе с регулярными выражениями. Код ошибки -10301 (U_REGEX_RULE_SYNTAX)

и аварийное завершение работы, если в файле conf.cfg указано некорректное значение, например *, параметра DisableUnsafeActionProtection."

Но написано также: "Исправлена: "Технологическая платформа", версия 8.3.8.2442"

Есть еще у кого такая ошибка?
И подскажите в каком именно файле надо исправить параметр DisableUnsafeActionProtection, везде облазил нигде не нашел.

Ответ: нда снял галочку у пользователя "Защита от опасных действий" ошибка исчезла.