Информер 1С

11.10.11

База данных - Инструменты администратора БД

Клиент-серверное приложение для локальной сети, показывающее в трее текстовые сообщения.

Скачать файлы

Наименование Файл Версия Размер
Сервер информера
.exe 430,50Kb
30
.exe 430,50Kb 30 Скачать
Пример кода в 1с 8.2.txt
.txt 5,83Kb
42
.txt 5,83Kb 42 Скачать
conf.ini
.ini 0,10Kb
10
.ini 0,10Kb 10 Скачать
Клиент информера
.exe 425,00Kb
12
.exe 425,00Kb 12 Скачать

Что делает сервер Информера?

Сервер (malertsrv.exe) читает файлы сообщений в заданной папке (папка сообщений) и при обращении клиентов выдает им содержимое файлов. Клиенты отображают текст в трее.

Сервер устанавливается как сервис командой malertsrv.exe /install. Первый раз сервис запускаем вручную.

Настраивается файлом conf.ini, лежащим рядом с malertsrv.exe:

[SRV]
alertsPath=d:\malerts\
maxClientMessageSize=1024
scanInterval=5000
port=5000
verboseLog=0

где:

alertsPath - папка, где лежат файлы сообщений;
maxClientMessageSize - максимальный размер текстов для клиентов;
scanInterval - периодичность чтения файлов сообщений;
port - слушаемый порт, прописываем в брэндмауэре.

Каким образом происходит обмен с базами 1С?

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

С кода авторизации начинаются имена файлов сообщений в папке сообщений. Вторая половина имени файла сообщения (также 20 символов) - произвольный набор для уникальности имени в папке.

Сервер 1С:Предприятия (или клиент 1С:Предприятия в файловом варианте) периодически проверяет какой-нибудь "регистр сообщений пользователям", и пишет в папку сообщений файлы.

Как клиенты авторизуются на сервере?

Клиенты (MInformer.exe) конфигурируется файлом conf.ini следующего вида:

[CLIENT]
version=3
remotePort=5000
remoteHost=SERVER1C
authCode=e2-bb03-feffea104052
reconnectTimeout=1000
pathTo1C=""C:\Program Files\1cv82\8.2.12.87\bin\1cv8c.exe" /S"SERVER1C\doc""
search1CWindowTitle=CLIP

где:

remotePort, remoteHost - имя компьютера в сети, на котором работает серверная часть.
search1CWindowTitle
- заголовок окна программы, которая станет активной при двойном клике на значок Информера в трее.
pathTo1C - путь к базе, которая будет запущена по пункту меню "Открыть внутреннюю почту", если заголовок окна не найден в запущенных программах.

Conf.ini обязательно должен располагаться в той же папке, что и MInformer.exe. Например, в папке C:\Program Files\1cv82, или любой другой.

Как устанавливаются и настраиваются клиенты?

Клиента просто записываем и запускаем.

Главное - сформировать conf.ini.

Как тестировали, известные глюки

Серверная часть тестировалась на Windows Server 2003, 2008, клиентская - на Windows XP, Vista, 7.

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

См. также

Автоподбор ролей для профилей и групп доступа в любых типовых базах 1С УТ 11, КА 2, ERP2, Розница 2/3, УНФ 16/3, БП 3, ЗУП 3 и подобных (УФ, Платформа 8.3.14+)

Инструменты администратора БД Роли и права 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 15.12.2023, версия 1.1.

12000 руб.

06.12.2023    2976    13    1    

34

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 8000 руб.

10.11.2023    3531    11    1    

34

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

3600 2520 руб.

14.01.2013    177744    1073    0    

849

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    27378    79    146    

59

Система хранения присоединенных файлов в томах на диске

Инструменты администратора БД Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Платные (руб)

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    61317    88    59    

73

"Менеджер потоков 2.1": УПП: "Восстановление партий"

Инструменты администратора БД Платформа 1С v8.3 1С:Управление производственным предприятием Россия Бухгалтерский учет Управленческий учет Платные (руб)

Как оптимизировать то, что, считалось, не поддается оптимизации? Как повысить доступность базы данных? Как проводить самую «времяемкую» операцию не по паре раз в неделю, а по несколько раз в день*? Ответ есть!

20000 руб.

12.09.2019    11746    5    9    

7

Брандмауэр для сервера 1С Предприятие 8 - внешнее управление сеансами

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Управление возможностью начала и возобновления сеансов пользователей по различным условиям, ограничение общего числа возможных сеансов для работы с информационной базой, резервирование возможности работы с информационной базой определенных польззователей, запрет запуска нескольких сеансов для пользователя, журнализация событий начала (возобновления) и завершения (гибернации) сеансов, ведение списка активных сеансов для информационных баз кластера серверов

3600 руб.

06.02.2017    31110    31    18    

47

Хранилище файлов на SQL

Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Управленческий учет Платные (руб)

Привязка файлов / сканов к объектам 1С с сохранением их на SQL-сервере

12000 руб.

09.10.2019    10984    5    8    

9
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Alav 13 28.04.11 11:37 Сейчас в теме
Связь с сервером по IP? Т.е. когда все это в терминале работать будет?
2. skalistratov 16 30.04.11 15:32 Сейчас в теме
Связь по IP, но для отправки сообщений ip-адреса не используются.
Клиенты "тянут" сообщения у сервера.
Поэтому в терминале работать должно.
Проверял запуском 2 разных клиентов и сервера на одной машине.
Единственно хранить minformer.exe и conf.ini придется где-нибудь в %UserProfile%.
3. ive 3 28.10.11 16:35 Сейчас в теме
Было бы хорошо выводить во всплывающем окне текст из файла, чтобы пользователь сразу мог определить стоит ему срочно открывать почту или можно подождать.
4. skalistratov 16 28.10.11 16:45 Сейчас в теме
Во всплывающем окне выводится текст из файлов сообщений... Уточните ваш вопрос, пожалуйста.
5. ive 3 28.10.11 23:07 Сейчас в теме
спасибо, не дожидался появления сообщения, нажимал на мигающий значок.
6. evn-zorin 32 18.11.11 09:13 Сейчас в теме
Очень здорово! Удивительно почему так мало плюсов, исправляем!
7. skalistratov 16 18.11.11 09:40 Сейчас в теме
8. evn-zorin 32 18.11.11 11:51 Сейчас в теме
(7) посмотрел пример кода в 1С и недопонял, что за переменная ГАПСервер, как ею можно воспользоваться? И если вас не затруднит, не могли бы вы привести реальный пример работы файлом *.dt, буду очень признателен.
9. skalistratov 16 18.11.11 16:47 Сейчас в теме
dt-шника не заготовил, но ГАПсервер в примере это имя общего модуля, в котором лежат вспомогательные процедуры и функции (например, получение констант, связанных с информером).
Вот примеры процедур и функций:

//регламентная процедура, выгружает вспомогательный регистр сведений в файлы
Процедура СозданиеФайловОповещенийДляИнформера() Экспорт 

	УстановитьПривилегированныйРежим(Истина);
	КаталогСообщенийДляИнформера = Константы.КаталогСообщенийДляИнформера.Получить();
	
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ
	|	СообщенияИнформера.ДатаВремя,
	|	СообщенияИнформера.ИмяФайла,
	|	СообщенияИнформера.Сообщение
	|ИЗ
	|	РегистрСведений.СообщенияИнформера КАК СообщенияИнформера
	|ГДЕ
	|	СообщенияИнформера.Выгружено = ЛОЖЬ";
	ТЗ = Запрос.Выполнить().Выгрузить();
	
	Для Каждого Стр Из ТЗ Цикл
		СтатусЗаписи = Ложь;
		
		ИмяФайла = Стр.ИмяФайла;
		Дата = Формат(Стр.ДатаВремя,"ДФ='dd/MM/yy HH:mm'");
		Сообщение = Стр.Сообщение;
		
		ФайлСообщения = Новый ТекстовыйДокумент;
		ФайлСообщения.ДобавитьСтроку(""+Дата+" "+Сообщение);
		
		Попытка		
			ФайлСообщения.Записать(КаталогСообщенийДляИнформера+ИмяФайла, "windows-1251");
			СтатусЗаписи = Истина;
		Исключение
			СтатусЗаписи = Ложь;
		КонецПопытки;

		Если СтатусЗаписи  Тогда
			МЗ = РегистрыСведений.СообщенияИнформера.СоздатьМенеджерЗаписи();
			МЗ.ДатаВремя = Стр.ДатаВремя;
			МЗ.ИмяФайла = ИмяФайла;
			МЗ.Прочитать();
			МЗ.Выгружено = Истина;
			МЗ.Записать();
		КонецЕсли;		
	КонецЦикла;		
КонецПроцедуры

//ехе-шник хранится в общем макете 
Функция ФайлИнформера() Экспорт 
	Возврат ПолучитьОбщийМакет("Информер");
КонецФункции

Функция ПолучитьКодАвторизацииИнформера(Пользователь = Неопределено) Экспорт
	УстановитьПривилегированныйРежим(истина);
	Если Пользователь = Неопределено Тогда
		Пользователь = ПараметрыСеанса.ТекущийПользователь;
	КонецЕсли;
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ ПЕРВЫЕ 1
	|	КодыАвторизацииИнформера.КодАвторизации
	|ИЗ
	|	РегистрСведений.КодыАвторизацииИнформера КАК КодыАвторизацииИнформера
	|ГДЕ
	|	КодыАвторизацииИнформера.Пользователь = &Пользователь";
	Запрос.УстановитьПараметр("Пользователь",Пользователь);
	Рез = Запрос.Выполнить();
	Код = "";
	Если НЕ Рез.Пустой() Тогда
		Выборка = Рез.Выбрать();
		Выборка.Следующий();
		Код = ""+Выборка.КодАвторизации;
	КонецЕсли;
	УстановитьПривилегированныйРежим(Ложь);
	Возврат Код;	
КонецФункции

Функция ТекущаяВерсияИнформера() Экспорт
	Возврат Константы.ТекущаяВерсияИнформера.Получить();
КонецФункции

//удаляет файлы конкретного пользователя при открытии им задачи
Процедура УдалитьФайлыИнформераПоПользователюНаСервере(Пользователь) Экспорт
	УстановитьПривилегированныйРежим(Истина);
	Каталог = Константы.КаталогСообщенийДляИнформера.Получить();
	Код = ПолучитьКодАвторизацииИнформера(Пользователь);
	МФайлов = НайтиФайлы(Каталог,Код+"????????????????????");
	Для Каждого Ф Из МФайлов Цикл
		УдалитьФайлы(Ф.ПолноеИмя);
	КонецЦикла; 
КонецПроцедуры

// регламентная, удаляет старые файлы
Процедура УдалениеОповещенийИнформера() Экспорт
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ
	|	СообщенияИнформера.ДатаВремя,
	|	СообщенияИнформера.ИмяФайла,
	|	СообщенияИнформера.Сообщение,
	|	СообщенияИнформера.Выгружено,
	|	СообщенияИнформера.Пользователь
	|ИЗ
	|	РегистрСведений.СообщенияИнформера КАК СообщенияИнформера
	|ГДЕ
	|	СообщенияИнформера.ДатаВремя > &ДатаВремя";
	Запрос.УстановитьПараметр("ДатаВремя",ТекущаяДата()- 86400*3);
	МЗ = РегистрыСведений.СообщенияИнформера.СоздатьНаборЗаписей();
	МЗ.Загрузить(Запрос.Выполнить().Выгрузить());
	МЗ.Записать();
	
	Файлы = НайтиФайлы(Константы.КаталогСообщенийДляИнформера.Получить(),"????????????????????????????????????????.*",Ложь);
	
	Для Каждого Ф из Файлы Цикл
		//Ф = Новый Файл(); //УДАЛИТЬ!
		Если Ф.ПолучитьВремяИзменения() < НачалоДня((ТекущаяДата() - 86400*3)) Тогда 
			УдалитьФайлы(Ф.ПолноеИмя);
		КонецЕсли;
	КонецЦикла;	
КонецПроцедуры
Показать
10. evn-zorin 32 18.11.11 18:06 Сейчас в теме
Большое человеческое спасибо!
11. loginfo 06.03.12 07:40 Сейчас в теме
Скажите пожалуйста, на клиенте в поле pathTo1C указан путь к базе. А что означает этот кусочек кода: /S"SERVER1C\doc"? (SERVER1C - имя комп. в сети?)

И еще один вопрос: код из файла "Пример кода в 1с 8.2.txt" нужен для работы информера? Его нужно куда-то вносить?
12. skalistratov 16 06.03.12 10:22 Сейчас в теме
что означает этот кусочек кода: /S"SERVER1C\doc"? (SERVER1C - имя комп. в сети?)

- ага, именно.

"Пример кода в 1с 8.2.txt" нужен для работы информера? Его нужно куда-то вносить?

Пример кода для работы Информера показывает как могут быть настроены автоконфигурирование и автоустановка Информера. Вносить его куда-либо не обязательно, но желательно. Иначе придется conf.ini руками править.
Оставьте свое сообщение