DemoExam.1С
1.0.0
dotnet add package DemoExam.1С --version 1.0.0
NuGet\Install-Package DemoExam.1С -Version 1.0.0
<PackageReference Include="DemoExam.1С" Version="1.0.0" />
<PackageVersion Include="DemoExam.1С" Version="1.0.0" />
<PackageReference Include="DemoExam.1С" />
paket add DemoExam.1С --version 1.0.0
#r "nuget: DemoExam.1С, 1.0.0"
#:package DemoExam.1С@1.0.0
#addin nuget:?package=DemoExam.1С&version=1.0.0
#tool nuget:?package=DemoExam.1С&version=1.0.0
////////// Процедура ПередЗаписью(Отказ) СсылкаПользователя = Справочники.Пользователи.НайтиПоНаименованию(ЭтотОбъект.Наименование, Истина); Если НЕ СсылкаПользователя.Пустая() И СсылкаПользователя <> ЭтотОбъект.Ссылка Тогда Отказ = Истина; Сообщить("Пользователь с таким именем уже существует"); КонецЕсли; КонецПроцедуры /////////////////
&НаСервере функция ВойтиНаСервере() ПользовательНайден = Справочники.Пользователи.ПустаяСсылка(); Если НЕ Справочники.Пользователи.НайтиПоНаименованию(Логин, Истина).Пустая() Тогда ПользовательНайден = Справочники.Пользователи.НайтиПоНаименованию(Логин, Истина).Ссылка; Если ПользовательНайден.Пароль = Пароль Тогда Если НЕ ПользовательНайден.ДатаВхода = Дата("01.01.001 0:00:00") Тогда Если ТекущаяДата()>ДобавитьМесяц(НачалоМесяца(ПользовательНайден.ДатаВхода),1)Тогда ИзменитьДанныеНаСервере(ПользовательНайден,"Активность",Ложь); Сообщить("Вы заблокированы , Обратитесь к администратору"); КонецЕсли; КонецЕсли; Возврат ПользовательНайден.Роль; Иначе УстановитьКоличествоПопыток(ПользовательНайден); Возврат Неопределено; КонецЕсли; Иначе Возврат Неопределено; КонецЕсли; Конецфункции
&НаКлиенте Процедура Войти(Команда) Роль = ВойтиНаСервере(); Если НЕ Роль = Неопределено Тогда Если АктивностьПользователя(ПользовательНайден) = Истина Тогда ИзменитьданныеНаСервере(ПользовательНайден,"КоличествоПопыток",0); Если ВходПользователя(ПользовательНайден) = Дата ("01.01.001 0:00:00") Тогда Открытьформу("ОбщаяФорма.ФормаСменыПароля", Новый Структура("ПараметрПользователь", ПользовательНайден)); Сообщить("Изменить пароль при первом входе"); Иначе ИзменитьДанныеНаСервере(ПользовательНайден,"ДатаВхода",ТекущаяДата()); Если Роль = ПредопределенноеЗначение("Перечисление.Роли.Пользователь") Тогда Открытьформу("ОбщаяФорма.ФормаПользователя"); Сообщить("Вы успешно авторизовались"); КонецЕсли; Если Роль = ПредопределенноеЗначение("Перечисление.Роли.Администратор") Тогда Открытьформу("Справочник.Пользователи.ФормаСписка"); Сообщить("Вы успешно авторизовались"); КонецЕсли; КонецЕсли; Этаформа.Закрыть(); Иначе ИзменитьДанныеНаСервере(ПользовательНайден,"Активность",Ложь); Сообщить("Вы заблокированы , Обратитесь к администратору"); КонецЕсли; Иначе Если (ПопыткиПользователя(ПользовательНайден)>3) Тогда ИзменитьДанныеНаСервере(ПользовательНайден,"Активность",Ложь); Сообщить("Вы заблокированы , Обратитесь к администратору"); Иначе Сообщить("Вы ввели неверный лоигн или пароль"); КонецЕсли; КонецЕсли; КонецПроцедуры
&НаСервере функция АктивностьПользователя(ПользовательНайден) Возврат ПользовательНайден.Активность; Конецфункции
&НаСервере функция ПопыткиПользователя(ПользовательНайден) Возврат ПользовательНайден.КоличествоПопыток; Конецфункции
&НаСервере функция ВходПользователя(ПользовательНайден) Возврат ПользовательНайден.ДатаВхода; Конецфункции
&НаСервере Процедура ИзменитьДанныеНаСервере(Пользователь, ИмяРеквизита, ЗначениеРеквизита) ПользовательОбъект = Пользователь.ПолучитьОбъект(); ПользовательОбъект[ИмяРеквизита]=ЗначениеРеквизита; ПользовательОбъект.Записать(); КонецПроцедуры
&НаСервере Процедура УстановитьКоличествоПопыток(Пользователь) ПользовательОбъект = Пользователь.ПолучитьОбъект(); ПользовательОбъект.КоличествоПопыток = ПользовательОбъект.КоличествоПопыток+1; ПользовательОбъект.Записать(); КонецПроцедуры //////////////////
&НаСервере функция ИзменитьПарольНаСервере() Если ТекущийПароль = Параметры.ПараметрПользователь.Пароль И НовыйПароль = ПодтверждениеНовогоПароля Тогда ПользовательОбъект = Параметры.ПараметрПользователь.ПолучитьОбъект(); ПользовательОбъект.Пароль = НовыйПароль; ПользовательОбъект.ДатаВхода = ТекущаяДата(); ПользовательОбъект.Записать(); Возврат Истина Иначе Сообщить("Пароли не совпадают!"); Возврат Ложь КонецЕсли; Конецфункции
&НаКлиенте Процедура ИзменитьПароль(Команда) Если ИзменитьПарольНаСервере() = Истина Тогда Если Роль = ПредопределенноеЗначение("Перечисление.Роли.Пользователь") Тогда Открытьформу("ОбщаяФорма.ФормаПользователя"); Сообщить("Вы успешно авторизовались"); КонецЕсли; Если Роль = ПредопределенноеЗначение("Перечисление.Роли.Администратор") Тогда Открытьформу("Справочник.Пользователи.ФормаСписка"); Сообщить("Вы успешно авторизовались"); КонецЕсли; Этаформа.Закрыть(); КонецЕсли; КонецПроцедуры
&НаСервере Процедура ПриОткрытииНаСервере() Роль = Параметры.ПараметрПользователь.Роль; КонецПроцедуры
&НаКлиенте Процедура ПриОткрытии(Отказ) ПриОткрытииНаСервере(); КонецПроцедуры
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0-windows7.0 is compatible. net9.0-windows was computed. net10.0-windows was computed. |
-
net8.0-windows7.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 111 | 4/20/2026 |