Пометка тестовой копии рабочей базы через механизм оповещений и раскрашивание форм (Управляемое приложение)

Публикация № 910923

Разработка - Работа с интерфейсом

расширение цвет управляемая форма оповещение заголовок окна тестовая копия

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

В ряде случаев требуется определять какая база сейчас открыта: рабочая или какая-то тестовая (или иная копия). Обычно сходу это очень трудно определять визуально. Можно начать работать не в «той» базе. На это могут нарваться как технические специалисты, так и пользователи (которые тоже могут периодически работать в тестовых базах, или запустившие тестовую базу по ошибке (если они доступны в списке баз пользователей, что так же бывает достаточно часто).

 

Предлагаемое здесь решение не является каким-то особенно инновационным, его можно просто считать «ещё одним решением» на тему определения какая база открыта на экране: рабочая или тестовая, и предназначено для управляемых приложений (где данная тема более «проблемна», чем для обычных приложений).

 

Данное решение использует четыре метода (5-ый пока не работает) информирования пользователя о том, какая база перед ним (два из них настраиваемые), а именно:

  1. Изменения заголовка главного окна программы - заголовок меняется всегда, и для рабочих и для тестовых баз, но тестовые (копии) получают слева приписку «ТЕСТОВАЯ».
  2. Периодическое информирование пользователя через механизм всплывающих оповещений - появляются внизу ЭКРАНА справа, только если активно окно тестовой базы. Настраивается.
  3. Информирование пользователя через механизм всплывающих оповещений в момент открытия форм (но каждую такую форму нужно «подключать» к данному сервису вручную, в конфигураторе – что сводит «на нет» преимущество применение данного метода). Настраивается.
  4. Раскраску управляемых форм в другие цвета – для тестовых баз (работает очень ограничено, пока не вышел релиз платформы 1С: Предприятие 8.3.13). Настраивается.
  5. Изменение положения панели списка открытых окон (не работает).

 

Данное решение использует 4 метода определения, что информационная база является тестовой (все настраиваются), а именно:

  1. По строкам соединения – в настройках задаются строки соединения (сервера и базы), которые для данной информационной базы являются адресом рабочей базы (иные адреса текущей строки запуска будут классифицировать базу как ТЕСТОВУЮ).
  2. По кластерам (без баз) – в настройках задаются кластеры (вообще-то любые имена серверов и компьютеров в сети и в web), которые будут считаться рабочими (если база будет запущена с другого сервера, по строке запуска, – она будет классифицирована как ТЕСТОВАЯ).
  3. По имени тестовой базы – в настройках задаются слова-суффиксы, определяющие имя тестовой базы (если такое слово будет найдено в имени базы (из текущей строки запуска), то он она будет классифицирована как ТЕСТОВАЯ).
  4. По имени рабочей базы – в настройках задаются слова-суффиксы, определяющие имя рабочей базы (если НИ ОДНО из таких слов не будет найдено в имени базы (из текущей строки запуска), то она будет классифицирована как ТЕСТОВАЯ).

 

 

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

 

А теперь подробнее

 

Настройки открываются через обработку «Параметры ИБ»

 

Метод проверки «По строкам соединения»

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

Но решение умеет разбирать достаточно обширные форматы строк соединений, включая файловые и web-адреса. В конечном итоге – адрес должен быть задан в формате:

Для WEB http://ИмяWebСервера:Порт/ПутьКаталогуБазы

Для сетевой «шары»: \\ИмяСетевогоХранилища\ПутьКаталогуБазы

Для локального размещения: ИмяЛокальногоКомпьютьера\Диск:\ПутькКаталогуБазы

Для кластера: ИмяКластера:Порт\ИмяБазы

Порт и ПутьККаталогу базы в общем случае не обязательны. Но про порт надо помнить, что порты по умолчанию никак отдельно не обрабатываются – если в строке запуска порт будет задан, то и в строке допустимых строк соединения он тоже должен быть настроен (можно разместить сразу два варианта: с портом и без). Несколько вариантов разделяются «,».

Если в  «Допустимые строки соединения» вставить строку в формате соединения (например, «Srvr=appv1,appv2:1741;Ref=ROMASHKA_BUH;» то она автоматически корректно конвертируется при смене фокуса поля ввода на «appv1\Romashka_BUH, appv2:1741\Romashka_BUH».

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

 
 Функция ПутьКИнформационнойБазе

 

Далее строки (массив «ПутьКИБ») сравниваются с допустимыми (массив «ДопустимыеСтрокиСоединенияИБ») в цикле:

Для каждого ПутьКИБ из ПутикИБ Цикл
    Если ДопустимыеСтрокиСоединенияИБ.Найти(НРег(ПутьКИБ)) <> неопределено Тогда
        возврат Истина; //Рабочая
    КонецЕсли;
КонецЦикла;

 

 

Метод проверки «По кластерам (без баз)»

Данный метод не будет учитывать имена баз (и их пути для WEB) – в допустимых строках соединения необходимо указывать только имена серверов (любых, включая WEB-сервера и локальные/сетевые компьютеры), которые являются тестовыми.

 

Метод проверки «По имени тестовой базы»

Данный метод позволяет указать подстроки для поиска ключевых слов в именах баз – если будет найдено любое из них, то база будет считаться тестовой. Например имена баз «Romashka_Copy_Buh», «test_ Romashka_Buh» , «Romashka_Buh_backup» , «Romashka_Buh_arhivnaya» будут классифицированы как тестовые. А (с настройками по умолчанию) база «Testing_Romashka_Buh» НЕ БУДЕТ тестовой (не содержит суффикса «test_»), как не  буде тестовой и «CopyRomashka_Buh» (нет символа «_» после слова «Copy») – тут нужно либо дополнять настройку (всё очень просто), либо использовать иные имена для тестовых баз.

При выборе данного метода – если поле доступных строк соединения будет пустым  - оно будет заполнено предопределёнными значениями по умолчанию.

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

 

Метод проверки «По имени рабочей базы»

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

Наличие обобщённых значений по умолчанию позволяет не заботиться о персональной настройке имён для каждой информационной базы.

 

Изменение заголовка

После установки решения заголовок окна меняется и у тестовой и у рабочей базы. В нём будет путь к информационной базе (если точек подключения несколько – будет показана только одна), будет заголовок информационной базы (из ИБ) и номер текущего сеанса. У тестовых баз в начале будет добавлено слово «ТЕСТОВАЯ».  Этот заголовок будет частично виден и в панели задач windows, и целиком в сплывающей подсказке окна).

Установка заголовка и инициализация подсистемы решения осуществляется функцией, вызываемой при старте системы из модуля управляемого приложения:

 
 Процедура ИнициализацияТестовойИБ

 

Оповещение пользователя

Оповещение пользователя всплывает в правом нижнем углу экрана ТОЛЬКО у тестовых информационных баз. Оповещение всплывает при старте ИБ, и далее каждые 30 сек (настраивается), когда открыта ХОТЯ БЫ ОДНА ФОРМА в АКТИВНОМ окне тестовой информационной базы. Если форм не открыто – то идёт их «поиск» каждые 2 секунды (интервал не настраивается). Данные оповещения НЕ СБИВАЮТ текущий фокус ввода в открытых формах.

Решение учитывает, что с версии платформы «8.3.10.2160» функция вызова оповещений расширилась новыми параметры – они используются только с релиза платформы не младше «8.3.10.2160» (вызовы разнесены в два отдельных общих модуля – для разных версий).

Вот код актуальной версии (для платформы не моложе 8.3.10.20160):

Процедура ПоказатьОповещенияТестовой_ИБ(Важное=Ложь) экспорт

            ПутикИБ = ПараметрыИБМенеджерКлиентСервер_ОДП.ПутьКИнформационнойБазе();

            ПутьИБ = ПутикИБ[0];

            Статус = ?(Важное=Истина,СтатусОповещенияПользователя.Важное,СтатусОповещенияПользователя.Информация);

            оп = Новый ОписаниеОповещения("ПоказатьФормуНастройкиОповещенийТестовойИБ",ПометкаТестовойИБКлиентСервер_ОДП.ЭтотОбъект);

            ПоказатьОповещениеПользователя("Это ТЕСТОВАЯ база!",оп,ПутьИБ,БиблиотекаКартинок.ВысокаяВажностьВКарточке_ОДП,Статус,"ТЕСТОВАЯ "+ПутьИБ);

КонецПроцедуры

В сообщении оповещения указан путь к информационной базе и пометка «Это ТЕСТОВАЯ база».

Оповещение появляется ТОЛЬКО у тестовых баз! Но можно переделать алгоритм наоборот.

 

При нажатии на оповещение – будет открыта форма настроек – там, например, можно оперативно отличить показ оповещений, причём, например, только на текущий сеанс (без наличия полных прав – сохранить настройки будет нельзя, можно только менять для своего текущего сеанса; позже настройки будут доработаны для хранения раздельно по пользователям).

 

Для периодического отображения оповещений использует подключаемый обработчик ожидания (код подключения показан выше в подразделе «Изменение заголовка»). Используются два обработчика ожидания из глобального общего модуля «ПометкаТестовойИБОбработчикиОжиданияКлиент_ОДП» (и ещё один для раскраски - о ней ниже):

 
 ОбщийМодуль.ПометкаТестовойИБОбработчикиОжиданияКлиент_ОДП

Для того, чтобы оповещение появилось сразу же при старте базы – сначала интервал разового оповещения задан как = 1 сек. Затем он меняется на интервал из настройки. Если ни одно окно формы не активно – оповещения не отображаются – идёт ожидание появления активной формы с интервалом = каждые 2 сек, чтобы при появлении активной формы – сразу выдать оповещение. 

 

Проверка на активную форму осуществляется функцией (она же вызывает алгоритм раскраски открытых форм – об этом в соответствующем разделе ниже):

Функция ОбработатьОткрытыеФормыТестовойИБ(Параметры) экспорт
	ЕстьАктивнаяФорма = Ложь;
	Если АктивноеОкно() = неопределено Тогда
		Возврат ЕстьАктивнаяФорма;
	КонецЕсли;
	
	Для каждого Форма из АктивноеОкно().Содержимое Цикл
		ЕстьАктивнаяФорма = ЕстьАктивнаяФорма или Форма.ВводДоступен();
		
		Если Параметры.ИзменятьОформлениеФорм и Параметры.ОтслеживатьОткрытыеФормы Тогда
			ПометкаТестовойИБКлиентСервер_ОДП.РаскраситьЭлементыФормыТестовойИБ(Форма, Параметры);
		КонецЕсли;
		
	КонецЦикла;
	возврат ЕстьАктивнаяФорма;
КонецФункции

 

Здесь «АктивноеОкно().Содержимое» может быть только упр. форма (или не быть ничего). Метод «ВводДоступен()» управляемой формы как раз и определяет – что форма активна (и не заблокирована, например другой формой).  Все формы проверяются, т.к. они могут блокировать друг друга при открытии с эмуляцией модальности.

 

Параметры оповещения, берутся из настроек, которые КЕШИРУЮИТСЯ на сеанс! Поэтому при смене настроек – сеанс нужно перезапускать (в настройках есть возможность сбросить кеш повторно используемых значений).

 

Раскраска управляемых форм

 

В Управляемом приложении актуального релиза платформы (8.3.12) нет возможности гибко настраивать общий стиль управляемых форм (как это было в обычном приложении). В Релизе 8.3.13 такая возможность частично должна была появиться (но тоже очень ограничено; пока функционал релиза 8.3.13 не поддерживается в данном решении).

 

Текущее решение позиционируется как неполная альтернатива новым возможностям оформления платформы 8.3.13 (поддержка будет добавлена в следующей версии решения).

 

А пока суть в том, чтобы раскрасить элементы формы «вручную» при её открытии (создании) в альтернативные типовым цветам заданным в настройке для тестовой базы. Всё бы ничего – но есть две проблемы (думая о которых даже нецензурных слов уже не хватает, направленных в сторону разработчиков платформы и типовых конфигураций):

  1. Нет общего события платформы (или вызова единой функции(ий) конфигурации), которое(ая) вызывалась бы при открытии (создании на сервере) ЛЮБОЙ формы конфигурации, чтобы в этом обработчике можно было бы разместить общий алгоритм,  раскрашивания форм. Да, к тому же часть форм, особенно отчеты, вообще не имеют таких обработчиков («ПриСозданииНаСервере»). Не говоря у же о том, что многие формы вообще являются автогенерируемыми.
     
  2. Даже если у формы удастся вызвать алгоритм раскраски – раскрасить он может не всё. ГЛАВНОЕ, что он не сможет раскрасить – это, собственно, саму форму – её задний фон и, как следствие, её верхний заголовок. Тем самым менять задний фон у форм – почти нереально (здесь цвет формы не изменен):

Исключение – это когда на форме расположены группы-панели (например, страницы), а уже на них элементы:

Но верхний заголовок формы всё равно остаётся не раскрашен. Очень некрасиво. Ждём релиза платформы 1С: Предприятие 8.3.13 или…. Или в решении предусмотрена опция «Создавать панель для элементов» - которая сама добавляет на верхний уровень формы обычную группу – и переносит на неё верхние элементы формы (при создании формы на сервере) – получается достаточно быстро и более менее красиво (но немного меняется структура расположения элементов а форме – визуально не видно, но для программного кода это, в каких-то случаях, может быть существенно).

 

Вышепоказанную раскраску можно осуществить только для ограниченного числа форм (в основном документов и некоторых справочников) организовать можно путём внедрения вызова своего алгоритма раскраски в некоторые «универсальные» процедуры из БПС, вызов которых уже прописан в некоторых формах. Например так (код из расширения):

//Расширение функции общего модуля: УправлениеСвойствами. ПриСозданииНаСервере() подсистемы
&После("ПриСозданииНаСервере")
Процедура ПриСозданииНаСервере_ОДП(Форма, ДополнительныеПараметры)
	Если не ПараметрыИБМенеджерКлиентСервер_ОДП.ЭтоРабочаяИБ() Тогда
		ПараметрыОформления = ПараметрыИБМенеджерКлиентСервер_ОДП.ПолучитьПараметрыОформленияТестовойИБ();
		
		Если ПараметрыОформления.ИзменятьОформлениеФорм = Истина Тогда
			ПометкаТестовойИБКлиентСервер_ОДП.РаскраситьЭлементыФормыТестовойИБ(Форма, ПараметрыОформления);
		КонецЕсли;
	КонецЕсли;
КонецПроцедуры 

 

Вот так она вызывается в типовой форме (код из конф. ДО) в обработчике формы «ПриСозданииНаСервере»:

            // СтандартныеПодсистемы.Свойства

            ДополнительныеПараметры = Новый Структура;

            ДополнительныеПараметры.Вставить("Объект", Объект);

            ДополнительныеПараметры.Вставить("ИмяЭлементаДляРазмещения", "ГруппаСвойства");

            УправлениеСвойствами.ПриСозданииНаСервере(ЭтаФорма, ДополнительныеПараметры);

            // Конец СтандартныеПодсистемы.Свойства


Данное решение (версия с БСП) уже осуществляет такую интеграцию.

 

А вот и код процедуры раскраски:

 
 Функция РаскраситьЭлементыФормыТестовойИБ

 

Данная процедура поддерживает ещё один метод раскраске форм – ПОСЛЕ ОТКРЫТИЯ. Так раскрашиваются даже автогенерируемые формы отчетов:

 

Для этого есть специальный обработчик ожидания

 
 Процедура _ОбработчикОжидания_РаскраскаОткрытыхФормТестовойИБ

Отслеживает открытые формы (см. функцию «ОбработатьОткрытыеФормыТестовойИБ» выше по тексту) – и запускает алгоритм их раскраски (если он ещё не был запущен для них).  Выглядит очень здорово – раскрашиваются даже ВСТРОЕННЫЕ В КОНФИГУРАЦИЮ ФОРМЫ:

 

Но не все формы перекрашиваются (ну тут вообще периодические обработчики не выполняются, пока висит эта форма):

 

Кроме этого, есть три больших НО:

  1. Формы раскрашиваются с явной задержкой (период вызова обработчика 1 сек) + нужно время на раскраску.
  2. Изменение параметров оформления элементов формы производит ВЫЗОВ СЕРВЕРА на каждое изменение такого параметра каждого элемента!!! Я в ШОКЕ! Зачем вызывать сервер, чтобы изменить цвет отображения? Одной компании 1С это известно! Я такого в других языках ещё не встречал. Ну, и, соответственно, серверные вызовы при раскраске целой кучи элементов формы приводят к БОЛЬШИМ тормозам! Ведь открытые формы обрабатываются в клиентском контексте периодического обработчика ожидания!
  3. Перейти бы сначала в серверный контекст – там всё раскрасить и вернуться бы назад. Ап НЕТ! И тут проблема! Перевести форму в серверный контекст можно только из контекста самой формы (читай из алгоритма, расположенного в модуле это формы с директивной «НаСервере»). То есть (и опять много ругани я опускаю), из внешнего алгоритма нельзя перевести передать форму в серверный контекст (прямой серверный вызов – тоже не возможен – данные формы не сериализуются). Тупик!

В клиентском контексте изменение оформления формы тормозит из-за постоянных вызовов сервера, в серверный контекст форму можно перевести только из её модуля (или расширения её модуля) формы. Перехватить общее событие «ПриСозданииНаСервере» для всех форм нельзя – т.к. его нет.

Но данное решение всё-таки пытается как-то это оптимизировать. Есть две опции – одна включает/выключает раскраску открытых форм. Другая – ограничивает  количество раскрашиваемых элементов в клиентском контексте, что позволяет немного ускорит этот процесс – но всё равно – такие формы будут подтормаживать «при открытии» (ограничение на количество не распространяется на командную панель формы – она всегда раскрашивается независимо от этого ограничения). В общем, тут лучше самостоятельно поэкспериментировать. Тем более, что ещё есть много других опций по раскраске.

 

Ну а для своих форм (как, например, встроенная в решение форма параметров) – предлагается всё-таки:

  1. Ввести вызов общего универсального обработчика при создании формы (да и при открытии тоже) – код из данной общей формы:
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    	
    	Данные = ПараметрыИБМенеджерКлиентСервер_ОДП.ПараметрыИБЗагурзитьНастройки();
    	
    	Данные.ТестоваяИБПолеШрифтТекста = Данные.ТестоваяИБПолеШрифтТекста.Имя;
    	Данные.ТестоваяИБКнопкаШрифтТекста = Данные.ТестоваяИБКнопкаШрифтТекста.Имя;
    	Данные.ТестоваяИБНадписьШрифтТекста = Данные.ТестоваяИБНадписьШрифтТекста.Имя;
    	
    	ЗаполнитьЗначенияСвойств(ЭтотОбъект, Данные);
    	
    	Элементы.ГруппаОформлениеФорм.Видимость = ЭтотОбъект.ТестоваяИБИзменятьОформлениеФорм;
    	
    	ФормаМенеджер_ОДП.ПриСозданииНаСервереОбщаяФорма(ЭтаФорма, Отказ, СтандартнаяОбработка);
    
    	Элементы.ФормаСозранитьЗначенияИЗакрыть.Доступность = РольДоступна("ПолныеПрава");
    	
    КонецПроцедуры

    Вызов униврсален «ФормаМенеджер_ОДП.ПриСозданииНаСервереОбщаяФорма(ЭтаФорма, Отказ, СтандартнаяОбработка);» там внутри вызывается уже функция раскраски.
     
  1. Всегда размещать элементы формы внутри группы (я использую обычную группу без отображения «ГруппаРаскраски»); или включать опцию «Создавать панель для элементов».
  2. Всегда создавать формы (и выполнять в них рекомендации 1. и 2. И не использовать опцию «Отслеживать все открытые формы»)

 


 

Кто-то сочтёт, что эти рекомендации не будут актуальны после выхода платформы 8.3.13. Я же думаю, что даже после этого – ещё будет много желаний по раскраске «вручную» - платформа 8.3.13 даст очень ограниченные возможности по раскраске, и скорее дополнит данный «ручной» подход, чем заменит его.

 

Платформа 8.3.13 с новыми возможностями по управлению корпоративным стилем уже вышла, и данное решение будет дополнено этим новыми возможностями!

 


Параметры цветов берутся из настроек «Параметры ИБ»

 

Цвета задаются в шестнадцатеричном формате строкой (может быть получена в любом маломальском графическом редакторе, включая 1С: Конфигуратор 8).

Можно задать раздельные цвета для некоторых видов элементов формы. А также, задать имя шрифта – можно и его изменить. Если цвет/шрифт менять не нужно – поле просто нужно оставить пустым – поэтому не обязательно менять все доступные свойства цветов у элементов форм, например, раскрашивать можно только рамки:

 

 

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

Но можно раскрашивать не рамки, а, какое-нибудь другое доступное свойство – можно подобрать наиболее подходящее для конкретной конфигурации.

 

Примечание

Говоря о раскраске форм, замечу, что при использовании механизма «расширений конфигураций», можно перехватывать и расширять (дописывать) функции форм, так, что если у даже если формы вообще нет обработчика «ПриСозданииНаСервере», или в нём не вызывается универсальная функция из БСП. То этот вызов можно добавить в расширении для каждой такой формы отдельно! Да, придётся, конечно, расширить ряд форм – но это тоже некий вполне приемлемый подход. Ведь это почти никак не скажется на обновлении такой конфигурации. 

Аналогично, даже если у объекта нет формы в конфигураторе (т.е. используется автогенерируемая форма – например форма отчета) – можно внести этот объект в расширение и уже там добавить ему форму, в которой применить вышеприведённые рекомендации.

Достаточно сделать это для нескольких самых ключевых объектов конфигурации – и путаницы с тестовой базой будет намного меньше!

То же  самое, касается метода выдачи оповещений при открытии формы – нужно подключать его в событии формы «ПриОткрытии» (в клиентском контексте) – значит можно расширить это событие для ключевых форм.

В данном решении уже предусмотрены соответствующие глобальные обработчики – ищите их в общем модуле «ФормаМенеджер_ОДП».

 

 

Изменение положения панели списка открытых окон

Ещё одним хорошим признаком отличия тествой базы от рабочей было бы изменение положения панели списка открытых окон. Обычно в рабочих конфигурациях панель расположена сверху. Но в тестовой копии её можно было бы переместить вниз – это постоянно бы бросалось в глаза.  Для этого был написан програмный код (вызываемый в серверном контексте при начале работы системы):

 
 Процедура НастроитьПанельОкон

Но, увы, он так и не заработал! Панель списка открытых окон не перемещается ни вверх ни вниз. Как бы я не вызывал эту процедуру (переменная ЕстьИзменения точно = Истина).  Может у кого-то она заработает или кто-то подскажет в чём причина? Пока эта «фича» не работает.

 

И на последок…

 

Описание поставки и совместимость

На момент создания этой публикации,  данное решение поставляется с режимом совместимости платформы 1С Предприятие 8.3.9 – это имеет значение только для расширений (на более ранних версиях расширения не могу содержать своих общих модулей), но данные могут быть установлены на конфигурации с большей версией совместимости (контроль версий расширениях отключён)

Поставка состоит из двух независимых наборов: первый – «расширения конфигураций», второй – «конфигурации-дополнения».  Вы можете выбрать тот, вариант, что Вам больше подходит. Но оба имеют точки пересечения с типовыми метаданными. Для расширений это почти не проблема, в отличии от конфигураций-дополнений, которые нужно устанавливать в «ручном режиме».

Каждый набор состоит из нескольких конфигураций. На данный момент (26.09.2018) разница лишь в поддержке БСП. Есть вариант, не использующий интеграцию с БСП, без неё не происходит и автоматическое раскрашивание форм (придётся прописывать интеграцию вручную). Остальные варианты – это разные степени совместимости с БСП. Для расширений это очень принципиально, для конфигураций-дополнений – менее принципиально.

Позже наборы будут дополнены и вариантами разделения по версиям платформы (ожидаемо после выхода платформы 8.3.13), т.к. будут использовать новые «фичи», не доступные на более ранних платформах (важно то, что речь идёт именно о версии совместимости, установленной у основной конфигурации, а не версии платформы, на которой она выполняется).

Актуальный состав

  • ПроверкаТестИБ_1.0.3-БСП_2.4-1С_8.3.9.cfe – мин. платформа 8.3.9, мин. БСП 2.4
  • ПроверкаТестИБ_1.0.3-БСП_2.1-1С_8.3.9.cfe – мин. платформа 8.3.9, мин. БСП 2.1
  • ПроверкаТестИБ_1.0.3-1С_8.3.9.cfe – мин. платформа 8.3.9, БСП не используется
  • ПроверкаТестИБ_1.0.3-БСП_2.4-1С_8.3.9.cf – мин. платформа 8.3 мин. БСП 2.4
  • ПроверкаТестИБ_1.0.3-БСП_2.1-1С_8.3.9.cf – мин. платформа 8.3 мин. БСП 2.1
  • ПроверкаТестИБ_1.0.3-1С_8.3.9.cf – мин. платформа 8.3, БСП не используется

На данный момент все конфигурации-дополнения можно устанавливать на любую мажорную версию платформы или БСП, а вот расширение для БСП 2.1 будет работать на БСП 2.3, но не будет  работать на БСП 2.4. Версия для БСП 2.4 не проверялась на БСП 3.0 (но, по идеи, должна работать).

 

Конфигурации состоят из нескольких общих модулей, общей формы, обработки вызова настроек и общих картинок. Так же есть код в модуле приложения.  Есть пересечения в модулях с процедурами основной конфигурации, сводящиеся к вызову дополнительной процедуры из состава данного решения.  Расширения с БСП имеют связи с общими модулями БСП основной конфигурации (требуется их наличии и такой же формат сигнатуры расширяемых методов).

 

Все элементы распределены по подсистемам.

 

Для расширений интеграция осуществляется через расширение методов общих модулей:

&После("ПриНачалеРаботыСистемы")

Процедура ПриНачалеРаботыСистемы_ОДП()

            ПометкаТестовойИБКлиентСервер_ОДП.ИнициализацияТестовойИБ();

КонецПроцедуры


Для конфигураций-дополнений эти вызовы придётся совмещать вручную при установке конфигурации «сравнением-объединением»:

расширение
 
 ПриНачалеРаботыСистемы

Данное решение разрабатывалось и тестировалось ТОЛЬКО для платформы WINDOWS, тонкий и толстый клиент, интерфейс ТАКСИ. На других платформах (клиентах, включая WEB-клиент) могут быть проблемы, например, с файловыми базами (так как там другой формат путей) у функции «ПутьКИнформационнойБазе» (буду признателен тем, кто протестирует и доработает данную функцию для других платформ).

Решение предназначено ТОЛЬКО для УПРАВЛЯЕМОГО ПРИЛОЖЕНИЯ!

 

Решение было протестировано на конфигурациях :

  • Документооборот 8 КОРП, редакция 2.1 (2.1.11.5)
  • Бухгалтерия предприятия, редакция 3.0 (3.0.64.54)
  • На нетиповой конфигурации

 

И платформах

  • 1С: Предприятие 8.3.12.1616 (в разных режимах совместимости от 8.3.9 и выше).
  • 1С: Предприятие 8.3.10.2561

 

Установка решения

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

Расширения с поддержкой БСП расширяют процедуры основной конфигурации и могут быть установлены только с отключением безопасного режима.  Больше, при установке расширения, ни о чём думать не нужно (разве, что о настройке – о не ниже).

 

При нежелании или не возможности использовать расширение (например, у основного решения версия совместимости ниже чем 8.3.9) решение устанавливается через сравнение-объединение. Так как в решении (даже без БСП) есть точки пересечения с основной конфигурацией, то их нужно обработать вручную при сравнении-объединении:

  1. Предварительно в основной конфигурации нужно включить возможность редактирования типовых модулей, имеющих пересечение (на картинке выше они отмечены жёлтыми значками), а так же корня конфигурации
  2. Установить режим объединения «Объединить с приоритетом основной конфигурации»
  3. Перейти в режим настройки объединения общего модуля
  4. Вручную отредактировать результат объединение в пересекающихся процедурах:
    • Убрать авто-комментарии объединения (к сожалению, 1С тут сильно чудит – «грязи» будет много)
    • Перенести код из конфигурации-дополнения в конец процедуры основной конфигурации
  5. Не забыть объединить «Модуль управляемого приложения» (у корня конфигурации, остальные свойства корня нужно снять).

 

Никакая настройка прав и ролей у данного решения НЕ ТРЕБУЕТСЯ!


После установки решения и запуска нового сеанса оно частично уже начнёт работать – будет изменён заголовок основного окна информационной базы. Выдачу предупреждений и раскраску форм необходимо будет включить отдельно в настройках - нужно будет задать режим определения тестовой базы и Ваш актуальный список строк подключения (без него база буде считаться рабочей).

Чтобы открыть настройки нужно открыть «Все функции» и открыть там обработку «Параметры ИБ (ОДП)» под полными правами.

 

Установить данное решение нужно (после тестирования на копии) на РАБОЧУЮ БАЗУ! И все новые копии рабочей базы сразу же начнут его использовать по назначению – выдавая пользователям соответствующее информирование при работе в тестовых базах!

 

При желании, цветовую раскраску и оповещения можно переделать на выдачу не в тестовых базах, а наоборот – В РАБОЧИХ – если больше внимания пользователям (да и программистам) нужно уделать именно «случайной» работе рабочих базах!


Задача в to-do лист: Сделать возможность раздельной настройки для пользователей: чтобы, например, пользователей предупреждать о работе в тестовой базе, а программистов – наоборот – о работе в рабочей базе! Возможны и другие сценарии разделения информирования по пользователям.

И ещё одна задача в to-do лист: Расширить настройку для поддержки РИБ.

 

На этом всё. Жду Ваших предложений и замечаний в комментариях к данной публикации. Следующая версия решения уже будет с поддержкой возможностей платформы 1: Предприятие 8.3.13 (и будет работать только в режиме совместимости с данной платформой).
 

Спасибо за внимание, надеюсь это решение будет кому-то полезным.

 

История изменения версий:

1.0.0.0 :       Первая версия

  • Определение тестовой базы по строкам соединения
  • Периодическая выдача оповещений
      1.  

1.0.1.1 :

  • Расширение настроек оповещения
  • Сохранение настроек оповещений в общее хранилище
  • Отслеживание активности окон
  • Изменение заголовка окна

1.0.2.1 :

  • Расширение настроек раскраски форм
  • Создание отдельных версий для разных БСП и отдельной конфигурации
  • Раскраска форм при их создании
  • Добавление новых методов определения тестовой базы
  • Расширение поддержки разных форматов строк соединения с ИБ

1.0.3.1 :

  • Расширение настроек оповещения
  • Расширение настроек раскраски форм (в т.ч., возможность изменение шрифтов)
  • Немного изменен оттенок фона раскраски
  • Возможность автоматического создания группы с фоном для элементов формы
  • Обработка открытых форм для раскраски
  • Расширение поддерживаемых видов элементов форм и поддерживаемых свойств для раскраски (рамка, фон, цвет и шрифт текста)
  • Возможность выдавать оповещения в момент открытия форм
  • Контроль на полные права при сохранении настроек
  • Возможность применить изменение настроек на текущий сеанс (в т.ч. без сохранения)
  • Открытие формы настроек при нажатии на панель оповещения

 

1.0.4.1 : (БУДУЩИЙ РЕЛИЗ) Ожидается поддержка изменения стилей форм (для ещё большего изменения их оформления в тестовых базах), а так же поддержка раздельного сохранения настроек для пользователей.

 

 

9

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

Наименование Файл Версия Размер
Расширение, мин. платформа 8.3.9, мин. БСП 2.4
.cfe 48,04Kb
26.09.18
0
.cfe 1.0.3-БСП_2.4-1С_8.3.9 48,04Kb Скачать
Расширение, мин. платформа 8.3.9, БСП не используется
.cfe 42,41Kb
26.09.18
0
.cfe 1.0.3-1С_8.3.9 42,41Kb Скачать
Расширение, мин. платформа 8.3.9, мин. БСП 2.1
.cfe 46,66Kb
26.09.18
0
.cfe 1.0.3-БСП_2.1-1С_8.3.9 46,66Kb Скачать
Конфигурация, мин. платформа 8.3, БСП не используется
.cf 46,40Kb
26.09.18
0
.cf 1.0.3-1С_8.3 46,40Kb Скачать
Конфигурация, мин. платформа 8.3 мин. БСП 2.1
.cf 51,45Kb
26.09.18
0
.cf 1.0.3-БСП_2.1-1С_8.3 51,45Kb Скачать
Конфигурация, мин. платформа 8.3 мин. БСП 2.4
.cf 52,34Kb
26.09.18
0
.cf 1.0.3-БСП_2.4-1С_8.33 52,34Kb Скачать

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. Alexey_ 23 26.09.18 13:46 Сейчас в теме
Но, увы, он так и не заработал!

а где ОбновитьИнтерфейс()?
2. Darklight 19 26.09.18 13:48 Сейчас в теме
(1)Пробовал - не помогло. Да и в описании больше речь о функциональных опциях чем о панелях основного окна.
Оставьте свое сообщение

См. также

Альтернативный способ добавления элементов и реквизитов на формы 29

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 ERP2 УТ11 Россия Абонемент ($m) Работа с интерфейсом

Предлагаю альтернативный вариант добавления динамически создаваемых элементов и реквизитов на форму.

1 стартмани

09.09.2019    2370    4    bmk74    0       

Удобный выбор из таблицы/дерева в УФ 61

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Практика программирования Работа с интерфейсом Разработка

Выбор из таблицы значений или дерева значений в выпадающем списке рядом с полем ввода - УФ, быстро и просто!

1 стартмани

12.08.2019    2883    4    Yashazz    18       

[Механизм интерфейса] Свой флажок (чекбокс) 109

Инструменты и обработки Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Работа с интерфейсом

Создадим свой флажок для интерфейса, используем простой универсальный алгоритм.

1 стартмани

09.08.2019    4102    4    rpgshnik    37       

Отбор на управляемой форме из списка значений 41

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Практика программирования Работа с интерфейсом Разработка

Пример простого удобного отбора любых данных ссылочного типа на управляемой форме. Работа обработки проверена на релизе: 1С:Предприятие 8.3.13.1513.

1 стартмани

09.08.2019    4188    4    nagaitseff    6       

Изменяющееся контекстное меню в 1С 8.3 44

Статья Программист Архив с данными v8 v8::УФ Абонемент ($m) Практика программирования Разработка Работа с интерфейсом

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

1 стартмани

06.08.2019    4229    1    signum2009    14       

"Мобильный ТСД" - инвентаризация и сбор штрихкодов для iOS и Android 21

Инструменты и обработки Программист Пользователь Расширение (cfe) v8 v8::Mobile Розница УНФ ERP2 УТ11 КА2 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика УУ Монитор заказов Оптовая торговля Розничная торговля Ценообразование, анализ цен Абонемент ($m) Внешние источники данных Сканер штрих-кода Терминал сбора данных Работа с интерфейсом Мобильная разработка

Простой мобильный терминал сбора данных для iOS и Android, не требующий сложных настроек и установки дополнительных программ. Для выгрузки базы штрихкодов и загрузки собранных штрихкодов в документы учетной системы используется Яндекс Диск или облачный сервис и расширение конфигурации. Работает с конфигурациями Розница 2, УНФ 1.6, УТ 11, ERP, КА2.

3 стартмани

22.04.2019    9705    51    suepifanov    61       

Расширение: Цветовые схемы для 1С: Предприятия 10

Инструменты и обработки Программист Расширение (cfe) v8::УФ 1cv8.cf Абонемент ($m) Работа с интерфейсом

Расширение позволяет сменить цвет оформления для интерфейса Такси.

1 стартмани

10.02.2019    5139    21    spec8s    4       

Шпаргалка разработчика для работы с формами 23

Отчеты и формы Программист Архив с данными v8 Россия Абонемент ($m) Работа с интерфейсом

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

3 стартмани

31.10.2018    7824    68    ELAM    3       

Открывашка ячеек таблиц 85

Инструменты и обработки Программист Расширение (cfe) v8 1cv8.cf Абонемент ($m) Работа с интерфейсом

Глобальное сочетание клавиш для открытия объекта по ссылке из текущей ячейки любой таблицы в большинстве управляемых форм

1 стартмани

27.10.2018    9210    11    tormozit    28       

Визуализация событий на временной шкале средствами "Поле HTML документа" 165

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Работа с интерфейсом

Интересный способ наглядно отобразить события на временной шкале. Например, может быть применен для красивого вывода документов по клиенту. Тестировалось на платформе 8.3.12.1469

1 стартмани

31.07.2018    13841    127    Plotks2017    24       

Продвинутое рисование в табличном документе (стрелок и не только) 73

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 Абонемент ($m) Практика программирования Работа с интерфейсом

Вспоминаем геометрию и основы компьютерной графики. Матрицы и аффинные преобразования на плоскости.

1 стартмани

24.07.2018    8052    16    WalterMort    27       

Работа с данными выбора 38

Инструменты и обработки Программист Архив с данными v8 Россия Абонемент ($m) Практика программирования Работа с интерфейсом

В управляемом интерфейсе заложена мощная возможность описывать связи реквизитов формы через параметры. Установка параметров связей позволяет ограничить выбор данных так, чтобы целостность данных была обеспечена на этапе ввода. Однако без дополнительного программирования задать можно только самые простые связи. Такие условия связи, как зависимость от реквизита через точку или зависимость через дополнительное отношение, заданное в регистре сведений - уже задать без программирования не получится.

1 стартмани

17.07.2018    19602    13    kalyaka    15       

Управление состоянием формы через конечный автомат 81

Статья Программист Конфигурация (md, cf) v8 Россия Абонемент ($m) Практика программирования Работа с интерфейсом

Взаимодействие пользователя с интерфейсом приводит к изменению состояния формы и её элементов. Элементы отражают текущее состояние формы через свойства: видимости, доступности, оформления, текста заголовка и т.д. Даже при небольшом количестве элементов количество возможных состояний формы может быть достаточно большим. Необходимость учета всех состояний формы порождает сложные алгоритмы настройки элементов. В статье рассматривается алгоритмическое решение перехода к состоянию формы с использованием функционального подхода на основе декларативного описания

1 стартмани

19.06.2018    9911    11    kalyaka    35       

Иерархическая диаграмма 42

Инструменты и обработки Программист Бизнес-аналитик Руководитель проекта Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Работа с интерфейсом

Концепция диаграммы по иерархической структуре данных, например по номенклатуре (продажи или остатки на складах).

2 стартмани

17.06.2018    7134    14    DrAku1a    4       

Шаблон MVC для управляемого интерфейса 73

Статья Программист Архив с данными v8::УФ 1cv8.cf Россия Абонемент ($m) Работа с интерфейсом

Мы воспринимаем как что-то само собой разумеющееся интуитивно понятный интерфейс, мгновенно реагирующий на наши клики, подстраивающийся под уже сделанный нами выбор. А между тем за этой возможностью - решение серьезных алгоритмических задач. В общем случае решения этих задач уже найдены, но проблема их конкретного применения остается как для выбранного окружения (веб-браузер, экран мобильного телефона, компьютер), так и возможностей языка программирования. В следующей статье представлено одно из таких применений общего решения на основе шаблона MVC для 1С в сочетании с возможностями управляемых форм и декларативного описания интерфейса.

1 стартмани

14.03.2018    15214    11    kalyaka    37       

Программная работа с графическими схемами. Готовое решение 39

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Универсальные обработки Работа с интерфейсом

Работоспособное, проверенное на практике, простое и удобное программное управление графическими схемами.

1 стартмани

18.02.2018    11377    16    Yashazz    13       

Тестирование интерфейса в обычном приложении 8.2 при помощи SikuliX 105

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика Работа с интерфейсом

Как же не хватает клиента тестирования на платформе 8.2. Не кликнешь на кнопку, не выберешь из списка, не проверишь видит ли надпись пользователь. Воспользуемся внешним инструментом SikuliX, который позволит нам протестировать функционал форм. Данный инструмент легко встраивается в линию сборки и может "дружить" с уже известным многим Open-source продуктами.

1 стартмани

03.01.2018    19559    2    kraynev-navi    40       

Программное формирование форматированной строки в стиле html+inline CSS 52

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Работа с интерфейсом Инструментарий разработчика

Если вам приходилось работать с форматированными строками программно, то вы знаете, какая это боль. Данное решение облегчает программное формирование таких строк.

1 стартмани

18.11.2017    19176    24    bonv    5       

Размеры управляемой формы 100

Статья Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Практика программирования Работа с интерфейсом Универсальные функции

Как рассчитать ширину и высоту управляемой формы или отдельного элемента, чтобы адаптировать интерфейс программно при их изменении.

1 стартмани

08.10.2017    17573    46    json    8       

Программное создание элементов графической схемы (через XSLT) 57

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Практика программирования Работа с интерфейсом

Встала как-то передо мной задача визуализировать определенный прикладной процесс, лучше всего для этого подходит графическая схема. Так уж вышло, что 1С по не понятным мне причинам не предоставила возможность программно работать с элементами графической схемы. Пришлось импровизировать.....

1 стартмани

20.07.2017    13862    49    lazarenko    16       

Расширенная настройка динамического списка УФ 115

Инструменты и обработки Программист Расширение (cfe) v8 v8::УФ 1cv8.cf Абонемент ($m) Работа с интерфейсом

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

1 стартмани

31.05.2017    24132    143    tormozit    20       

Менеджер открытых форм 33

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8::УФ 1cv8.cf Абонемент ($m) Работа с интерфейсом

Обработка получает информацию об открытых формах и позволяет ими манипулировать.

1 стартмани

13.04.2017    16100    31    SeiOkami    16       

Управляемые формы. Итоги в динамических списках 82

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8::УФ 1cv8.cf Россия Абонемент ($m) Универсальные обработки Работа с интерфейсом

Многие задаются вопросами расчета итогов динамических списков в управляемых формах. Здесь мы не будем претендовать на академичность, оставим споры, что мол это не нужно, что это все равно что считать бородатых мужиков на движущемся эскалаторе, что это дополнительная нагрузка. Все это понимают, Кто не понимает - поймет на практике. Поэтому основываемся на... "снегопад, снегопад, если женщина просит..." или "..а мня плевать - мне очень хочется.." Я попытался решить практические проблемы при расчете и выводе итогов. В приложении примеры расчета итогов в иерархическом справочнике и журнале документов.

1 стартмани

15.12.2016    26234    12    argut    12       

Простой редактор плана помещения JavaScript 100

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Практика программирования Работа с интерфейсом

На ресурсе сейчас очень много решений, которые позволяют редактировать карты, используя географические схемы. Так же много решений, которые позволяют редактировать объекты онлайн веб-карт. Мне же нужно было простое решение, для того чтобы расставить квадратные объекты на плане, показать их пользователю. Ну и распечатать, опять же. Я решил написать простенький редактор на JavaScript с использованием библиотеки Raphael.

1 стартмани

23.11.2016    14836    91    igel9780    16       

Настройка начальной страницы (Рабочего стола) 47

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Работа с интерфейсом Рабочее место Универсальные обработки

Альтернатива стандартной настройке начальной страницы. В типовой доступны лишь те формы, что явно "разрешены" разработчиком в режиме конфигуратора. Эта обработка позволяет собрать "Рабочий стол" из любых подходящих форм в пользовательском режиме. Без программирования. БСП не используется. Не расширение. Универсальна, т.е. подойдет для любой конфигурации (в т.ч. самописной).

2 стартмани

19.10.2016    24171    186    Erne100    24       

[Расширение] Стартовые страницы. Автозапуск форм при старте 1С. (8.3.9+, без доработки конфигурации) 51

Инструменты и обработки no Расширение (cfe) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Работа с интерфейсом

Уверен, что в большинстве случаев список справочников, отчетов, обработок (объектов 1С в целом), к которому обращаются пользователи после запуска конфигурации 1С, раз от раза меняется не сильно. Так почему бы немного не упростить процесс открытия часто используемых форм? Данное расширение позволяет настроить автоматическое открытие различных форм объектов сразу после запуска 1С. Список форм настраивается индивидуально для каждого пользователя. Работает на платформе 8.3.9, без доработки конфигурации.

1 стартмани

03.10.2016    15884    78    Artem-B    19       

Конструктор условного оформления 40

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Работа с интерфейсом

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

1 стартмани

27.09.2016    12733    15    Fragster    6       

HTTP-сервис: отчеты [Расширение] 122

Инструменты и обработки Системный администратор Программист Расширение (cfe) v8 1cv8.cf Абонемент ($m) Практика программирования Работа с интерфейсом

Это HTTP-сервис, который возвращает почти любой отчет в HTML, XLSX или в JSON. Сохраните вариант отчета, получите на него ссылку и можно получить данные без захода в 1С. Работает в конфигурациях на основе БСП 2.3.3+, для отчетов на СКД и в 1С 8.3.8+

2 стартмани

30.08.2016    18875    125    Stepa86    15       

Простые радости жизни программиста 1С: выбор типа значения 51

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Практика программирования Работа с интерфейсом

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

1 стартмани

17.02.2016    38478    45    yuraos    17       

Визуальный редактор цветовых схем подсветки синтаксиса 1С + импорт схем Visual Studio 43

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Работа с интерфейсом

Данная обработка призвана облегчить настройку рабочего места программиста 1С, а именно улучшить визуальное восприятие кода, уменьшить утомляемость, и, как следствие, увеличить общую производительность труда!

1 стартмани

29.01.2016    11476    74    ram3    27       

Передача реквизитов объекта из основной формы в дополнительную и обратно на управляемых формах 91

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Работа с интерфейсом

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

1 стартмани

02.11.2015    22207    8    Wolex    29       

Инструмент для создания веб приложений на основе 1С REST сервиса 67

Инструменты и обработки Программист Пользователь Приложение (exe) v8 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика WEB Работа с интерфейсом

Обзор платформы-конструктора для создания веб-приложений, использующих в качестве источника базы данных 1С

1 стартмани

13.10.2015    21323    82    dmzubr    23       

Асинхронная загрузка данных на Управляемую Форму. Прогресс бар (УФ 8.3). Индикация состояния процесса 78

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Работа с интерфейсом Универсальные функции Внешние источники данных

Часто бывает, что возникает необходимость загрузить множество данных из разнообразных источников в определенную форму или рабочее место. В процессе загрузки пользователь в неведении — информация готовится или нет. Прием позволяет загружать данные из нескольких источников асинхронно, не блокируя форму\интерфейс, а также отображать ошибки и состояние прогресса. По мере готовности данных, они будут отображены на форме

1 стартмани

09.10.2015    28726    133    pbazeliuk    6       

Визуальный html редактор на управляемых формах 64

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) WEB Работа с интерфейсом

Мы рассмотрим некоторые особенности и возможности подключения сторонних визуальных html редакторов на javascript - TinyMCE, CK Editor. С помощью приложенной обработки Вы сможете попробовать в действии полноценный и удобный визуальный html редактор, а при желании перенести подобный функционал к себе.

1 стартмани

30.09.2015    20679    183    ivanov660    26       

NativeDraw: Компонента рисования для 1С [V2.6.2] 106

Инструменты и обработки Программист Компонента, плагин (dll, vbs,..) v8 1cv8.cf Windows Абонемент ($m) Разработка внешних компонент Работа с интерфейсом

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

1 стартмани

13.07.2015    39508    421    ПерваяСистема    140       

Универсальное настраиваемое рабочее место (Версия 2.0) 52

Инструменты и обработки Системный администратор Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Универсальные обработки Работа с интерфейсом Рабочее место

При работе очень часто штатные интерфейсы 1С бывают неудобны в силу разной специфики работы каждого пользователя, а также конфигурация обычно "обрастает" новыми обработками, отчетами, документами и справочниками, которые требуются для работы организации, а в стандартных меню их, естественно, нет. Это особенно относится к толстому клиенту (например, программы УПП, УТ10.3 и пр.). Делать свои интерфейсы - не всегда спасает: то, что нужно одному пользователю, другому совершенно не надо, даже если у них одинаковые функциональные обязанности. Открывать все через меню "Операции" тоже неудобно: у нас, например, за несколько лет работы добавилось столько нового и специфичного, что уже и не помнишь, что и для чего. Поэтому родилась идея сделать что-то удобное и универсальное, что и получилось в результате: пользователь сам, не прибегая к помощи программиста, может сделать удобное меню для себя и всегда изменить, если требуется. И без всяких изменений конфигурации...

3 стартмани

13.06.2015    11977    120    yuraskid    29       

Кнопки управления группировками табличного документа для управляемых форм 23

Инструменты и обработки Программист Внешний отчет (ert,erf) v8 1cv8.cf Абонемент ($m) Работа с интерфейсом

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

1 стартмани

02.06.2015    21628    31    unichkin    9       

Управляемая форма 1С 8.2 (8.3) – работа с деревом значений и таблицей значений. Часть I (Основы) 64

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Windows Абонемент ($m) Практика программирования Работа с интерфейсом

Как известно, в платформе 1С 8.1 не составляло никакого труда связать дерево значений с табличным полем на форме, единственное, что при этом нужно было не забыть, так это СоздатьКолонки(). В управляемом приложении 1С 8.2 (8.3) сделать это не так просто, как кажется на первый взгляд. В данной статье речь пойдет о программном создании дерева значений (таблицы значений) на управляемой форме в управляемом приложении 1С

2 стартмани

14.05.2015    69618    25    ll13    13       

[БП 3.0] [ЗУП 3.1 ] [БГУ 2.0] [УТ 11.4 ] [Расширения] Отключение регламента, оповещений и пр. 43

Инструменты и обработки Системный администратор Программист Расширение (cfe) v8 v8::БУ БП3.0 Россия Windows Абонемент ($m) Работа с интерфейсом

Облегчить жисть БП 3.0 отключением всякого разного можно! Обработка позволяет отключить ряд оповещений, регламентных заданий (подробно описано в http://infostart.ru/public/303564/). Кроме того, позволяет более подробную настройку использования: - Регламентных и фоновых заданий; - Информации для форм; - Задач бухгалтера (где они есть). 21.01.2019 Версии с новым режимом совсместимости для основных конфигураций С удовольствием выслушаю (по возможности реализую) сообщество, что ещё можно сделать, чтобы программа работала по шустрее.

1 стартмани

04.03.2015    22330    131    Alex_E    17       

Подсистема "Планировщик" (версия 1.1) 138

Отчеты и формы no Конфигурация (md, cf) v8 1cv8.cf Россия Абонемент ($m) Практика программирования WEB Работа с интерфейсом

Конфигурация с подсистемой "Планировщик" (календарь). Бесплатная открытая версия для свободного использования не включает двустороннюю интеграцию с сервисом Google и Outlook.com.

5 стартмани

02.03.2015    55682    463    vandalsvq    62       

Анимация фона элементов на форме в стиле JQuery 75

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Работа с интерфейсом

К сожалению, у платформы 1С не так много красивостей, которыми обычно сдабривают формы обычных web-страниц. Нам недоступны эффекты JQuery и других javascript-библиотек. А иногда хочется сделать необычно, красиво и удобно.

1 стартмани

18.02.2015    13873    27    kraynev-navi    9       

[ТАКСИ] Шаблон внешней обработки...и не только 207

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Универсальные обработки Работа с интерфейсом Универсальные функции

Обработка предназначена для лентяев, к каковым, в первую очередь, отношу себя. Это в некотором роде шпаргалка в виде шаблона внешней обработки. Для создания новой копируем эту, удаляем ненужное, вставляем нужное - получаем результат. Чем ваять с нуля, каждый раз прописывая одно и то же, проще использовать заготовку, подобную этой... 24.11.2018 - Версия 1.21 - что-то добавил, что-то поправил.... 16.04.2019 - По просьбам трудящихся (немногочисленным, правда) оставил последнюю версию 1.21, дабы не было путаницы... 17.04.2019 - Версия 1.22 Вернул пример сохранения табличного документа в разных форматах и чтения DBF из версии 1.16 (как потерялось - сам не понял)

2 стартмани

22.09.2014    46014    687    Alex_E    27       

Визуализация и интерактивное изменение дерева значений. 68

Инструменты и обработки no Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Практика программирования Универсальные обработки Работа с интерфейсом

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

1 стартмани

01.08.2014    16773    99    Belkin_Sergey    27       

Локализация конфигурации с помощью Google 13

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика Работа с интерфейсом

Обработка позволяет выполнять перевод интерфейсов в любой конфигурации 1С средствами Google. За основу взята обработка: http://infostart.ru/public/190890/

1 стартмани

06.06.2014    15415    32    x-tremeall    6       

Прогресс-бар длительных серверных операций (БСП) 45

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Работа с интерфейсом

Простой и удобный шаблон для подобного рода задач в виде внешней обработки. Используется технология, предлагаемая в БСП (Библиотеке Стандартных Подсистем), практически без ноу-хау. Доработано таким образом, что обработка может быть как встроенной в конфигурацию, так и внешней.

1 стартмани

23.04.2014    24034    255    herfis    14       

Алгоритмы. Часть 1.1. Динамические соединения. 186

Инструменты и обработки Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Работа с интерфейсом

Конспект первой лекции из свежего курса Принстонского университета США за 2014 год. Вольный перевод с английского с реализацией примеров на 1С. Курс в целом достаточно интересный и полезный для общего развития. Перевел и адаптировал только первую лекцию (в 1 части 11 лекций, 2 часть - еще не завершена преподавателями). Первоисточник на английском - https://www.coursera.org/course/algs4partI. Если сообщество посчитает материал полезным - займусь переводом следующих лекций (но это довольно трудоемко). Enjoy! :)

1 стартмани

04.04.2014    27770    23    Aleksey.Bochkov    33