Вызов функция и процедур из общего модуля в модуле управл. приложения:
Процедура ПриНачалеРаботыСистемы() Если ОповещениеПользователей.ИспользоватьОповещениеОсновыхЗадачах() Тогда ИнтервалОпроса = ОповещениеПользователей.ИнтервалОпросаОНовыхЗадачах(); Если НЕ ИнтервалОпроса = 0 Тогда ПодключитьОбработчикОжидания("ПроверитьЗадачиПользователя", ИнтервалОпроса); КонецЕсли; КонецЕсли; КонецПроцедуры
&НаКлиенте Процедура ПроверитьЗадачиПользователя() Экспорт Если ОповещениеПользователей.ЕстьНовыеЗадачи() Тогда ПоказатьОповещениеПользователя(НСтр("ru = '1С Документооборот'; uk = '1С Документообіг'"),, НСТр("ru = 'У Вас появились новые задачи!!'; uk = 'У Вас з''явились нові задачі!!'"), БиблиотекаКартинок.Информация32); ОповещениеПользователей.ОчиститьОповещенияОЗадачах(); КонецЕсли; КонецПроцедуры // ПроверитьНапоминанияПользователя()
Ошибки: {МодульУправляемогоПриложения(120,7)}: Переменная не определена (ОповещениеПользователей) Если <<?>>ОповещениеПользователей.ИспользоватьОповещениеОсновыхЗадачах() Тогда (Проверка: Тонкий клиент) {МодульУправляемогоПриложения(121,20)}: Переменная не определена (ОповещениеПользователей) ИнтервалОпроса = <<?>>ОповещениеПользователей.ИнтервалОпросаОНовыхЗадачах(); (Проверка: Тонкий клиент) {МодульУправляемогоПриложения(130,7)}: Переменная не определена (ОповещениеПользователей) Если <<?>>ОповещениеПользователей.ЕстьНовыеЗадачи() Тогда (Проверка: Тонкий клиент) {МодульУправляемогоПриложения(132,3)}: Переменная не определена (ОповещениеПользователей) <<?>>ОповещениеПользователей.ОчиститьОповещенияОЗадачах(); (Проверка: Тонкий клиент)
Почему переменная не определена? Я не понимаю.... В 1С не специалист, учусь!
Про1С-ник
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0
Цитата(kosalex @ 04.07.13, 9:59)
Почему переменная не определена?
Потому, что модуль, процедуры которого вызываете, не доступен с Клиента. Вам необходимо составить и разместить процедуры для модуля со свойством "Клиент"
Личные бесплатные консультации не даю, для этого есть форум!
Потому, что модуль, процедуры которого вызываете, не доступен с Клиента. Вам необходимо составить и разместить процедуры для модуля со свойством "Клиент"
Если ОповещениеПользователей.ИспользоватьОповещениеОсновыхЗадачах() Тогда ИнтервалОпроса = ОповещениеПользователей.ИнтервалОпросаОНовыхЗадачах(); Если НЕ ИнтервалОпроса = 0 Тогда ПодключитьОбработчикОжидания("ПроверитьЗадачиПользователя", ИнтервалОпроса); КонецЕсли; КонецЕсли;
Если ОповещениеПользователей.ЕстьНовыеЗадачи() Тогда ПоказатьОповещениеПользователя(НСтр("ru = '1С Документооборот'; uk = '1С Документообіг'"),, НСТр("ru = 'У Вас появились новые задачи!!'; uk = 'У Вас з''явились нові задачі!!'"),БиблиотекаКартинок.Информация32); ОповещениеПользователей.ОчиститьОповещенияОЗадачах(); КонецЕсли;
Про1С-ник
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0
Цитата(kosalex @ 04.07.13, 10:29)
ошибка та же
Значит вы используете серверные методы в клиентских процедурах. Например код приведенный выше, если я правильно понимаю взят из Модуля управляемого приложения - процедуры &НаСервере работать в нем не будут.
Личные бесплатные консультации не даю, для этого есть форум!
ЗДРАВСТВУЙТЕ. Получилось написать это оповещение когда у пользователя появляются задачи.
Осталось только одно НО. Когда показывается сообщение "У Вас есть новые задачи" и проиграыется звук. То сообщение остаётся на экране, чрез 5 сек опять вылазит сообщение и проигрывается звук. Подскажите как сделать чтобы сообщение вылазило только раз, а звук проигрывался каждые 5 сек,пока пользователь не закроет сообщение??
Процедура ПриНачалеРаботыСистемы() ИнтервалОпроса = 5; Если НЕ ИнтервалОпроса = 0 Тогда ПодключитьОбработчикОжидания("ПроверитьЗадачиПользователя", ИнтервалОпроса); КонецЕсли; КонецПроцедуры
Есть функция в общем модуле, которая должна вызываться из модуля управляемого приложения: УПРАВЛ. ПРИЛОЖЕНИЕ:
&НаКлиенте Процедура ПроверитьЗадачиПользователя() Экспорт Если ОповещениеПользователей.ЕстьНовыеЗадачи() Тогда Сигнал(); Если НЕ ФормаОповещенияОткрыта Тогда ОткрытьФормуМодально("ОбщаяФорма.ОповещениеПользователяНовыеЗадачи"); ОповещениеПользователей.ОчиститьОповещенияОЗадачах(); КонецЕсли; КонецЕсли;
СВОЙСТВА ОБЩЕГО МОДУЛЯ(отмечены): Сервер Вызов сервера Повторное использование возвращаемых значений = на время сеанса
Почему не вызывается функция с общего модуля
ЕстьНовыеЗадачи()
!
Правила: 13
Если в общем модуле включить ещё и Клиент(управл.приложение), то возникает ошибка: {МодульУправляемогоПриложения(134)}: Метод объекта не обнаружен (ЕстьНовыеЗадачи) Если ОповещениеПользователей.ЕстьНовыеЗадачи() Тогда
Про1С-ник
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0
kosalex, Зачем Вы страдаете фигней? Открывайте форму на старте, а уже ПриСозданииНаСервере формы проверяйте выводить туда что-то или нет, если нет или форма открыта - делайте отказ открытия, там же очищайте, и все. Делайте все в этой форме, а из модуля упр.прил только вызывайте открытие этой формы.
Личные бесплатные консультации не даю, для этого есть форум!
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!