Процедура ПриНачалеРаботыСистемы в расширении
Доброго времени дня коллеги !
Имеем: Розница 2.3, простенькая обработка (писал сам), которая запросом отбирает дни рождения
физ. лиц., по некоторым условиям, в цикле сравнивает ДеньРождения с ТекДатой и сообщает что-то там при нажатии на кнопку.
Все в полном порядке, но появилась необходимость запускать данную обработку при начале работы системы. Конфа не на поддержке, поэтому на ум пришло простое решение - запилить свой общий модуль, туда прикрутить свою процедурку обработки, сделать ее экспортной и вызвать через модуль приложения в процедуре ПриНачалеРаботыСистемы (так как код в модуле приложения компилируется исключительно на клиенте).
Но не хотелось бы портить себе карму ) Поэтому решил провернуть данный план через расширение и тут наткнулся на непонятку. В расширении, в модуле приложения, пишу свою процедуру ПриНачалеРаботыСистемы и в ней вызываю процедуру из созданного в расширении общего модуля.
И естественно получаю ошибку, что данная процедура уже определена. Логично.
Вопрос: Лопата есть. Куда копать ?
Имеем: Розница 2.3, простенькая обработка (писал сам), которая запросом отбирает дни рождения
физ. лиц., по некоторым условиям, в цикле сравнивает ДеньРождения с ТекДатой и сообщает что-то там при нажатии на кнопку.
Все в полном порядке, но появилась необходимость запускать данную обработку при начале работы системы. Конфа не на поддержке, поэтому на ум пришло простое решение - запилить свой общий модуль, туда прикрутить свою процедурку обработки, сделать ее экспортной и вызвать через модуль приложения в процедуре ПриНачалеРаботыСистемы (так как код в модуле приложения компилируется исключительно на клиенте).
Но не хотелось бы портить себе карму ) Поэтому решил провернуть данный план через расширение и тут наткнулся на непонятку. В расширении, в модуле приложения, пишу свою процедуру ПриНачалеРаботыСистемы и в ней вызываю процедуру из созданного в расширении общего модуля.
И естественно получаю ошибку, что данная процедура уже определена. Логично.
Вопрос: Лопата есть. Куда копать ?
По теме из базы знаний
- [Расширения] Управление видимостью разделов для разных пользователей
- Пример переноса справочников, документов и движений через Эксель и "Конвертацию данных 2" из оптовой учетной системы 1С 7.7 Комплексной 4.2 и розничной учетной системы Рарус Торговый комплекс -> в 1С 8.3 ЕРП 2.4 (расширение и дополнительные реквизиты)
- Программное создание расширения
- [ЕХТ] Фреймворк для Расширений 1С: Обработка событий: описание, примеры и демобаза.
- Поиск документов по регистрационному номеру 1С:ДО [Расширение]
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
В модуле приложения расширения должно быть что-то вроде
Однако, такую задачу лучше решать через регламентное задание, запускаемое один раз в день.
&После("ПриНачалеРаботыСистемы")
Процедура МояПроцедураПриНачалеРаботыСистемы
...
Однако, такую задачу лучше решать через регламентное задание, запускаемое один раз в день.
Здесь Расширение "Вышибала"
я делал так:
Модуль приложения:
Выш_ОбщийМодуль - "Сервер" и "Вызов сервера"
я делал так:
Модуль приложения:
&После("ПриНачалеРаботыСистемы")
Процедура Выш_ПриНачалеРаботыСистемы()
Если Выш_ОбщийМодуль.ЭтоФайловаяБаза() Тогда
//Проверим заполненность настроек
ПроверитьНаличиеНастроекВышибалы();
//Если есть время закрытия Вышибим при входе
ЗакрытьТекСеансПользователя();
//Запустим задание "Вышибалы"
ПодключитьОбработчикОжиданияВышибалы();
Иначе
ПредупредитьЧтоНеРаботает();
КонецЕсли;
КонецПроцедуры
#Область Вышибала
//Проверка и начальное заполнение настроек
Процедура ПроверитьНаличиеНастроекВышибалы() ЭКСПОРТ
Выш_ОбщийМодуль.ПроверитьЗаполненностьСправочникаНастроек();
КонецПроцедуры
//Подключение обработчика ожидания
Процедура ПодключитьОбработчикОжиданияВышибалы() ЭКСПОРТ
ИнтервалПроверкиВышибалы = Выш_ОбщийМодуль.ПолучитьВремяПроверкиВышибания();
Если ИнтервалПроверкиВышибалы > 0 Тогда
ПодключитьОбработчикОжидания("ОбработчикОжиданияВышибалы", ИнтервалПроверкиВышибалы);
Иначе
ОтключитьОбработчикОжидания("ОбработчикОжиданияВышибалы");
КонецЕсли;
КонецПроцедуры
ПоказатьВыш_ОбщийМодуль - "Сервер" и "Вызов сервера"
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот