А что если выводить сообщения в балун, всплываюее информационное окно на трее, в котором обычно система отображает разный мусор про обновления, активацию, просроченную лицензию и т.д. Таким образом программа и сообщения покажет, и рабочую область в 1С не уменьшит.
Предлагаемая компонента эту возможность предоставляет. Все сообщения выводятся в балун с задержкой (очередь реализована). Вы также имеете возможность просмотреть историю сообщений, управлять скоростью отображения, числом хранимых сообщений, определять тип сообщения и т.д.
Компонента проста в использовании и совершенно бесплатна. Качайте, пользуйтесь!
И пусть ваши программы будут самыми удобными!
В дистрибутиве сама компонента, обработка под 1С:Предприятие 8.2, демонстрирующая ее использование.
Подключение и использование
Все стандартно.
1. Кидаем trayinformer.exe куда-нибудь на компьютер. Запускаем один раз вручную, тут же закрываем. Если у вас Windows Vista, 7 или 8 — устанавливаем в свойствах запуск от имени Администратора.
2. В модуле приложения создаем переменную Информер, которую будем использовать, инициализируем компоненту в «ПередНачаломРаботыСистемы».
Перем Информер Экспорт;
...
Попытка
Информер=Новый COMОбъект("TrayInformer.Server");
Исключение
Информер=Неопределено;
Предупреждение("Tray Informer не установлен на Вашем компьютере!");
КонецПопытки;
3. Вместо стандартного «Сообщить» пишем:
Информер.Info("Мое сообщение") ;
либо, если хотим вывести предупреждение —
Информер.Warning("Мое сообщение") ;
и для сообщения об ошибке —
Информер.Error("Мое сообщение") ;
Вот и вся премудрость!
ПС А началось все так…
Сидит наша Ульяна и что-то упорно делает в 1С. Час делает, два… Я не выдержал, спрашиваю:
— Ульяна, что Вы там делаете?
— Да вот, — говорит Ульяна, — клиент просит, чтобы при наведении мышки на строку в табличной части выводилось сообщение…
— Не, — говорю, — не получится этого в 1С, по крайней мере, без бубна точно не получится.
— Ну вот, — расстроилась Ульяна, — что же я тогда сижу.
И ушла домой…
А я остался один и задумался. Вот что если сделает все-таки Ульяна, что при наведении курсора на строку в табличной части будет вываливаться сообщение. И попадет эта программа к беспокойной такой бухше, у которой всякий раз нервный тик от неожиданно появляющихся окон открывается, ну, или смех гомерический ее прошибает. И что если введет эта бухша однажды накладную в 1000500 строк, а потом захочет пересчитать количество по строкам вручную, чтобы 1С проверить, правильно ли она работает. Ткнет мышом по строке, а у нее бац — окно внизу и нервный тик. Она окно тут же закроет, по второй строке ткнет — снова окно и тик. По третий — окно и хохот. И так все 1000500 строк! А директор ее рядом при этом будет стоять, ждать несколько дней. Ему ведь тоже важно, чтобы 1С правильно работала. И когда эту накладную они проверят, то наверняка ошибку в работе 1С найдут и к нам приедут, Ульяну с собой заберут, чтобы она прямо при них эту ошибку тут же и исправила. Ну, или чтобы проверку какую поставила, если в накладной 1000500 строк, то чтобы сообщения хотя бы через раз выводились, так считать удобнее…
Вот, блин! Не хочу хорошего сотрудника терять!!! Так поразмыслив, придумал я, что самым правильным в этой ситуации будет не в стандартное окно сообщений вываливать всю ульянину инфу, а в балун, что на трее. От тика это бухшу не спасет, но хоть закрывать его она 1000500 раз не будет пытаться, потому что все нервные бухши знают, какая на балуне милипусерная кнопка, фиг в нее попадешь с первого раза, а пока попасть пытаешься, он обычно сам подло так закрывается. Глумится типа.
Мужыг сказал — мужыг сделал! К четырем утра сделал. И на радостях Ульяне позвонил сказать, что спасена она, не услышит топота ног и сумасшедшего смеха икающей бухши в ближайшие пару недель. А Ульяна трубку не взяла… Не поймешь, что этим женщинам нужно! 🙁
Класс!
Очень часто в сообщениях ковыряюсь, мне такая штука нужна!
+1
взяла себе на вооружение, но пока гложет сомнение: юзеры не будут это окошечко воспринимать как тот самый системный мусор, про который в статье сказано, и игнорировать его?
Хе-хе-хе! Что только не придумает… Возьму пригодиться…
(3) Из двух зол выбираем меньшее…
Думаю, пригодится.
К себе в коллекцию полезных заметок ))
К себе в коллекцию полезных заметок ))
Норм
Не ново, но полезно. Это ишшо в лохматые годы для 7.7 в Miracle было, кажись.
История про Ульяну натурально трогательная и жЫзненная весьма )))
(10) А вот интересно, в миракле был реализован стек сообщений и вывод их с задержкой, или одно тупо затирало другое, если выводить их пачками? // типа Абадонну уколоть пытаюсь 🙂
callback есть? Что бы вывести в сообщение, при этом в случаи чего обработать пользовательскую реакцию.
(12) Тогда это будет уже не Tray Informer, а Tray Chat.
(11) Не помню уже. Буду, есличо, и твоё юзать. На тонком клиенте проверял, работает? Подключается?
Так а вывод сообщений при наведении курсора что не сделал? Поэтому наверное и трубку не взяла :).
(12) pumbaE,
Дык они тогда в 1С вообще тыкать перестанут — все в балунчик да в балунчик _)
(16) Точно! Балунчиками баловаться будут…
круто, да? 17 отзывов, 16 плюсов, …. нда, не тот уже инфостарт, кхе-кхе
(СП ПоказатьОповещениеПользователя)
(11)Вроде там прекрасно это реализовано типа аськи: новое сообщение становится двигает старое вверх.
И вроде даже можно было организовать обратную отдачу в 1С при нажатии на сообщение (то чего 1С никак не родит для обыных форм!): возникало внешнее событие которое можно было обработать по источнику его возникновения.
У вас подобного нема или может планируется? А то там проект заброшен
И кстати можно узнать зачем через КОМ объект реализовано а не через технологию Натив? Получается что нужно регить под админом?
Windows XP ???
(20) Вообще, Windows 8…
(0) Ну ты «пейсатель»! :)))
«А началось все так…»
А вот так твоя сделает?
Посмотри как «правильные треи» делатьhttp://infostart.ru/public/125913/
Картинка любая, отклик на клик.
———
Че-то файлы не прикрепляет
Автор молодец, а внизу еще порадовал рассказ, прям романтика ))))
(24) И фотку симпатичной девушки не забыл выложить;-)
Олег, у тебя мужики работают на фирме, хоть один?;-) А с бородой и свитером?;-))))
Странно фотку сменил, а в сообщениях не меняется… А все, изменилась, можно скрыть этот пост…
А все-таки чем <ПоказатьОповещениеПользователя> не устраивает?
(27) ZOMI,
+1
(27) ZOMI, Насколько помню, при свернутом (или загороженном) окне — фиг его кто увидит.
/+29/ Че за фигня? Кнопка «Изменить» так и не работает…
Нет, выводит в трее поверх <ПоказатьОповещениеПользователя>, во всяком случае, в 8.3
/+29,30/
Описание:
Показывает окно, по умолчанию располагающееся внизу экрана, которое постепенно затухает и исчезает с экрана.
____________________
И толку от такого оповещения? Нормальный проггер добавит параметр ВремяПоказа
Вот как правильно! ;
Оповещение (ТекстЗаголовка,ТекстСообщения,ИмяФайлаКартинки:строка,ВремяПоказа,ЦветОкна:число)
Выводит окно оповещения по типу окна от 1С ПоказатьОповещениеПользователя() на время= ВремяПоказа, сек. Если ВремяПоказа=0 – до закрытия пользователем. При нажатии на текст окно оповещения закрывается и генерирует внешнее событие DESKTOP_ALERT_CLICK, данные – текст сообщения.
(MiracleNative)
Требует borlndmm.dll при запуске
(32) sertrain, вот эту качайhttp://infostart.ru/public/125913/
ничего не требует, а всякие треи-меи — там ЖАЛКИЙ КУСОЧЕК от методов
… Удивительные дела! Лежит вышеупомянутая больше года, методов — по самые уши!
Публикую от нее жалкие кусочки (типа StringsNantive, XLS), попадаюn они наверх и набирают рейтинг выше осноdной. Вот и в этой публикации два метода скоро перегонят более 50-ти методов той, в которой эти методы тоже есть и даже в двух вариантах :))))
(34) А эт говорит только о том, о чем я постоянно напоминаю себе: удаленная работа = умение программировать + умение пиариться. Я могу быть супер-пупер гением, но ни кто со мной работать не будет, если не умею подать то, что я делаю. И к этому народ, переходящий от фикси к фри, чаще всего относится пофигистически.
(22) Abadonna,
// А вот так твоя сделает?
А твоя историю сообщений хранит вот в таком виде? 😉
Вообще, крут был бы тот, кто вообще отказался бы от всяки там окон. Представь, появляется внизу экрана девушка, которая гуляет по командной панеле поверх окон (как Desctop Girl), и сообщения выдает из 1С 😀
(36) ну историю несложно сделать. я делал более лениво. есть такая прога — growl. версия для винды написана на c#, вытащил оттуда форму и прикрутил к компоненте. нехорошо с этической точки зрения, потому не выкладываю. в чем плюс(ну а в чем-то минус) перед балуном, в том, что создается форма, которая может висеть хоть целый день при желании. а у Abadonna лучше, конечно, native — регистрация соответственно не нужна.
(35) плохо читаешь:
«. При нажатии на текст окно оповещения закрывается и генерирует внешнее событие DESKTOP_ALERT_CLICK, данные – текст сообщения.»
И храни где хочешь.
«А эт говорит только о том, о чем я постоянно напоминаю себе:»
Это НИ ОЧЕМ не говорит, потому что я, в первую очередь, приводил СВОИ dll, которые являются жалкими ошметками от Miracle. И, уверен, эта твоя все равно не дотянет по рейтингу до vjtqhttp://infostart.ru/public/197777/, которая тоже жалкий ошметок от Miracle.
(36) У Abadonn-ы лучше не только потому, что Native, а потому что два жалких метода с кучей других (и очень полезных) даже и сравнивать неловко 😉
(38) Вот сделаю десктоп гирл с той самой сибирячкой, и по рейтингу миракле переплюнет, особенно, если она периодически будет раздеваться, когда выводимое сообщение ей понравится. Только нужно будет угадать, что ей может понравиться )))
(39) 1С на раздевание, это что-то новенькое 😉
в баттле приблуд Q-Pl<->Abad за явным преимуществом побеждает Miracle. Тут даже как-то сравнивать неловко
(34) Просто из её названия сложно понять, что она представляет собой и для чего нужна. И здесь описание побогаче.
(1) А код у компоненты открытый?
(43) А надо? Могу прислать на е-майл. Сделана на Borland Builder c++ 2007.
(42) su_mai, вы что, с Планетом сговорились?
http://infostart.ru/public/125913/
http://infostart.ru/public/197777/
http://infostart.ru/public/178717/
Я, ПРЕЖДЕ ВСЕГО, сравнивал Miracle со СВОИМИ же DLL, а вовсе не с этой!
Вот эту
с этой
и с этой
При чем тут описание ЭТОЙ?
А насчет этой: писать в наше время COM под снеговика — вообще моветон! :)))
(39) с сибирячкой переплюнет :)))…. продолжение с кем не переплюнет оставлю за кадром из этических соображений
А кто вообще начал сравнивать? Это — локальное решение. Миракле — комплексное. Это все равно, что сравнивать туристический ножки с ложечкой для кофе.
И скажите уже наконец, чем плохи com???
Вот, нахрен! (хотя хочется сказать по-другому) Всегда раздрожало использование английских терминов «ниачом». Скажите мне, чем отличается обычная, тупая ВК, которые я завязал писать ещё во времена 7.7, от ВК с красявой приставкой «native». Да НИ ЧЕМ!!! Вот это — моветон, обычная ВК на дельфях. Куда круче делать Legacy активх! Хотя бы из тех соображений, что ВК на сервере не будет работать, а для com это без разницы.
(49) нативные ВК можно использовать на сервере. это COM ВК(старые ВК) нельзя использовать на сервере. COM компонента <> ВК COM компонента. ВК NAtive<>ВК COM компонента. все это разные вещи.
(48) платформозависимы. и еще в контексте 1С, не поддерживает очевидно, некоторые фишки для взаимодействия с 1С, типа внешниесобытия и прочее. а так в принципе компоненты как компоненты. я к ним чаще прибегал.
(49) «Да НИ ЧЕМ!!! Вот это — моветон, обычная ВК на дельфях.»
Что Active-X, что COM требуют regsvr 32, РЕГИСТРАЦИЮ В РЕЕСТРЕ.
Похоже, ты никогда не сталкивался с отсутствием прав юзверя на такие действия.
А я еще и в 7.7 сталкивался, когда обычная V7Plus.DLL ни хрена не работала, потому что движки стояли у каждого юзверя, а вот прав-то у него практически ни на что не было (что правильно для корпоративной сети!)
«что ВК на сервере не будет работать» — ты какой сервер имел в виду? Сервер 1С-предприятия в режиме &НаСервере, или что-то другое?
___________
P.S MiracleNative у меня спокойно работает на Windows Server 2008 R2 Standard х 64, с 1С на скуле.
Только шуба заворачивается
(52)о, про самый главный недостаток я и забыл. правда мелкософтовцы, для взаимодействия со старым кодом или для чего-то еще, в общем после прихода dotnet-а, сделали reg free com компоненты, они не требуют регистрации в реестре, нужен только файл манифест. но в обычной жизни, 1С с этим не всегда работать захочет.
(47) а я тебя сообразительным всегда считал
«А кто вообще начал сравнивать? Это — локальное решение. Миракле — комплексное. Это все равно, что сравнивать туристический ножки с ложечкой для кофе.»
Я сравнивал не компоненты, а место и время появления их публикаций
Только про это я говорил. Торчит в «В центре внимания» или в «Выбор экспертов» на главной странице на виду — качают и плюсуют. И не зря я на первом месте в том комментарии именно свои поставил, а твою уж просто прицепом. Поражаюсь, как можно читать одно, а воспринимать другое?
Это я тебя сообразительный считал, потому, как не тебя имел в виду)) Ведь не ты же вроде начал сравнивать, а публика тутошняя зачем-то в одном посте объединила миракле и мою и стала сравнивать, что неправильно.
Про ВК… Мой com вообще через regsvr32 не нужно регистрировать. Про сервер — именно «НаСервере»
(55)
«Мой com вообще через regsvr32 не нужно регистрировать»
о, мне стало интересно. а как же тогда система находит COM server и вот здесь Новый COMОбъект( не происходит никакой ошибки? или все таки при установке дистрибутива происходит регистрация?
Там нет дистрибутива, как такового.
(57) на вопросы ты не ответил. насчет «дистрибутива» у тебя так написано в публикации файла. я не знал. решил скачать. что я вижу — непонятный exe, запускаю, пишет , — нет у вас CC3280MT.DLL. по всей видимости борландовская фигня, которой у меня нет, скомпилируй тогда вместе с ней, чтобы у пользователя ничего не требовал. (опция Link with runtime packages).(причем выше смотри, не у меня одного такое). предположу, что это ничто иное как outproc com server, который сам регистрируется в системе при первом обращении. так, что это неправда, что регистрация не требуется. может посмотри в реестре поиском «trayinformer». ну и права на запуск левого exe тоже должны быть
Абадонна, не горюй. Это повсеместное явление, не только на ИС, когда выкладывается нечто мощное с кучей полезностей, а потом некая одна фигня, побочная и вообще почти лишняя, вдруг вызывает живейший интерес. Или когда гораздо более криво сделанная вариация этой фигни набирает впятеро больше популярности. Селяви такая.
Я твою Miracle завсегда пользовал и респекты выражал, и поныне всем, как вишь, ненавязчиво припоминаю. Мне-то она нынче просто не нужна.
Самый больной вопрос как это будет работать в терминале и в remoteapp? Если в терминале подозреваю работать будет, то как будет работать в remote app? Там то трей как таковой отсутствует. Или будет?
(58) Вот что самое жестокое, я всегда эту опцию включают (
(60) надо проверять
(54) Abadonna, Не надо так громко завидовать.
У меню тут ряженые тоже идеи прут как будто свои, публикуют и потом (вероятно) очень гордятся восхищенными плюсами. Забей.
(61) 😉 я перепутал, наоборот надо отключить. вот посмотриhttp://stackoverflow.com/questions/7787267/how-create-an-standalone-without-dll-file-dependencies-cbuilder-console-appl . естественно отключать надо в том случае, если ты их не используешь. ну я думаю, что не используешь.
Ну и я это имел в виду :-). Там, на самом деле, три галки надо отключать: runtime packages, enable runtime libraries, и ещё (не знаю, правда, надо или нет) — runtime temas в свойствах приложения.
(63) Завидеушь, может быть, только ты. Мы тут просто общаемся в пятницу. «Нет ничего нового род солнцем» ©
(66)
Есть чего нового, есть, только есть разные повторители.
Есть такие которые порядочно пишут и в модулях и в описаниях: «взято там-то», «идея такого-то автора»,
есть такие умники, которым «навеяло из Интернета» (дурочку включают),
а есть такие которые сопрут и потом громче всех стучат себя пяткой в грудь: «Я сам выдумал! Я! Я! Я!» …
З.Ы. Если ты про себя подумал — зря. Спичь не о присутствующих …
А теперь — момент истины. Кто из мудрых хранителей знает, как из ВК или native ВК, или com, сделать обычное Сообщить(…)? Только лучше пример кода. На 7.7 я так умею, а на 8 — нет. Знаний не хватает. 🙁
(66) Есть и четвертые (я, в частности), кто напрямую из ноосферы… 😀
(65) ну в любом случае там какая-то трабла с библиотеками. запустил на машинке, где есть та библиотека, теперь вопрошает BorlndMM.dll, естественно она есть в папке bin, delphi(ну или cpp builder-а). в инете нашел. запустил. как я и говорил она делает ключи в реестре
(68) насчет того, чтоб сразу выводить сообщить, не скажу, никогда не было надо. но посмотри в 1С документации. в крайнем случае вызывай внешнее событие(HRESULT ExternalEvent(BSTR bstrWho, BSTR bstrWhat, BSTR bstrData);), перехватывай в 1С и выводи в сообщить, все что угодно.
(63) Кошки рулят, с логикой полный облом? Кому я завидую — самому себе? Ты хоть читал о чем я писал?
Прочитай, а потом уж «рули»
(58) cool.vlad4, «нет у вас CC3280MT.DLL. по всей видимости борландовская фигня, которой у меня нет»
Это как в VB — комплируешь, всего 100К, ура! А потом оказывается, что её еще надо еще всяких dll метра на 4.
И эти dll по умолчанию ставятся на комп, когда среду ставишь, и совсем не факт (вернее, именно факт), что на других компах их и в помине нет.
У меня в реестре:
C?Program FilesEmbarcaderoRAD Studio11.0incc3280mt.dll
1. Зарегена.
2. А почему? Да потому что EmbarcaderoRAD Studio11.0
3. Т.е. регистрация в реестре ОДНОЗНАЧНА
(66)
«>(63) Завидуешь, может быть, только ты. Мы тут просто общаемся в пятницу.»
Смотрим профиль:
Дата регистрации: 28.12.2009 02:39
Рейтинг за публикации: 0
Life: 24
За четыре года «наперло идей» аж на 24 в Life :)))
Не запускается сие чудо, пишет BORLNDMM.DLL не найден
(74) Prad2002,
Трей-мессенджер: Native ВK для 8.х
тут точно без проблем 😉
(0) Учись, Олежка, на третьи сутки тебя уже обскакал:)))
P.S. Прикалываюсь 😉
(76) Это безобразие. Жди адекватный ответ ))