46779 (588443), страница 3

Файл №588443 46779 (Анализ и оценка надежности и эффективности АИС "Бюджет") 3 страница46779 (588443) страница 32016-07-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 3)

-

-

-

-

-

-

-

-

УстановитьДатуПринятия

$E5CA2E34

36.044.79

Галочка

$3605C21A

36.044.79

-

СнятьДатуПринятия

$FED06E36

36.044.79

Обновить

$BEC3BCE7

36.044.79

-

-

включить '\Библиотеки\LibRu.lib'; включить '\Библиотеки\Forms.lib'; включить "Бюджет\Объекты\Контроль\Скрипты\События\КонтрольКлассификации"; включить '\Макросы\КИ\ПоддержкаПроекта'; включить 'project'; константы кПутьККонфигурации = "Бюджет\Объекты\Настройки\Консолидация\КонтрольКлассификации"; кКонфигурация = "Конфигурация"; // берем либо выделенные, либо текущую запись функция ПолучитьВыделенныеИлиТекущую(СеткаВвода: СеткаДанных; Данные: СтатическиеДанные): СтатическиеДанные; начало если СеткаВвода.ЕстьВыделенныеСтроки тогда результат := СеткаВвода.ПолучитьВыделенныеСтроки иначе начало // ничего не выделено, тогда занесем в выделенные текущую запись мастера результат := СоздатьСтатическиеДанные; результат.ПрисвоитьПоля(Данные); результат.Открыть; результат.СкопироватьЗапись(1, Данные); конец; конец; // функция ПроверитьКорректностьКлассификацииДанных(Данные: СтатическиеДанные; Конфигурация: СтатическиеДанные): Целое; переменные ИмяПоляДляКонтроля: строка; Классификация: строка; ТипПроверки: Целое; ТипКлассификации: Целое; начало результат := да; ИмяПоляДляКонтроля := Конфигурация.Поле('ControlField').КакСтрока; ТипПроверки := Конфигурация.Поле('ControlType').КакЦелое; ТипКлассификации := Конфигурация.Поле('ClsType').КакЦелое; Данные.Вначало; пока не Данные.ВКонце и результат делать начало Классификация := Данные.Поле(ИмяПоляДляКонтроля).КакСтрока; результат := ПроверитьКлассификацию(Классификация, ТипПроверки, ТипКлассификации); Данные.Следующая; конец; конец; // проверка отчета на корректность классификации функция ПроверитьКорректностьКлассификацииОтчета(КодОтчета: Целое; КодФормы: Целое; Конфигурация: СтатическиеДанные): Целое; переменные ФормаВвода: IBaseForm; НомерДетализации: Целое; ДанныеДетализации: СтатическиеДанные; начало результат := да; Конфигурация.SetScope(МассивИз(КодФормы)); если Конфигурация.ЧислоЗаписей > 0 тогда начало // загружаем детализацию ФормаВвода := ПостроитьФормуВвода(КодОтчета, КодФормы, nil); ФормаВвода.ShowDataEx(sdoNotShow + sdoStatic); // проверяем все контроли Конфигурация.ВНачало; пока не Конфигурация.ВКонце и результат делать начало НомерДетализации := Конфигурация.Поле('DetailNumber').КакЦелое; ДанныеДетализации := ФормаВвода.StaticSets(НомерДетализации); если ДанныеДетализации.ЧислоЗаписей > 0 тогда результат := ПроверитьКорректностьКлассификацииДанных(ДанныеДетализации, Конфигурация); Конфигурация.Следующая; конец; ФормаВвода.ClearStatics; конец; конец; // загрузка конфигурации из реестра функция ПолучитьКонфигурацию: СтатическиеДанные; начало результат := СоздатьДанныеИзРеестра(кПутьККонфигурации, кКонфигурация); результат.IndexFieldNames := 'FormID'; конец; // проверка набора отчетов функция ПроверитьНаборОтчетов(Выделенные, Заголовок, Конфигурация: СтатическиеДанные): Целое; переменные КлассификацияКорректна: Целое; КодОтчета: Целое; КодФормы: Целое; начало КлассификацияКорректна := да; результат := 0; Выделенные.ВНачало; пока не Выделенные.ВКонце делать начало КодОтчета := Выделенные.Поле('ID').КакЦелое; если Заголовок.Locate('ID', КодОтчета, 0) тогда начало КодФормы := Заголовок.Поле('TYPEDFORM').КакЦелое; КлассификацияКорректна := ПроверитьКорректностьКлассификацииОтчета(КодОтчета, КодФормы, Конфигурация); // записываем результат проверки если КлассификацияКорректна тогда начало Заголовок.Поле('ControlMessage').КакСтрока := ''; Заголовок.Поле('ControlResult').КакЦелое := -1; конец иначе начало Заголовок.Поле('ControlResult').КакЦелое := 10; Заголовок.Поле('ControlMessage').КакСтрока := 'Есть ошибки бюджетной классификации'; результат := результат + 1; конец; конец; Выделенные.Следующая; конец; конец; переменные ф: ФормаВвода; Заголовок, Выделенные, Конфигурация: СтатическиеДанные; КоличествоОшибок: целое; начало Ф := ПолучитьФормуВвода; Заголовок := Ф.Заголовки.Таблица; если не Заголовок.Active или (Заголовок.ЧислоЗаписей = 0) тогда ВызватьОшибку('Нет данных для проверки'); // считываем конфигурацию для проверки Конфигурация := ПолучитьКонфигурацию(); попытка // набор отчетов для проверки Выделенные := ПолучитьВыделенныеИлиТекущую(Ф.Заголовки.Сетка, Заголовок); попытка КоличествоОшибок := ПроверитьНаборОтчетов(Выделенные, Заголовок, Конфигурация); обязательно УдалитьОбъект(Выделенные); конец; обязательно УдалитьОбъект(Конфигурация); конец; // сообщаем результаты проверки если КоличествоОшибок = 0 тогда Сообщение('Ошибок ввода классификации не найдено') иначе Сообщение(Формат('Найдено %d документов с ошибочной классификацией', КоличествоОшибок)); конец.

23

39377,8330395718

$17DD9440

36.044.79

DIMAN2\dzimitchev\16.02.2009 16:44:59

0

$26D930AC

36.044.79

-

включить '\Библиотеки\LibRu.lib'; включить '\Макросы\КИ\Запросы'; включить 'project'; /* Для получения запросов на заголовок и детализацию используются функции из модуля Запросы.ТекстПолногоЗапросаФормы и Запросы.ТекстЗапросаДеталиФормы соответственно Эти функции генерируют запросы для выборки и вставки полей с условием */ функция КопироватьДетализацию(КодНовогоОтчета, КодОтчета, КопироватьСуммы: Целое); переменные Данные: СтатическиеДанные; ЗапросВыборки, ЗапросВставки: строка; начало Данные := СоздатьСтатическиеДанные; попытка Данные.СоединитьБД; Данные.CachedUpdates := да; ТекстЗапросаДеталиФормы(ЗапросВыборки, ЗапросВставки, Формат('utypedformsdetail.recordindex=%d', КодОтчета)); Данные.Запрос := Формат('[PUMPDATA]{%s} [INSERTDATA]{%s}', ЗапросВыборки, ЗапросВставки); Данные.Открыть; Данные.ВНачало; пока не Данные.ВКонце делать начало Данные.Поле('recordindex').КакЦелое := КодНовогоОтчета; Данные.UpdateStatus := usInserted; Данные.Следующая; конец; Данные.СохранитьИзменения; обязательно УдалитьОбъект(Данные); конец; конец; функция КопироватьЗаголовок(КодОтчета: Целое): Целое; переменные Данные: СтатическиеДанные; ЗапросВыборки, ЗапросВставки, ЗапросИзменения: строка; начало Данные := СоздатьСтатическиеДанные; попытка Данные.СоединитьБД; Данные.CachedUpdates := да; ТекстПолногоЗапросаФормы(ЗапросВыборки, ЗапросИзменения, ЗапросВставки, '550', Формат('utfc.id = %d', КодОтчета)); Данные.Запрос := Формат('[PUMPDATA]{%s} [INSERTDATA]{%s}', ЗапросВыборки, ЗапросВставки); Данные.Открыть; результат := ГенерироватьДиап('g_shared'); Данные.Поле('DocNumber').КакСтрока := 'Копия ' + Данные.Поле('DocNumber').КакСтрока; Данные.Поле('ID').КакЦелое := результат; Данные.Поле('AcceptDate').Очистить; если не Данные.Поле('DocStateref').Пустое тогда Данные.Поле('DocStateRef').КакЦелое := (Данные.Поле('DocStateRef').КакЦелое цел 10) * 10 + 01; Данные.UpdateStatus := usInserted; Данные.СохранитьИзменения; обязательно УдалитьОбъект(Данные); конец; конец; переменные Заголовки: СтатическиеДанные; ф: ФормаВвода; КодОтчета, КодНовогоОтчета: целое; начало //задача: скопировать текущую запись, номер документа заменить на "Копия ", дату принятия игнорировать... ф := ПолучитьФормуВвода; если ф.ЕстьИзменения тогда ВызватьОшибку('Перед копированием отчетов надо сохранить все изменения!'); Заголовки := ф.Заголовки.Таблица; если Заголовки.ЧислоЗаписей = 0 тогда ВызватьОшибку('Нет отчета для копирования!'); КодОтчета := Заголовки.Поле('ID').КакЦелое; // копируем заголовок КодНовогоОтчета := КопироватьЗаголовок(КодОтчета); // копируем детализацию КопироватьДетализацию(КодНовогоОтчета, КодОтчета, ); // сохраняем изменения ф.СохранитьИзменения; Сообщение('Отчет был успешно скопирован!'); конец.

12

39405,7255468518

$D33877EC

36.044.79

DIMAN2\dzimitchev\16.02.2009 16:44:59

-

включить '\Библиотеки\LibRu.lib'; включить '\Библиотеки\Forms.lib'; включить '\Библиотеки\ConsSupport.lib'; включить '\Библиотеки\Reports.lib'; включить '\Макросы\КИ\ПоддержкаФормВвода'; включить 'project'; константы НаборПолей = 'КонсолидацияДетализация.КодЗаписи,КонсолидацияДетализация.КодСтрокиЦелое,КонсолидацияДетализация.Код30,КонсолидацияДетализация.Сумма0, КонсолидацияДетализация.Сумма1,КонсолидацияДетализация.Сумма2,КонсолидацияДетализация.Сумма3,КонсолидацияДетализация.Сумма4, КонсолидацияДетализация.Сумма5,КонсолидацияДетализация.Сумма6,КонсолидацияДетализация.Сумма7,КонсолидацияДетализация.Сумма8, КонсолидацияДетализация.Сумма9,КонсолидацияДетализация.Сумма10,КонсолидацияДетализация.Сумма11,КонсолидацияДетализация.Сумма12, КонсолидацияДетализация.Сумма13,КонсолидацияДетализация.Сумма14,КонсолидацияДетализация.Сумма15'; // функция СоздатьПредставление(КодДокумента: Целое; НомерДетализации: Целое): ПредставлениеДанных; переменные Раскладка: ITableInfoX; Ы: Целое; начало Раскладка := ПоддержкаКонсолидации.СоздатьРаскладку(НаборПолей); Раскладка.Columns(0).Group := grpGroup; от Ы := 1 до Раскладка.Count -1 делать Раскладка.Columns(Ы).Group := grpNone; результат := ПоддержкаКонсолидации.СоздатьПредставлениеДанных(Раскладка); результат.Параметр('КонсолидацияЗаголовки.КодДокумента') := КодДокумента; результат.Параметр('КонсолидацияДетализация.НомерДетализации') := НомерДетализации; результат.Открыть; конец; // функция ПолучитьМатрицуДоходов(КодФормы: Целое): СтатическиеДанные; переменные ОписаниеФормы: ITypedForm; ФормаВвода: IBaseForm; начало ОписаниеФормы := МенеджерФормВвода.ФормаПоКоду(КодФормы); ФормаВвода := ПостроительФормВвода.BuildInputForm(-1, КодФормы); результат := ФормаВвода.StaticSets(0); конец; // функция ОбновитьЗаголовок(КодДокумента, КодФормы: Целое); переменные Детализация: ПредставлениеДанных; Доходы: СтатическиеДанные; Данные: СтатическиеДанные; начало если (КодФормы = 36100704) или (КодФормы = 36100706) или (КодФормы = 36101704) или (КодФормы = 36101404) или (КодФормы = 36100404) или (КодФормы = 36100406) тогда начало // получаем текущую матрицу доходов (по которой будем определять соответствие КД и кода листа Доходы := ПолучитьМатрицуДоходов(КодФормы); // создаем представление для обновления данных в БД Детализация := СоздатьПредставление(КодДокумента, 0); // меняем коды листа Данные := Детализация.Данные; Данные.Группировать(Доходы, 'Keys=Код30;Код30=Код30;КодСтрокиЦелое=КодСтрокиЦелое;default=false;insert=false'); // сохраняем изменения Детализация.СохранитьИзменения; конец; конец; // функция ОбновитьЗаголовки(Заголовки: СтатическиеДанные; ТолькоТекущая: Целое); переменные Код, КодФормы: Целое; начало если ТолькоТекущая тогда начало Код := Заголовки.Поле('ID').КакЦелое; КодФормы := Заголовки.Поле('TypedForm').КакЦелое; если Заголовки.Поле('AcceptDate').Пустое тогда ОбновитьЗаголовок(Код, КодФормы); конец иначе начало Заголовки.ВНачало; пока не Заголовки.ВКонце делать начало Код := Заголовки.Поле('ID').КакЦелое; КодФормы := Заголовки.Поле('TypedForm').КакЦелое; если Заголовки.Поле('AcceptDate').Пустое тогда ОбновитьЗаголовок(Код, КодФормы); Заголовки.Следующая; конец; конец; конец; переменные ф: ФормаВвода; Заголовки: СтатическиеДанные; Выделенные: СтатическиеДанные; начало ф := ПолучитьФормуВвода; Заголовки := ф.Заголовки.Таблица; если не Заголовки.Active или (Заголовки.ЧислоЗаписей = 0) тогда ВызватьОшибку('В заголовке нет данных'); если ф.Заголовки.Сетка.ЕстьВыделенныеСтроки тогда начало Выделенные := ф.Заголовки.Сетка.ПолучитьВыделенныеСтроки; попытка ОбновитьЗаголовки(Выделенные, нет); обязательно Интерфейс(Выделенные).Освободить; конец; конец иначе ОбновитьЗаголовки(Заголовки, да); Сообщение('Обновление завершено'); конец.

89

39856,69694625

$3E205B3D

36.044.79

DIMAN2\dzimitchev\16.02.2009 16:44:59

-

Автоснятие даты принятия

$A09351E1

36.044.79

включить "\Библиотеки\LibRu.lib"; включить "\Библиотеки\ABLTools.lib"; включить "project"; переменные ф: ФормаВвода; Сетка: СеткаДанных; // функция СнятьДатуПринятия(Закладка: Целое; Данные: БезТипа): Целое; начало если ф.МожноРедактироватьСтолбец(Сетка.ColumnByFieldName('AcceptDate')) тогда Сетка.ColumnByFieldName('AcceptDate').CheckState := 0; результат := да; конец; начало Ф := ПолучитьФормуВвода; если Ф.Заголовки.Таблица.ЧИслоЗаписей = 0 тогда ВызватьОшибку("В заголовке нет данных. Нажмите кнопку 'Выполнить'"); если Ф.ЕстьИзменения тогда ВызватьОшибку("В таблице есть измененные записи. Необходимо сохранить изменения."); Сетка := Ф.Заголовки.Сетка; если Сетка.ЕстьВыделенныеСтроки тогда Сетка.ForSelection(да, СоздатьОбработчик('СнятьДатуПринятия'), Null) иначе СнятьДатуПринятия(-1, Null); ф.СохранитьИзменения; конец.

16

39407,6166157986

$7F994D78

36.044.79

DIMAN2\dzimitchev\16.02.2009 16:44:59

-

Автоустановка даты принятия

$5A882DA2

36.044.79

включить "\Библиотеки\LibRu.lib"; включить "\Библиотеки\ABLTools.lib"; включить "project"; переменные ф: ФормаВвода; Сетка: СеткаДанных; // функция ПринятьОтчет(Закладка: Целое; Данные: БезТипа): Целое; начало если ф.МожноРедактироватьСтолбец(Сетка.ColumnByFieldName('AcceptDate')) тогда Сетка.ColumnByFieldName('AcceptDate').CheckState := 1; результат := да; конец; начало Ф := ПолучитьФормуВвода; если Ф.Заголовки.Таблица.ЧИслоЗаписей = 0 тогда ВызватьОшибку("В заголовке нет данных. Нажмите кнопку 'Выполнить'"); если Ф.ЕстьИзменения тогда ВызватьОшибку("В таблице есть измененные записи. Необходимо сохранить изменения."); Сетка := Ф.Заголовки.Сетка; если Сетка.ЕстьВыделенныеСтроки тогда Сетка.ForSelection(да, СоздатьОбработчик('ПринятьОтчет'), Null) иначе ПринятьОтчет(-1, Null); ф.СохранитьИзменения; конец.

19

39412,4119151042

$AAFE330E

36.044.79

DIMAN2\dzimitchev\16.02.2009 16:44:59

-

-

-

КонтрольКлассификации

$B41478A7

36.044.79

Контроль

$0C4CF2C9

Характеристики

Тип файла
Документ
Размер
15,12 Mb
Учебное заведение
Неизвестно

Список файлов ВКР

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6367
Авторов
на СтудИзбе
310
Средний доход
с одного платного файла
Обучение Подробнее