Когда у общества нет цветовой дифференциации штанов, то нет цели!
Может быть полезным если в организации есть две БД, например управленческая и бухгалтерская, с которыми одновременно работает один пользователь, и у него на рабочем столе запущено 2 копии 1с. Чтобы минимизировать человеческий фактор и снизить возможные ошибки ввода данных можно раскрасить эти приложения разными цветами. (Разных заголовков форм бывает не достаточно)
Настройка
- Открываем конфигуратор:
- в Конфигураторе открываем ветку Стили и копируем Основной стиль
- Открывает скопированный элемент стиля и в нем меняем ФОН ФОРМЫ И ФОН КНОПКИ на отличный от типового
- Открываем модуль обычного приложения
- В конец процедуры
Процедура ПередНачаломРаботыСистемы(Отказ) добавляем код:
#Если Клиент Тогда //- MMЧ - раскрасим базу бухгалтерии ИмяБазы = нрег(СтрокаСоединенияИнформационнойБазы()); Если ИмяБазы = "srvr=""server"";ref=""bd_2"";" Тогда ГлавныйСтиль = БиблиотекаСтилей.Получить(1); КонецЕсли; #КонецЕсли
Теперь при запуске второй базы она будет раскрашена в другие цвета и визуально отличаться.
У меня где-то разработка на net есть — разукрашивает заголовок окна 1c в разные цвета. Если надо — поделюсь.
Но она не сильно прижилась — поэтому разработка дальнейшая заброшена.
Ловко. Заставляет вспомнить про стили.
Прочитав заголовок, подумал что будет что-то про малиновые штаны 🙂
В качестве некоего аналога можно предложить следующий код. Чтобы ориентироваться по заголовку.
СтрокаСоединения = СтрокаСоединенияИнформационнойБазы();
НомерСимволаНазванияБД = Найти(СтрокаСоединения,»Ref»);
Если НомерСимволаНазванияБД = Неопределено или НомерСимволаНазванияБД = 0 Тогда
Заголовок = Сред(СтрокаСоединения,7,СтрДлина(СтрокаСоединения)-8);
Иначе
Заголовок = Прав(СтрокаСоединения,СтрДлина(СтрокаСоединения)-НомерСимволаНазванияБД-4);
Заголовок = Лев(Заголовок,СтрДлина(Заголовок)-2);
КонецЕсли;
УстановитьЗаголовокПриложения(» » +Заголовок + » » + ПользователиИнформационнойБазы.ТекущийПользователь().Имя);
Про штаны и малиновая тема. Класс!!!
(2) echo77,
Про штаны была ещё популярная фраза:
«Награждается красными пролетарскими шароварами» (х/ф «Офицеры»)
Ефрейтор Туркестанских линейных батальонов, Русской армии, в гимнастёрке и в красных шароварах.
http://commons.wikimedia.org/wiki/File:Туркестанский_солдат_в_зимней_форме.jpg?uselang=ru
Так что у Г. Н. Данелии — было откуда брать.
Раз уж менять конфигурацию, то делать по-хорошему, без этих ваших
У нас в распределённой базе в план обмена добавлен строковый реквизит «Стиль», можно добавлять константы. Привязываться к строке соединения — последнее дело, которое можно использовать разве что для того, чтобы отличить боевую базу от бэкапов.
Мир этому дому!
Интересный прием. Взял на вооружение. Плюс.
Константу решил не делать, т.к. стиль добавлен всего один.
За программулину на NET спасибо, но откажусь… не люблю я все это =)
Честно говоря, на скриншоте отличий не увидел.
Хорошая идея. Для отличия рабочей базы и копии, иногда открыты одновременно
Автор предложил оригинальную идею, но правка конфигурации ради визуальных отличий — зло, ИМХО.
У нас есть тестовая и рабочая базы ЗУП, даже бухгалтера приучились смотреть на заголовок программы))))
(6) baton_pk,
И какие же еще есть способы реализации этой задачи? Чтобы сразу после восстановления бэкапа стиль изменялся автоматически?
Конфигурация все равно правится, для этого мы и работаем =)
Другое дело, какие затраты нужны на обновление, а это другая тема.
Заголовок системы — это серебренная пуля в этом случае.
Если смотреть в заголовок ломает, то это уже клинический случай 😉
(14) Новиков,
Нет — клинический случай — когда в комп ставиться три видео карточки, подключается три монитора, на каждом свой участок рабочего стола, свой ярлык запуска своей базы, да ещё «шильдик» на мониторе с названием…
А в 8.3 с общими стилями не поиграешься уже.
(12) Walker.pro,
Чтобы отличать бэкап от боевой в случае, когда у меня была одна база (без распределёнки), то у меня была константа «СтрокаСоединенияСРабочейБазой». Правда, использовалось это не для стилей, а чтобы регламентные задания понимали, с кем работают, но со стилями можно использовать точно так же.
На нынешнем месте работы нет потребности отличать бэкапы от боевых, есть потребность различать узлы распределёнки — в план обмена добавлен реквизит Стиль и через ЭтотУзел() определяется текущий стиль.
Подскажите, а по аналогии, можно сделать выделение помеченных на удаление документов красным, не проведенных — синим?
(16) pumbaE, офигеть. А ведь правда, я сразу и внимания не обратил.
Собственно до этой публикации и не заморачивался никогда со стилями, но за державу обидно…
(14) Новиков, согласен. Буйства красок в бизнес-приложении — моветон.
(20) nync, отсутствие красок — то же моветон.
(20) nync, Запустил одно окно — нет никакого буйства, при запуске второго — есть. Нет повторного запуска — нет моветона. И выбранный автором цвет не команда к обязательному «буйству». Как-то так…
Идея в целом у автора неплохая. Понятно, что на вкус и цвет фломастеры разные…
(16) pumbaE, и в 8.2 тоже — в случае, когда основной режим запуска «Управляемое приложение» ветки «Стили» нет.
Отличная идея. Ну прям вот она… под самим носом. А когда мне надо было как-то различить одинаковые конфы, об цветовой дифференциации, не догадалась. Как говорят, все гениальное просто. Обязательно возьму на заметук и реализиую у себя. А насчет буйства красок или минимализма, то здесь наверное важны предпочтения пользователей системы. Пусть сами решают, какй цвет им больше нравится.
(23) Tsaregorodtsev, может от элементов стиля как то можно
тоже интресно
Ради такой ерунды менять конфу? Это не моветон, это бить ногами надо. Я-то понадеялся на действительно красивое решение, эхма.
Пущай юзеры учатся читать заголовки, если уж так.
(26)Если так уж он просто забил полдня работы в другую базу. Вот тебе и проблема на ровном месте. Конечно, конечно он переделает это сам, конечно, конечно оштрафуем. Только вот у нас в прошлый раз, тупая ошибка пользователя парализовала работу магазина на три часа. Ну оштрафовали, ну и что? Раздражение покупателя этим не снимешь. Да и пользователя если штрафовать, он и уйти может. Если вы продаете мерседесы и делаете в базе 2 документа в месяц, то вам повезло. если работа интенсивная(розничные продажи к примеру) то ошибок избежать очень трудно, и тут стоит вопрос ребром: как сделать так, чтоб все происходило насколько можно быстро и главное без ошибок. Стараюсь работать с типовой только у пары клиентов, у остальных уже приличное количество изменений. На тему, что кому то моветон яркие цвета, так бывают случаи уже не до понтов. Главно что б привлекало внимание. Стили видел триста раз, заюзать не догадался.
Тогда разумнее добавить какую-нить константу/общую настройку/индивидуальную настройку, от которой устанавливать главный стиль.
Ибо, зачастую, конфигурации не просто одинаковые, а даже идентичные.
А поддержка действительно идентичных конфигураций в разы проще, чем поддержка идентичных_за_единственным_исключением конфигураций.
(3) mdmdvd, подскажите, пожалуйста, какой функцией можно заглавие окна с открытой базы изменить, а то что-то не получается, см ниже кусок кода у меня:
«…
#Если Клиент Тогда
ИмяБазы = нрег(СтрокаСоединенияИнформационнойБазы());
Если Найти(ИмяБазы,»buh») > 0 Тогда
ГлавныйСтиль = БиблиотекаСтилей.Получить(2);
Заголовок1 = «БУХГАЛТЕРСКИЙ УЧЕТ»;
ИначеЕсли Найти(ИмяБазы,»upr») > 0 Тогда
ГлавныйСтиль = БиблиотекаСтилей.Получить(3);
Заголовок1 = «УПРАВЛЕНЧЕСКИЙ УЧЕТ»;
КонецЕсли;
Если Найти(ИмяБазы,»night»)> 0 Тогда
Заголовок2 = «НОЧНАЯ КОПИЯ»;
ИначеЕсли Найти(ИмяБазы,»day») > 0 Тогда
Заголовок2 = «ДНЕВНАЯ КОПИЯ»;
ИначеЕсли Найти(ИмяБазы,»server_1c») = 0 Тогда
Заголовок2 = «ЛОКАЛЬНАЯ КОПИЯ»;
КонецЕсли;
УстановитьЗаголовокПриложения(» » +Заголовок1+» » +Заголовок2 + » » + ПользователиИнформационнойБазы.ТекущийПользователь().Имя);
УстановитьЗаголовокСистемы(Заголовок1+» » +Заголовок2);
#КонецЕсли
…»
например так:
ДопЗаголовок = ИмяКомпьютера();
// находим пользователя ИБ
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени(СокрЛП(ПараметрыСеанса.ТекущийПользователь.Код));
Если не ПользовательИБ = Неопределено Тогда
ИмяПользователяОС = НРег(ПользовательИБ.ПользовательОС);
ИмяПользователяОС = СтрЗаменить(ИмяПользователяОС,»\skl»,»»);
ДопЗаголовок = ДопЗаголовок + » / » + ИмяПользователяОС;
КонецЕсли;
ДопЗаголовок = ДопЗаголовок + » / » + Формат(ТекущаяДата(),»ДЛФ=DDT»);
////— End —- 08.04.2013 20:31:58 —- MMЧ —- !СКЛ!
УстановитьЗаголовокСистемы(ДопЗаголовок);
УстановитьЗаголовокСистемы(«ттттт»); — работает
еще как вариант попробуй :
УстановитьЗаголовокПриложения(«тратата»);
(32) УстановитьЗаголовокСистемы(«ттттт»); и УстановитьЗаголовокПриложения(«тратата»); увы не работает, а высвечивается та строка, которая в настройке программы в поле заголовок системы , ;-(
(27) Сделать 2 удалённых рабочих стола. 2 аккаунта. 2 профиля винды. И уже в них играть с оформлением. Это и админится проще, и жертв меньше. Всегда есть выходы )))
(33) sergiobargio1, значит перетирается, попробуй в конце процедуры ПриНачалеРаботыСистемы
ну или вообще обработкой.
Ставлю плюс за идею!
Баловство какое-то… Зачем? Если бы без изменения конфы, то было бы еще полезно. А так…..
(37) Evil Beaver, извините, возможно Вы и правы. моё мнение очень субъективное — у меня слишком не большой опыт в разработке, однако, для меня эта идея очень полезна и актуальна: в течение дня по нескольку раз приходиться накатывать доработки, предварительно отлаживая как на локальных так и на sql-ных копиях, запутаться в обилии открытых окон с управленческими и бухгалтерскими базами очень легко. а так идея прекрасная и цветовая раскраска с помощью палитры и заголовка окна. mmch и mdmdvd выдвинули очень полезные идеи. Спасибо.
Как вариант, в доп. параметрах запуска базы прописать примерно так:
При запуске выполнится указанная обработка, а уже в ней можно прописывать какие-то действия для внешнего отличия базы. При условии, что у пользователя есть права на запуск внешних обработок.
Платформа 8.1.15.14
При смене Главного стиля образуется стойкая аллергия на СКД — любые отчеты с простейшей схемой СКД при открытии выбивают базу с записью дампа.
На всякий случай, вдруг кто-то захочет поиграться.