Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Notifier: 1С сообщения в трее 2 страниц V   1 2 >          
Vofka Подменю пользователя
сообщение 20.06.13, 16:44
Сообщение #1

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Внешняя компонента позволяет запускать сообщения в трее Windows.

Подключается компонента стандартным способом:

Если Компонента = Неопределено Тогда
    Если Не ПодключитьВнешнююКомпоненту("AddIn.Notifier") Тогда // исправлено с Pro1c.Notifier
        Предупреждение("Не удалось загрузить компоненту");
        Отказ = Истина;
    КонецЕсли;
    
    Попытка
        Компонента = Новый("AddIn.Notifier");
    Исключение
        Отказ = Истина;
    КонецПопытки;
КонецЕсли;


Использовать её очень просто, компонента имеет всего 3 метода:

  1. Компонента.Create(ПутьКИконке);

    Метод ничего не возвращает. Создает в трее значок с иконкой, путь к которой передается в параметре метода. Иконка должна быть в формате .ico. Вызывать метод надо полюбому, после создания объекта компоненты.

  2. Компонента.Show(Заголовок, Сообщение, Значок);

    Метод ничего не возвращает. Суть первых двух параметров должна быть понятна по наименованию.
    Третий параметр может принимать значения от 0 до 3. 0 - нет значка, 1 - значок сведений, 2 - значок предупреждения, 3 - значок ошибки;

  3. Компонента.Remove();

    Ничего не возвращает, ничего не принимает. Уберает значок из трея. Можно вызвать метод, если значок мешает. Если метод не вызвать - то значок пропадет из трея после закрытия 1С.


Собственно все. Где применить можно?
- в тех же типовых с торговым функционалом есть такая вещь, как напоминания о задачах. Все ничего, но вот, если 1С свернута - тогда "до свидания". Но вооружившись Notifier-ом - это теперь не проблема и пользователь всеравно увидит сообщение;
- есть у вас механизм согласования каких-то документов, например, заявок на расходование денежных средств. Для того, чтобы пользователи оперативно реагировали на новые поступившие заявки - покажите им уведомление;
- в 1С происходит работа с почтой? Замечательно! Подайте пользователю маячок о том, что пришла новая корреспонденция;

Прикрепленный файл  1.png ( 33,73 килобайт ) Кол-во скачиваний: 68


Ещё есть такой момент: если пользователь не за компьютером, а сообщение ему было отправлено - то оно не исчезнет, а как верный пёс будет ждать, пока пользователь проявит активность на компьютере и только после этого начнет исчезать.

В общем, применение можно найти очень во многом. Не ограничивайте фантазию smile.gif .

В приложении в архиве находятся:
- сама компонента
- бат-файл, который поможет зарегистрировать компоненту в системе. Единственное что - это надо в него зайти и прописать в 6 строчке путь к компоненте. Можно обойтись и без батника, а зарегать с помощью regasm-а

Компонента работает в тонком и толстом клиенте. Работоспособность проверялась на Windows 7 с присутствующим .Net Framework 4. По идее будет работать на .Net Framework начиная с 3.5. Касаемо оси, я думаю, что и на XP пойдет.

Если, вдруг, появятся какие-то вопросы - спрашивайте.

Скачать 32542460.gif : Прикрепленный файл  Notifier.zip ( 5,14 килобайт ) Кол-во скачиваний: 54


ПС. Я лично не проверял, но, по идее, компонента должна работать не только из-под 1С 8.1, 8.2, а и из-под 1С 7.7. Если кто-то проверит и отпишет - будет хорошо smile.gif .

//********************************************************************

26.06.13

Сделал версию 1.1. Добавлено:
- в метод Show() добавлен 4-й параметр типа строка. Для чего он - читайте ниже.
- теперь в методе Show() последние 2 параметра не обязательные. По умолчанию они буду, соответственно, 0 и пустая строка
- самое интересное и, собственно, почему вышла версия 1.1. В методе Show(), как было сказано выше, добавлен 4-й параметр типа строка и метод может выглядеть так:
Компонента.Show(Заголовок, Сообщение, Значок, Данные);

Если пользователь счелкнет по всплывающему сообщению, то в 1С это действие можно будет обработать в методе
ВнешнееСобытие(Источник, Событие, Данные)

В Источник попадет строка Notifier, событие Click, а Данные - это наш 4-й параметр метода Show(). Зачем все это? Я приследовал такую цель: например, в данные можно сериализовать (ЗначениеВСТрокуВнутр()) что угодно, например, какой-то документ, далее передать его компоненте и в обработчике клика можно будет получить этот документ (как ЗначениеИзСтрокиВнутр()) и сделать с ним в 1С все, что угодно, например, открыть его, открыть журнал и спозиционироваться на нем и т.п.
Примечание: ВнешнееСобытие возникнет только, если в данные было передано что-то (не пустая строка).

В общем, пользуйтесь smile.gif .

Скачать версию 1.1: http://pro1c.org.ua/index.php?s=&showt...ost&p=71025

//********************************************************************

05.07.2013

Сделал версию 1.2.

В новой версии добавле новый метод
Компонента.Activate1C(ЗаголовокСистемы);

В параметре передается строка, которая содержит заголовок текущей системы 1С. Получить эту информацию можно функцией встроенного языка ПолучитьЗаголовокСистемы(). Т.е. Вызов данного метода всегда имеет смысл делать только так:
Компонента.Activate1C(ПолучитьЗаголовокСистемы());

При вызове метода будет показано окно 1С с разворотом на весь экран.

Так же добавлено 2 новых события, которые можно обработать в обработке внешнего события: FileNotFound и 1CNotFound. Их назначение покажу на примере:

Процедура ВнешнееСобытие(Источник, Событие, Данные)
    Если Источник = "Notifier" Тогда
        Если Событие = "1CNotFound" Тогда
            Сообщить("Не найдена запущеная 1С-ка "+Данные);
        ИначеЕсли Событие = "FileNotFound" Тогда
            Сообщить(Данные);
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры


Прикладываю новую версию и демонстрационную обработку, написанную под УТ 2.3, которая мониторит задачи и уведомляет пользователя о таковых.

Скачать Notifier 1.2: Прикрепленный файл  Notifier_1.2.zip ( 5,87 килобайт ) Кол-во скачиваний: 232

Скачать демонстрационную обработку: Прикрепленный файл  Pro1CNotifierDemonstration.zip ( 4,91 килобайт ) Кол-во скачиваний: 191


Отдельно ещё выкладываю bat-файл для регистрации компоненты: Прикрепленный файл  RegAddIn.zip ( 310 байт ) Кол-во скачиваний: 146

Для регистрации нужно либо положить компоненту в корень диска C, либо поменять путь в батнике. Запускать батник нужно от имени администратор.

Сообщение отредактировал Vofka - 23.02.14, 12:16


Vofka Подменю пользователя
сообщение 26.06.13, 9:39
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Сделал версию 1.1. Добавлено:
- в метод Show() добавлен 4-й параметр типа строка. Для чего он - читайте ниже.
- теперь в методе Show() последние 2 параметра не обязательные. По умолчанию они буду, соответственно, 0 и пустая строка
- самое интересное и, собственно, почему вышла версия 1.1. В методе Show(), как было сказано выше, добавлен 4-й параметр типа строка и метод может выглядеть так:
Компонента.Show(Заголовок, Сообщение, Значок, Данные);

Если пользователь счелкнет по всплывающему сообщению, то в 1С это действие можно будет обработать в методе
ВнешнееСобытие(Источник, Событие, Данные)

В Источник попадет строка Notifier, событие Click, а Данные - это наш 4-й параметр метода Show(). Зачем все это? Я приследовал такую цель: например, в данные можно сериализовать (ЗначениеВСТрокуВнутр()) что угодно, например, какой-то документ, далее передать его компоненте и в обработчике клика можно будет получить этот документ (как ЗначениеИзСтрокиВнутр()) и сделать с ним в 1С все, что угодно, например, открыть его, открыть журнал и спозиционироваться на нем и т.п.
Примечание: ВнешнееСобытие возникнет только, если в данные было передано что-то (не пустая строка).

В общем, пользуйтесь smile.gif .

Скачать версию 1.1: Прикрепленный файл  Notifier_v1.1.zip ( 4,98 килобайт ) Кол-во скачиваний: 90


Сообщение отредактировал Vofka - 26.06.13, 9:41

Спасибо сказали: logist,

Acid Подменю пользователя
сообщение 26.06.13, 10:20
Сообщение #3

Про1С-ник
Иконка группы
За заслуги на форуме в 2010 году
Группа: Местный
Сообщений: 2104
Из: Занзибар
Спасибо сказали: 377 раз
Рейтинг: 260.7

после клика на напоминалке значек из трэя исчезнет?


Signature

Документируйте Код! мать вашу...


Vofka Подменю пользователя
сообщение 26.06.13, 10:24
Сообщение #4

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Цитата(Acid @ 26.06.13, 11:20) *
после клика на напоминалке значек из трэя исчезнет?

Сам по себе нет. Если надо, чтобы исчез - метод Remove() вам в помощь smile.gif .

Zink Подменю пользователя
сообщение 26.06.13, 11:48
Сообщение #5

Общительный
**
Группа: Пользователи
Сообщений: 23
Спасибо сказали: 0 раз
Рейтинг: 0

А пароль к архиву(ам) сколько стоит ?

Vofka Подменю пользователя
сообщение 26.06.13, 11:51
Сообщение #6

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Zink, не дорого. Надо всего лишь ознакомиться с правилами форума wink.gif .

Спасибо сказали: Zink,

Zink Подменю пользователя
сообщение 26.06.13, 12:09
Сообщение #7

Общительный
**
Группа: Пользователи
Сообщений: 23
Спасибо сказали: 0 раз
Рейтинг: 0

Спасибо, давно не был подзабыл !

Acid Подменю пользователя
сообщение 27.06.13, 8:12
Сообщение #8

Про1С-ник
Иконка группы
За заслуги на форуме в 2010 году
Группа: Местный
Сообщений: 2104
Из: Занзибар
Спасибо сказали: 377 раз
Рейтинг: 260.7

Цитата(Zink @ 26.06.13, 12:48) *
А пароль к архиву(ам) сколько стоит ?

Я за пару бутылок пива продам! rulez.gif


Signature

Документируйте Код! мать вашу...


Vofka Подменю пользователя
сообщение 05.07.13, 9:23
Сообщение #9

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Сделана версия компоненты 1.2. Первый пост обновлен.

irbis_triffle Подменю пользователя
сообщение 02.08.13, 0:10
Сообщение #10

Общительный
**
Группа: Пользователи
Сообщений: 40
Спасибо сказали: 7 раз
Рейтинг: 0

Всем доброй ночи.
Простите, может я туплю, но у меня dll не регистрируется посредством regsvr32, т.к. "...Точка входа не найдена..." - во всем описании я не нашел ни слова об архитектуре - библиотека скомпилирована под 32-разрядную систему? (у меня х64)
Заранее благодарен за ответ.

Vofka Подменю пользователя
сообщение 02.08.13, 7:57
Сообщение #11

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

irbis_triffle, должно работать и на х86 и на х64. Но я проверял работоспособность именно на Windows 7 х64. Регистрируете с админскими правами?

Сообщение отредактировал Vofka - 02.08.13, 8:03

irbis_triffle Подменю пользователя
сообщение 02.08.13, 12:14
Сообщение #12

Общительный
**
Группа: Пользователи
Сообщений: 40
Спасибо сказали: 7 раз
Рейтинг: 0

Цитата(Vofka @ 02.08.13, 8:57) *
irbis_triffle, должно работать и на х86 и на х64. Но я проверял работоспособность именно на Windows 7 х64. Регистрируете с админскими правами?

Да, все от администратора.
Результат на Win2k8R2-x64:

Результат WinXp-x32:


upset.gif upset.gif upset.gif

Vofka Подменю пользователя
сообщение 02.08.13, 13:23
Сообщение #13

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

irbis_triffle, .Net Framework 4 стоит?

Добавлю ещё: попробуйте зарегистрировать компоненту с корня какого-то диска.

Добавлю ещё ещё: тю, ёлы палы, для кого я файл RegAddIn.bat приложил?

Сообщение отредактировал Vofka - 02.08.13, 13:24

Спасибо сказали: irbis_triffle,

irbis_triffle Подменю пользователя
сообщение 02.08.13, 14:43
Сообщение #14

Общительный
**
Группа: Пользователи
Сообщений: 40
Спасибо сказали: 7 раз
Рейтинг: 0

Цитата(Vofka @ 02.08.13, 14:23) *
irbis_triffle, .Net Framework 4 стоит?

Добавлю ещё: попробуйте зарегистрировать компоненту с корня какого-то диска.

Добавлю ещё ещё: тю, ёлы палы, для кого я файл RegAddIn.bat приложил?


Net4 стоит.
С корня тоже не работает.
Ой... я думал он только для первой версии (в архиве со второй его нет). Вот что оно ответило, кажется все в порядке? Но 1с при запуске тестовой обработки говорит "Не удалось зарегистрировать компоненту" (((

Vofka Подменю пользователя
сообщение 14.08.13, 15:51
Сообщение #15

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Долго не отвечал не потому, что просто включил игнор, а потому что не было когда разбираться. Вот дошли руки. Если 1С пишет "Не удалось зарегистрировать компоненту" попробуйте вместо строки

Если Не ПодключитьВнешнююКомпоненту("Pro1C.Notifier") Тогда


написать

Если Не ПодключитьВнешнююКомпоненту("AddIn.Notifier") Тогда


Сообщение отредактировал Vofka - 14.08.13, 15:53

Спасибо сказали: irbis_triffle,

irbis_triffle Подменю пользователя
сообщение 21.08.13, 12:41
Сообщение #16

Общительный
**
Группа: Пользователи
Сообщений: 40
Спасибо сказали: 7 раз
Рейтинг: 0

Цитата(Vofka @ 14.08.13, 16:51) *
Долго не отвечал не потому, что просто включил игнор, а потому что не было когда разбираться. Вот дошли руки. Если 1С пишет "Не удалось зарегистрировать компоненту" попробуйте вместо строки

Если Не ПодключитьВнешнююКомпоненту("Pro1C.Notifier") Тогда


написать

Если Не ПодключитьВнешнююКомпоненту("AddIn.Notifier") Тогда


Большое спасибо! Теперь заработало - буду разбираться с тонкостями!!!
PS прекрасная идея!

Vofka Подменю пользователя
сообщение 21.08.13, 13:06
Сообщение #17

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Спасибо! smile.gif

Fantasisto Подменю пользователя
сообщение 14.11.13, 11:35
Сообщение #18

Молчаливый
*
Группа: Пользователи
Сообщений: 2
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Vofka @ 20.06.13, 16:44) *
В новой версии добавле новый метод
Компонента.Activate1C(ЗаголовокСистемы);

В параметре передается строка, которая содержит заголовок текущей системы 1С. Получить эту информацию можно функцией встроенного языка ПолучитьЗаголовокСистемы(). Т.е. Вызов данного метода всегда имеет смысл делать только так:
Компонента.Activate1C(ПолучитьЗаголовокСистемы());

При вызове метода будет показано окно 1С с разворотом на весь экран.


У меня платформа 8.3.3.721, база УНФ (управляемое приложение).
Там нет функции ПолучитьЗаголовокСистемы(), но есть функция ПолучитьЗаголовокКлиентскогоПриложения().
Она возвращает заголовок приложения, НО функция Activate1C() не открывает окно 1С и выдаётся сообщение, что 1С-ка не открыта.

Какое именно туда значение нужно передать, чтобы окно 1С открылось?

Спасибо.

З.Ы. Шикарная dll-ка!

Vofka Подменю пользователя
сообщение 14.11.13, 13:35
Сообщение #19

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

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

Fantasisto Подменю пользователя
сообщение 14.11.13, 14:41
Сообщение #20

Молчаливый
*
Группа: Пользователи
Сообщений: 2
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Vofka @ 14.11.13, 13:35) *
Fantasisto, если вы подготовите демо базу и демо обработку где это все можно посмотреть, я на следующей неделе постараюсь разобраться.

Я добился того, чтобы окно Активировалось.
НО если оно было свёрнуто, оно не разворачивается, хотя и становится активным.
Как сделать так, чтобы оно ещё и развернулось?
Пытаюсь работать с WshShell, но найти ничего там не могу...

Если же форму не сворачивать, то при активации она выходит на передний план.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


2 страниц V   1 2 >
Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 19:16
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!