DemoExam.1С 1.0.0

dotnet add package DemoExam.1С --version 1.0.0
                    
NuGet\Install-Package DemoExam.1С -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DemoExam.1С" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="DemoExam.1С" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="DemoExam.1С" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add DemoExam.1С --version 1.0.0
                    
#r "nuget: DemoExam.1С, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package DemoExam.1С@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=DemoExam.1С&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=DemoExam.1С&version=1.0.0
                    
Install as a Cake Tool

////////// Процедура ПередЗаписью(Отказ) СсылкаПользователя = Справочники.Пользователи.НайтиПоНаименованию(ЭтотОбъект.Наименование, Истина); Если НЕ СсылкаПользователя.Пустая() И СсылкаПользователя <> ЭтотОбъект.Ссылка Тогда Отказ = Истина; Сообщить("Пользователь с таким именем уже существует"); КонецЕсли; КонецПроцедуры /////////////////

&НаСервере функция ВойтиНаСервере() ПользовательНайден = Справочники.Пользователи.ПустаяСсылка(); Если НЕ Справочники.Пользователи.НайтиПоНаименованию(Логин, Истина).Пустая() Тогда ПользовательНайден = Справочники.Пользователи.НайтиПоНаименованию(Логин, Истина).Ссылка; Если ПользовательНайден.Пароль = Пароль Тогда Если НЕ ПользовательНайден.ДатаВхода = Дата("01.01.001 0:00:00") Тогда Если ТекущаяДата()>ДобавитьМесяц(НачалоМесяца(ПользовательНайден.ДатаВхода),1)Тогда ИзменитьДанныеНаСервере(ПользовательНайден,"Активность",Ложь); Сообщить("Вы заблокированы , Обратитесь к администратору"); КонецЕсли; КонецЕсли; Возврат ПользовательНайден.Роль; Иначе УстановитьКоличествоПопыток(ПользовательНайден); Возврат Неопределено; КонецЕсли; Иначе Возврат Неопределено; КонецЕсли; Конецфункции

&НаКлиенте Процедура Войти(Команда) Роль = ВойтиНаСервере(); Если НЕ Роль = Неопределено Тогда Если АктивностьПользователя(ПользовательНайден) = Истина Тогда ИзменитьданныеНаСервере(ПользовательНайден,"КоличествоПопыток",0); Если ВходПользователя(ПользовательНайден) = Дата ("01.01.001 0:00:00") Тогда Открытьформу("ОбщаяФорма.ФормаСменыПароля", Новый Структура("ПараметрПользователь", ПользовательНайден)); Сообщить("Изменить пароль при первом входе"); Иначе ИзменитьДанныеНаСервере(ПользовательНайден,"ДатаВхода",ТекущаяДата()); Если Роль = ПредопределенноеЗначение("Перечисление.Роли.Пользователь") Тогда Открытьформу("ОбщаяФорма.ФормаПользователя"); Сообщить("Вы успешно авторизовались"); КонецЕсли; Если Роль = ПредопределенноеЗначение("Перечисление.Роли.Администратор") Тогда Открытьформу("Справочник.Пользователи.ФормаСписка"); Сообщить("Вы успешно авторизовались"); КонецЕсли; КонецЕсли; Этаформа.Закрыть(); Иначе ИзменитьДанныеНаСервере(ПользовательНайден,"Активность",Ложь); Сообщить("Вы заблокированы , Обратитесь к администратору"); КонецЕсли; Иначе Если (ПопыткиПользователя(ПользовательНайден)>3) Тогда ИзменитьДанныеНаСервере(ПользовательНайден,"Активность",Ложь); Сообщить("Вы заблокированы , Обратитесь к администратору"); Иначе Сообщить("Вы ввели неверный лоигн или пароль"); КонецЕсли; КонецЕсли; КонецПроцедуры

&НаСервере функция АктивностьПользователя(ПользовательНайден) Возврат ПользовательНайден.Активность; Конецфункции

&НаСервере функция ПопыткиПользователя(ПользовательНайден) Возврат ПользовательНайден.КоличествоПопыток; Конецфункции

&НаСервере функция ВходПользователя(ПользовательНайден) Возврат ПользовательНайден.ДатаВхода; Конецфункции

&НаСервере Процедура ИзменитьДанныеНаСервере(Пользователь, ИмяРеквизита, ЗначениеРеквизита) ПользовательОбъект = Пользователь.ПолучитьОбъект(); ПользовательОбъект[ИмяРеквизита]=ЗначениеРеквизита; ПользовательОбъект.Записать(); КонецПроцедуры

&НаСервере Процедура УстановитьКоличествоПопыток(Пользователь) ПользовательОбъект = Пользователь.ПолучитьОбъект(); ПользовательОбъект.КоличествоПопыток = ПользовательОбъект.КоличествоПопыток+1; ПользовательОбъект.Записать(); КонецПроцедуры //////////////////

&НаСервере функция ИзменитьПарольНаСервере() Если ТекущийПароль = Параметры.ПараметрПользователь.Пароль И НовыйПароль = ПодтверждениеНовогоПароля Тогда ПользовательОбъект = Параметры.ПараметрПользователь.ПолучитьОбъект(); ПользовательОбъект.Пароль = НовыйПароль; ПользовательОбъект.ДатаВхода = ТекущаяДата(); ПользовательОбъект.Записать(); Возврат Истина Иначе Сообщить("Пароли не совпадают!"); Возврат Ложь КонецЕсли; Конецфункции

&НаКлиенте Процедура ИзменитьПароль(Команда) Если ИзменитьПарольНаСервере() = Истина Тогда Если Роль = ПредопределенноеЗначение("Перечисление.Роли.Пользователь") Тогда Открытьформу("ОбщаяФорма.ФормаПользователя"); Сообщить("Вы успешно авторизовались"); КонецЕсли; Если Роль = ПредопределенноеЗначение("Перечисление.Роли.Администратор") Тогда Открытьформу("Справочник.Пользователи.ФормаСписка"); Сообщить("Вы успешно авторизовались"); КонецЕсли; Этаформа.Закрыть(); КонецЕсли; КонецПроцедуры

&НаСервере Процедура ПриОткрытииНаСервере() Роль = Параметры.ПараметрПользователь.Роль; КонецПроцедуры

&НаКлиенте Процедура ПриОткрытии(Отказ) ПриОткрытииНаСервере(); КонецПроцедуры

Product Compatible and additional computed target framework versions.
.NET net8.0-windows7.0 is compatible.  net9.0-windows was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • 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