void Forms_Analytics_ReportPeriods_List_ПриИнициализацииСтраницы(object Отправитель, Барс.Интерфейс.АргументыСобытия Аргументы) { if (!IsPostBack) { if (Session["AnalyticExtract"] != null && Session["AnalyticExtract"] is ОписаниеПроизвольнойВыборки) { ОписаниеПроизвольнойВыборки описаниеПроизвольнойВыборки = Session["AnalyticExtract"] as ОписаниеПроизвольнойВыборки; if (описаниеПроизвольнойВыборки.СборкаПоОтчетномуПериоду) { СписокОтчетныхПериодов списокОтчетныхПериодов = new СписокОтчетныхПериодов(); списокОтчетныхПериодов.Загрузить(); Таблица_элементы.ИсточникЗаписей = списокОтчетныхПериодов; } else { Выборка <КомпонентОтчетногоПериода> выборкаКомпонентовОтчетногоПериода = new Выборка <КомпонентОтчетногоПериода>(); выборкаКомпонентовОтчетногоПериода.Загрузить(); Таблица_элементы.ИсточникЗаписей = выборкаКомпонентовОтчетногоПериода; } Таблица_элементы.едактироватьВТаблице = false; Таблица_элементы.азрешитьУдаление = false; Таблица_элементы.азрешитьДобавление = false; Таблица_элементы.АвтоподборВысоты = false; СтолбецТаблицы столбец_наименование = new СтолбецТаблицы(); Таблица_элементы.ДобавитьСтолбец(столбец_наименование); столбец_наименование.Заголовок = "Наименование"; столбец_наименование.ИмяПоляИсточникаДанных = "Наименование"; СтолбецТаблицы столбец_Период = new СтолбецТаблицы(); Таблица_элементы.ДобавитьСтолбец(столбец_Период); столбец_Период.Заголовок = "Отчетный период"; столбец_Период.ИмяПоляИсточникаДанных = "ОтчетныйПериодСтрокой"; } } }
protected void Button_Enter_Click(object sender, EventArgs e) { try { System.Reflection.Assembly.Load("БарсКлиент"); // загружаем параметры приложения Барс.Клиент.Приложение.ЗагрузитьПараметрыПриложения(null); // пробуем инициализировать подключение к базе данных Барс.Клиент.Приложение.УстановитьСоединениеССервером(); Барс.Ядро.МенеджерПользователей.АвторизацияWeb(tb_User_text.Value.Trim(), tb_Pass_text.Value.Trim()); #region получаем текущее учреждение Выборка <ОператорУчреждения> операторы = new Выборка <ОператорУчреждения>(); операторы.Запрос.ДобавитьУсловиеОтбора("СистемныйПользователь", МенеджерПользователей.ТекущийПользователь); операторы.Загрузить(); if (операторы.КоличествоЗаписей > 0) { ПеременныеСессии.ТекущееУчреждение = операторы[0].абочееУчреждение; } else { ПеременныеСессии.ТекущееУчреждение = null; } #endregion try { Application.Lock(); //Барс.ВебЯдро.РаботающиеПользователи.СписокРаботающихПользователей списокРаботающихПользователей = Application [ "РаботающиеПользователи" ] as Барс.ВебЯдро.РаботающиеПользователи.СписокРаботающихПользователей; Барс.ВебЯдро.аботающиеПользователи.СписокРаботающихПользователей списокРаботающихПользователей = ApplicationManager.ПолучитьApplicationState("РаботающиеПользователи") as Барс.ВебЯдро.аботающиеПользователи.СписокРаботающихПользователей; Барс.ВебЯдро.аботающиеПользователи.ОписаниеРаботающегоПользователя описаниеНовогоПользователя = new Барс.ВебЯдро.аботающиеПользователи.ОписаниеРаботающегоПользователя(); описаниеНовогоПользователя.ИмяПользователя = Барс.Ядро.МенеджерПользователей.НаименованиеТекущегоПользователя + " (" + Барс.Ядро.МенеджерПользователей.ЛогинТекущегоПользователя + ")"; описаниеНовогоПользователя.олиПользователя = ""; foreach (Барс.Ядро.оль роль in Барс.Ядро.МенеджерПользователей.олиТекущегоПользователя) { описаниеНовогоПользователя.олиПользователя += роль.Наименование + ", "; } if (!string.IsNullOrEmpty(описаниеНовогоПользователя.олиПользователя)) { описаниеНовогоПользователя.олиПользователя = описаниеНовогоПользователя.олиПользователя.Substring(0, описаниеНовогоПользователя.олиПользователя.Length - 2); } списокРаботающихПользователей.Добавить(HttpContext.Current.Session.SessionID, описаниеНовогоПользователя); if (описаниеНовогоПользователя != null) { if (ApplicationManager.ПолучитьApplicationState("СистемноеЛогирование_ВходВыход") != null && ApplicationManager.ПолучитьApplicationState("СистемноеЛогирование_ВходВыход") is Барс.СистемноеЛогирование) { Барс.СистемноеЛогирование логированиеВходовВыходов = ApplicationManager.ПолучитьApplicationState("СистемноеЛогирование_ВходВыход") as Барс.СистемноеЛогирование; логированиеВходовВыходов.ДобавитьСообщение(string.Format("Сессия началась (имя пользователя: {0}, хост: {1}, роли: {2})", описаниеНовогоПользователя.ИмяПользователя, описаниеНовогоПользователя.Хост, описаниеНовогоПользователя.олиПользователя)); } } } catch (Exception) { } finally { Application.UnLock(); } Response.Redirect("~/Default.aspx", true); } catch (TypeInitializationException exc) { ResultCaption.Text = "Не удалось загрузить необходимую библиотеку."; Exception исключение = Барс.ИсключениеБарс.ПреобразоватьИсключение(exc.InnerException); ResultText.Text = исключение.Message; } catch (Exception exc) { if (exc.InnerException != null) { if (exc.InnerException is System.IO.FileNotFoundException) { ResultCaption.Text = "Не удалось загрузить необходимую библиотеку."; Exception внутреннееИсключение = Барс.ИсключениеБарс.ПреобразоватьИсключение(exc.InnerException); ResultText.Text = внутреннееИсключение.Message; return; } } ResultCaption.Text = "Не удалось выполнить соединение с сервером базы данных."; Exception исключение = Барс.ИсключениеБарс.ПреобразоватьИсключение(exc); ResultText.Text = исключение.Message; } }
public override void ОбработатьСобытиеОткрытияФормы(АргументыОткрытияФормы аргументы) { // при открытии отчётной формы две ячейки блокируются от редактирования пользователем // и в эти ячейки выполняется перенос сведений из прошлого года int кодМесяца = Convert.ToInt32(Форма.Идентификатор.КомпонентОтчетногоПериода.IОтчетныйПериод.Код.Substring(3, 2)); int кодГода = Convert.ToInt32(Форма.Идентификатор.КомпонентОтчетногоПериода.IОтчетныйПериод.Код.Substring(6, 4)); if (кодМесяца > 5 && (кодГода == 2019 || кодГода > 2019)) { Форма.Таблицы["Пневмония"].МатрицаЗначений.Строки["001"].Ячейки["01"].ТолькоЧтение = true; Форма.Таблицы["Пневмония"].МатрицаЗначений.Строки["002"].Ячейки["01"].ТолькоЧтение = true; #region перенос данных из предыдущего года string кодФормы = "Пневмония"; string текущийГод = Форма.Идентификатор.КомпонентОтчетногоПериода.IОтчетныйПериод.Код.Substring(6, 4); int прошлыйГод = Convert.ToInt32(текущийГод) - 1; string кодОтчётногоПериода = Convert.ToString(Форма.Идентификатор.КомпонентОтчетногоПериода.IОтчетныйПериод.Код.Substring(0, 6)) + прошлыйГод; #region поиск компоненты Выборка <ОтчетныйПериод> поискПредыдущегоОтчётногоПериода = new Выборка <ОтчетныйПериод>(); поискПредыдущегоОтчётногоПериода.Запрос.ДобавитьУсловиеОтбора("Код", кодОтчётногоПериода); поискПредыдущегоОтчётногоПериода.Загрузить(); КомпонентОтчетногоПериода компонентПредыдущегоОтчётногоПериода = null; bool компонентПредыдущегоОПНайден = false; foreach (ОтчетныйПериод найденныйПредыдущийОтчетныйПериод in поискПредыдущегоОтчётногоПериода) { foreach (КомпонентОтчетногоПериода найденныйКомпонентПОП in найденныйПредыдущийОтчетныйПериод.Компоненты) { if (найденныйКомпонентПОП.ПакетФорм != null) { foreach (ЭлементПакетаОтчетныхФорм найденнаяФормаПОП in найденныйКомпонентПОП.ПакетФорм.ОтчетныеФормы) { if (найденнаяФормаПОП.ИдентификаторОтчетнойФормы == кодФормы) { компонентПредыдущегоОтчётногоПериода = найденныйКомпонентПОП; компонентПредыдущегоОПНайден = true; break; } } if (компонентПредыдущегоОПНайден) { break; } } } if (компонентПредыдущегоОПНайден) { break; } } //конец поиска компоненты #endregion #region получение данных из компоненты ОтчетнаяФормаДанных формаПредыдущегоГода = BI_ОтчетнаяФормаДанных.ПолучитьОтчетнуюФормуДанных( (Учреждение)Форма.Идентификатор.Учреждение, компонентПредыдущегоОтчётногоПериода, кодФормы ); // выполняется заполнениедвух ячеек данными из прошлого года Форма.Таблицы["Пневмония"].МатрицаЗначений.Строки["001"].Ячейки["01"].Значение = формаПредыдущегоГода.Данные.Таблицы["Пневмония"].МатрицаЗначений.Строки["001"].Ячейки["02"].Значение; Форма.Таблицы["Пневмония"].МатрицаЗначений.Строки["002"].Ячейки["01"].Значение = формаПредыдущегоГода.Данные.Таблицы["Пневмония"].МатрицаЗначений.Строки["002"].Ячейки["02"].Значение; #endregion #endregion } }