Пример #1
0
    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 СтолбецТаблицы();
                Таблица_элементы.ДобавитьСтолбец(столбец_Период);
                столбец_Период.Заголовок = "Отчетный период";
                столбец_Период.ИмяПоляИсточникаДанных = "ОтчетныйПериодСтрокой";
            }
        }
    }
Пример #2
0
    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;
        }
    }
Пример #3
0
        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
            }
        }