Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
21 сен 2024, 14:38

Обращение к общему модулю из ПриНачалеРаботыСистемы()

Автор IgoryanYa, 29 окт 2018, 12:34

0 Пользователей и 2 гостей просматривают эту тему.

IgoryanYa

Всем привет. Уважаемые люди подскажите пожалуйста. Имею 1с Розницу 8.3. Задача простейшая. При входе в программу необходимо вывести сообщение о днях рождения клиентов. Я знаю что у модуля управляемого приложения есть процедура "ПриНачалеРаботыСистемы()" Понятно что если в конце процедуры прописать Сообщить("Например сегодня ДР у чувака") то при открытие программы я получу сообщение. Но что бы получить данные из базы я создал общий модуль "СообщитьОДняхРожденияКлиентов" и прописал там код



&НаКлиенте
Процедура СообщитьОДняхРожденияКлиентов()
Массив = СообщитьОДняхРожденияКлиентовНаСервере();
Для Каждого Строка из Массив Цикл
ПоказатьПредупреждение(,Строка);
КонецЦикла;
КонецПроцедуры

&НаСервере
Функция СообщитьОДняхРожденияКлиентовНаСервере()
Выборка = Справочники.Клиенты.Выбрать();
Массив = Новый Массив;
Пока Выборка.Следующий() Цикл
Если
Лев(Строка(Формат(Выборка.ДатаРождения,"ДЛФ=D")),5) = Лев(Строка(Формат(ТекущаяДата(),"ДЛФ=D")),5)
Тогда
Строка = ("Внимание!!! " + Выборка.Наименование + " праздрунет сегодня День Рождения !!!. Надо клиенту позвонить и поздравить !!!!!");
Массив.Добавить(Строка);
Сообщить(Строка);
КонецЕсли;
КонецЦикла;
Возврат Массив;
КонецФункции



Если например через внешнюю обработку запускать то все норм (ПоказатьПредупреждение использовал так для себя, знаю что можно Сообщить() с сервера), но вот как запустить мой модуль или процедуру из под процедуры ПриНачалеРаботыСистемы()???

Или может есть какой нибудь другой вариант?

wise

(0) в процедуре ПриНачалеРаботыСистемы
вызывай СВОЙ модуль:
СообщитьОДняхРожденияКлиентов.СообщитьОДняхРожденияКлиентов()

а в своём модуде ДОБАВЬ слово "Экспорт"
&НаКлиенте
Процедура СообщитьОДняхРожденияКлиентов() Экспорт
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

IgoryanYa

Цитата: wise от 29 окт 2018, 12:50
(0) в процедуре ПриНачалеРаботыСистемы
вызывай СВОЙ модуль:
СообщитьОДняхРожденияКлиентов.СообщитьОДняхРожденияКлиентов()

а в своём модуде ДОБАВЬ слово "Экспорт"
&НаКлиенте
Процедура СообщитьОДняхРожденияКлиентов() Экспорт




Теперь ругается на
{ОбщийМодуль.СообщитьОДняхРожденияКлиентов.Модуль(3,10)}: Процедура или функция с указанным именем не определена (СообщитьОДняхРожденияКлиентовНаСервере)
Массив = <<?>>СообщитьОДняхРожденияКлиентовНаСервере(); (Проверка: Тонкий клиент)


wise

(2)
Массив = СообщитьОДняхРожденияКлиентов.СообщитьОДняхРожденияКлиентовНаСервере();

...
&НаСервере
Функция СообщитьОДняхРожденияКлиентовНаСервере() Экспорт
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

IgoryanYa

Цитата: wise от 29 окт 2018, 13:24
(2)
Массив = СообщитьОДняхРожденияКлиентов.СообщитьОДняхРожденияКлиентовНаСервере();

...
&НаСервере
Функция СообщитьОДняхРожденияКлиентовНаСервере() Экспорт


Добрый человек, спасибо тебе огромное, все заработало

Теги: розница 

Похожие темы (5)

Рейтинг@Mail.ru

Поиск