Красивая временная блокировка (7.7+Formex)
Администрирование - Информационная безопасность
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Можно просто добавить на панель инструментов или
заменить стандартную блокировку с помощью //infostart.ru/projects/602/
Вступайте в нашу телеграмм-группу Инфостарт
См. также
Разработка внешних компонент Разработчик 1С:Предприятие 7.7 1С:Предприятие 8 Абонемент ($m)
PDFConverter — высокопроизводительная нативная компонента для работы с PDF-документами в среде 1С:Предприятие 8.
10 стартмани
20.03.2026 1772 19 v_peroff 8
Разработка внешних компонент Разработчик 1С:Предприятие 7.7 1C77 Абонемент ($m)
Внешняя компонента позволяет в среде 1С 7.7 работать с бинарными файлами: анализировать их, создавать новые, копировать, корректировать и комбинировать. Имеются функции сжатия и разжатия строк и бинарных данных.
1 стартмани
10.06.2025 2843 1 mdbruyfn 0
Разработка внешних компонент Разработчик 1С:Предприятие 7.7 1C77 Абонемент ($m)
Внешняя компонента позволяет в среде 1С 7.7 работать с ZIP-архивами: создавать архивы, читать их и разархивировать.
1 стартмани
29.05.2025 2927 3 mdbruyfn 2
Разработка внешних компонент Разработчик 1С:Предприятие 7.7 1C77 Абонемент ($m)
Компонента позволяет в среде 1С 7.7 генерировать двухмерный QR код из любого текста длиною до 1800 символов и сохранять его в файле BMP формата. Из файла он может быть загружен в объект 1С "Картинка".
1 стартмани
29.01.2025 3406 6 mdbruyfn 4
Разработка внешних компонент Системный администратор Разработчик 1С:Предприятие 7.7 1С:Предприятие 8 Россия Платные (руб)
Аддон "Структура Обмена" (ExchangeStruc) - это компонента, которая обеспечивает доступ к разделяемым процессом структурам, аналогичным структурам 1С. Обеспечивает прозрачную передачу данных примитивных типов, в том числе Двоичных данных, в режиме Реального времени между разными контекстами (формами) или потоками одного процесса. В перспективе функционал будет расширен для обмена между процессами, даже разных версий платформ. Совместим с версиями Windows рабочих станций и серверов, с платформами 1С разных версий и релизов в режиме Native начиная с 8.2, и в режиме COM начиная с версий 7.7. По скорости чтения и записи лишь немногим уступает стандартной структуре 1С. НОВОЕ: Добавлен функционал регистрации компоненты COM в качестве OLE Auto (COMОбъект) для поддержки её работы в серверах старых версий 1С: 8.0 и 8.1, где работа с компонентами исключена. Теперь можно коммуникацию с Фоновыми заданиями на этих версиях проводить.
7320 руб.
19.04.2023 7319 1 0
Разработка внешних компонент WEB-интеграция Разработчик 1С:Предприятие 7.7 1C77 Платные (руб)
Компонента HttpSrv7 позволяет создавать веб-сервисы в среде 1С 7.7 и, используя файлы HTML, несложные веб-сайты. С помощью нее можно обеспечить доступ к данным 1С 7.7 из браузера. Дополнительно используя компоненту HTTP_Async можно наладить обмен данными между удаленными информационными базами по протоколам HTTP, HTTPS и WebSocket. С помощью компоненты HttpSrv7 используя протокол WebSocket можно создавать и поддерживать работу нескольких чатов. С помощью компоненты HTTP_Async можно асинхронно отправлять HTTP-запросы к сайтам, веб-сервисам (в т.ч. к HTTPSrv7) и обрабатывать ответы по мере их поступления. Компонента GISMT в дополнение к HTTP_Async имеет функцию цифровой подписи в формате Base64 и, таким образом, имеет все возможности для работы с API ГИС МТ "Честный знак" непосредственно из среды 1С 7.7.
6100 руб.
27.05.2022 13646 2 20
Разработка внешних компонент Разработчик 1С:Предприятие 7.7 Платные (руб)
Компонента для выбора значения из больших списков значений.
5084 руб.
02.12.2021 8345 3 19
Разработка внешних компонент Файловый обмен (TXT, XML, DBF), FTP Разработчик 1С:Предприятие 7.7 1C77 Абонемент ($m)
Эта внешняя компонента Base64.dll предназначена для платформы 1С версии 7.7. Используется для преобразования файлов из/в кодировку Base64 из встроенного языка 1С Предприятие. Компонента тестировалась на базе конфигурации Бухгалтерский учет для Казахстана, редакции 7.70.257.
10 стартмани
06.04.2021 13302 15 softmaker 18
FN_LOCK.ERT(76)}: Поле агрегатного объекта не обнаружено (ПолучитьХэшПароляПользователя)
ХешПравильногоПароля=Сервис.ПолучитьХэшПароляПользователя(ИмяПользователя(), КаталогИБ());
Идея - супер! Автору - уважуха и респект!
Провел несколько экспериментов и сделал для себя открытие. Оказывается, пароль в 1С 7.7 регистронезависимый! :((((
Столько лет я верил что регистр имеет значение ...
Исходя из этого, при проверке можно оставить только переменные: <ХешПравильногоПароля> и <ХешПароля2>. И условие упростить:
Если ХешПравильногоПароля=ХешПароля2 Тогда
... снять блокировку ...
КонецЕсли;
по поводу регистронезависимого пароля - для меня тоже открытие (sarius подсказал), но так как я лично тестов не проводил, то просто добавил еще одну проверку.
У меня используется обработка - так если вызывать с помощью хоткея какой-нибудь журнал - то он открывается под "экраном блокировки", что есть не очень-то красиво...
то же самое относиться к хоткеям на кнопках и пунктах меню...
Но уж сильно большой список нужных клавиш у тебя получился.
Я бы пошел по принципу "чего меньше". Меньше перечислений нужных или НЕ нужных. Проследил бы закономерность всех хоткеев, например, они все используют сочетание Контр+Шифт, или везде используются функциональные (F?) и т.д.
Но не подумай что я тебя учу? Тем более, что обработка уже написана и работает!
Хочу отметить - написана хорошо даже для не опытных или начинающих - только скачай и запускай! Это признак профессионализма!
:)
А по сути я и пошел по принципу "чего меньше" - просто у меня уже есть несколько обработок, которые содержат в себе списки "отфильтрованных" клавиш и я банально сделал копи-паст ;)
Для х=1 по 220 Цикл
х=х+14;
Форм.Прозрачность=х;
КонецЦикла;
Меняй на
Для х=1 по 250 Цикл
х=х+14;
Форм.Прозрачность=х;
КонецЦикла;
Форм.Прозрачность=255;
P.S. у нас в компании важные данные вообще запрещено оставлять на экране даже при блокировке, в остальных случаях - наоборот присутствует определенная открытость - сотрудник временно отошел, но он работает и даже видно над чем.
"...
Для х=1 по 190 Цикл
х=х+14;
Форм.Прозрачность=х;
ВыполнитьЗадержку(500);
КонецЦикла;
..."
Когда экран затемняется постепенно, то очень красиво получается.
А для разблокировки задержка не нужна. Работать надо ведь быстро, правильно? :)
Вот код функции:
//-----------------------------------------------
Функция ВыполнитьЗадержку(мс=1000) Экспорт
// Устанавливает задержку в указанных миллисекундах
Попытка
TextScript="
|Function pause(ms)
| WScript.Sleep ms
|End Function
|";
ScrptCtrl=CreateObject("MSScriptControl.ScriptControl");
ScrptCtrl.Language = "vbscript";
ScrptCtrl.AddCode(TextScript);
ScrptCtrl.Run("pause",1000);
ScrptCtrl=Пусто;
Возврат 1;
Исключение
Возврат 0;
КонецПопытки;
КонецФункции // ВыполнитьЗадержку
-==Глобальный модуль==-
//ЛОКАЛЬНЫЕ ПЕРЕМЕННЫЕ
Перем ЕстьАктивность; //нужна для определения активности пользователя
//глобальная процедура внешней компоненты FormEx
//__________________________________________________________
Процедура ПриНажатииКнопкиКлавиатуры(Конт, КодКл, кнАльт, кнШифт, кнКонтрол, Символ)
ЕстьАктивность = 1;
КонецПроцедуры
//__________________________________________________________
Процедура ЗаблокироватьПрограмму()
//проверка активности пользователя
//в конце каждой минуты флаг активности выставляем в ноль
//если за минуту активность была то время неактивности обнуляем
//иначе время неактивности накапливаем
//как только время неактивности достигает значения переменной
//КолвоМинутДоБлокировки - блокируем программу.
Если ПустоеЗначение(глПользователь.КолвоМинутДоБлокировки) = 1 Тогда
Возврат;
КонецЕсли;
Если ЕстьАктивность = 0 Тогда
ВремяНеактивностиПользователя = 1 + ВремяНеактивностиПользователя;
Иначе
ВремяНеактивностиПользователя = 1;
КонецЕсли;
Если ВремяНеактивностиПользователя = глПользователь.КолвоМинутДоБлокировки Тогда //КолвоМинутДоБлокировки Тогда
Если глПрограммаЗаблокирована = 0 Тогда
глПрограммаЗаблокирована = 1;
ОткрытьФормуМодально("Обработка.ПроверкаПароля", "Блокировка");
КонецЕсли;
КонецЕсли;
ЕстьАктивность = 0;
КонецПроцедуры // ЗаблокироватьПрограмму
//__________________________________________________________
Процедура парамОбработкаОжидания()
ЗаблокироватьПрограмму();
КонецПроцедуры // парамОбработкаОжидания
//__________________________________________________________
Процедура ПриНачалеРаботыСистемы()
Если ЗагрузитьВнешниеКомпоненты() = 0 Тогда
СтатусВозврата(0);
Возврат;
КонецЕсли;
Если глПриНачалеРаботыСистемы() <> 1 Тогда
СтатусВозврата(0);
Возврат;
КонецЕсли;
//вызов процедуры парамОбработкаОжидания каждые 60 секунд (60000мС)
глСервис.ОбработкаОжидания("парамОбработкаОжидания", 60000);
КонецПроцедуры // ПриНачалеРаботыСистемы
при нективности. Посмешил. У меня стоит ЗавершитьРаботуСистемыНах() ибо не фиг там неактивному торчать. И бокировать у менеджера только 1С не вижу смысла.
Боликровать надо комп, решается скрин-сейвером с паролем. А тех манагеров, у которых он не стоит, у нас на первый раз предупреждают, на второй - выгоняют
//__________________________________________________________
Процедура ЗаблокироватьПрограмму()
//проверка активности пользователя
//в конце каждой минуты флаг активности выставляем в ноль
//если за минуту активность была то время неактивности обнуляем
//иначе время неактивности накапливаем
//как только время неактивности достигает значения переменной
//КолвоМинутДоБлокировки - блокируем программу.
Если ЕстьАктивность = 0 Тогда
ВремяНеактивностиПользователя = 1 + ВремяНеактивностиПользователя;
Иначе
ВремяНеактивностиПользователя = 1;
КонецЕсли;
Если ВремяНеактивностиПользователя = глПользователь.КолвоМинутДоБлокировки Тогда
Если глПрограммаЗаблокирована = 0 Тогда
глПрограммаЗаблокирована = 1;
ОткрытьФормуМодально("Обработка.ПроверкаПароля", "Блокировка");
КонецЕсли;
КонецЕсли;
Если ВремяНеактивностиПользователя > Константа.КолвоМинутДоВыходаПриНеактивности Тогда
ЗавершитьРаботуСистемы(0);
КонецЕсли;
ЕстьАктивность = 0;
КонецПроцедуры // ЗаблокироватьПрограмму
ХешПравильногоПароля=Сервис.ПолучитьХэшПароляПользователя(ИмяПользователя(), КаталогИБ());
{C:\DOCUMENTS AND SETTINGS\NEVASILEVSKIY\МОИ ДОКУМЕНТЫ\1С БАЗЫ\BASE КУРГАН\BASE\EXTFORMS\FORMEX.GRP\FN_LOCK.ERT(106)}: Поле агрегатного объекта не обнаружено (Полу
И чего не так? Скачал отдельно длл-ку, с офф.сайта - ни к черту. Все описанные рекомендации - делал.
в твоем случае должен быть
C:\DOCUMENTS AND SETTINGS\NEVASILEVSKIY\МОИ ДОКУМЕНТЫ\1С БАЗЫ\BASE КУРГАН\BASE\EXTFORMS\FORMEX.GRP\FORMEX.DLL
Не просто стабильная сборка, но в результате простого запуска 1С++ вся система 1С начнет работать быстрее :)
Например, СоздатьОбъект() будет работать намного быстрее, чем без 1С++ или даже со старыми версиями 1С++, где уже было ускорение.
И т.д. и т.п.
Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 19714
Создание 21.04.09 12:57
Обновление 23.04.09 00:00
Просмотры 28891
Загрузки 736
Рейтинг
49
Комментарии 90
Код открыт Не указано
Рубрики Информационная безопасность Разработка внешних компонент
Кому
Системный администратор
,
Разработчик
Тип файла Внешняя обработка (ert,epf)
Платформа
Оперативный учет 7.7
,
Бухгалтерский учет 7.7
,
Расчет 7.7
Конфигурация 1C77
Операционная система Не имеет значения
Страна Россия
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Абонемент ($m)