Дипломная работа: Анализ и оценка надежности и эффективности АИС "Бюджет"

- <node path="Снять принятие">

<value type="3" name="Действие">СнятьДатуПринятия</value>

<param value="Действие" type="3" name="crc32">$FED06E36</param>

<param value="Действие" type="3" name="version">36.044.79</param>

<value type="3" name="Картинка">Обновить</value>

<param value="Картинка" type="3" name="crc32">$BEC3BCE7</param>

<param value="Картинка" type="3" name="version">36.044.79</param>

</node>

</node>

</node>

- <node path="Действия">

- <node path="КонтрольКлассификации">

<value type="7" name="Код программы">включить '\Библиотеки\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 тогда Сообщение('Ошибок ввода классификации не на

К-во Просмотров: 155
Бесплатно скачать Дипломная работа: Анализ и оценка надежности и эффективности АИС "Бюджет"