p align="left"><param value="Код программы" type="1" name="AccessCount">89</param> <param value="Код программы" type="2" name="AccessDate">39856,69694625</param> <param value="Код программы" type="3" name="crc32">$3E205B3D</param> <param value="Код программы" type="3" name="version">36.044.79</param> <param value="Код программы" type="3" name="Export">DIMAN2\dzimitchev\16.02.2009 16:44:59</param> </node> - <node path="СнятьДатуПринятия"> <value type="3" name="Заголовок">Автоснятие даты принятия</value> <param value="Заголовок" type="3" name="crc32">$A09351E1</param> <param value="Заголовок" type="3" name="version">36.044.79</param> <value type="7" name="Код программы">включить "\Библиотеки\LibRu.lib"; включить "\Библиотеки\ABLTools.lib"; включить "project"; переменные ф: ФормаВвода; Сетка: СеткаДанных; // функция СнятьДатуПринятия(Закладка: Целое; Данные: БезТипа): Целое; начало если ф.МожноРедактироватьСтолбец(Сетка.ColumnByFieldName('AcceptDate')) тогда Сетка.ColumnByFieldName('AcceptDate').CheckState := 0; результат := да; конец; начало Ф := ПолучитьФормуВвода; если Ф.Заголовки.Таблица.ЧИслоЗаписей = 0 тогда ВызватьОшибку("В заголовке нет данных. Нажмите кнопку 'Выполнить'"); если Ф.ЕстьИзменения тогда ВызватьОшибку("В таблице есть измененные записи. Необходимо сохранить изменения."); Сетка := Ф.Заголовки.Сетка; если Сетка.ЕстьВыделенныеСтроки тогда Сетка.ForSelection(да, СоздатьОбработчик('СнятьДатуПринятия'), Null) иначе СнятьДатуПринятия(-1, Null); ф.СохранитьИзменения; конец.</value> <param value="Код программы" type="1" name="AccessCount">16</param> <param value="Код программы" type="2" name="AccessDate">39407,6166157986</param> <param value="Код программы" type="3" name="crc32">$7F994D78</param> <param value="Код программы" type="3" name="version">36.044.79</param> <param value="Код программы" type="3" name="Export">DIMAN2\dzimitchev\16.02.2009 16:44:59</param> </node> - <node path="УстановитьДатуПринятия"> <value type="3" name="Заголовок">Автоустановка даты принятия</value> <param value="Заголовок" type="3" name="crc32">$5A882DA2</param> <param value="Заголовок" type="3" name="version">36.044.79</param> <value type="7" name="Код программы">включить "\Библиотеки\LibRu.lib"; включить "\Библиотеки\ABLTools.lib"; включить "project"; переменные ф: ФормаВвода; Сетка: СеткаДанных; // функция ПринятьОтчет(Закладка: Целое; Данные: БезТипа): Целое; начало если ф.МожноРедактироватьСтолбец(Сетка.ColumnByFieldName('AcceptDate')) тогда Сетка.ColumnByFieldName('AcceptDate').CheckState := 1; результат := да; конец; начало Ф := ПолучитьФормуВвода; если Ф.Заголовки.Таблица.ЧИслоЗаписей = 0 тогда ВызватьОшибку("В заголовке нет данных. Нажмите кнопку 'Выполнить'"); если Ф.ЕстьИзменения тогда ВызватьОшибку("В таблице есть измененные записи. Необходимо сохранить изменения."); Сетка := Ф.Заголовки.Сетка; если Сетка.ЕстьВыделенныеСтроки тогда Сетка.ForSelection(да, СоздатьОбработчик('ПринятьОтчет'), Null) иначе ПринятьОтчет(-1, Null); ф.СохранитьИзменения; конец.</value> <param value="Код программы" type="1" name="AccessCount">19</param> <param value="Код программы" type="2" name="AccessDate">39412,4119151042</param> <param value="Код программы" type="3" name="crc32">$AAFE330E</param> <param value="Код программы" type="3" name="version">36.044.79</param> <param value="Код программы" type="3" name="Export">DIMAN2\dzimitchev\16.02.2009 16:44:59</param> </node> </node> - <node path="Панели"> - <node path="КонтрольКлассификации"> - <node path="КонтрольКлассификации"> <value type="3" name="Действие">КонтрольКлассификации</value> <param value="Действие" type="3" name="crc32">$B41478A7</param> <param value="Действие" type="3" name="version">36.044.79</param> <value type="3" name="Картинка">Контроль</value> <param value="Картинка" type="3" name="crc32">$0C4CF2C9</param> <param value="Картинка" type="3" name="version">36.044.79</param> <value type="3" name="Хинт">Проверить отчеты на корректность введенной классификации</value> <param value="Хинт" type="3" name="crc32">$59916E61</param> <param value="Хинт" type="3" name="version">36.044.79</param> </node> </node> - <node path="ДинамическиеФормы"> - <node path="КопироватьОтчет"> <value type="3" name="Действие">КопироватьОтчет</value> <param value="Действие" type="3" name="crc32">$FC04C19B</param> <param value="Действие" type="3" name="version">36.044.79</param> <value type="3" name="Картинка">КопироватьПлатежку</value> <param value="Картинка" type="3" name="crc32">$36B1AE3D</param> <param value="Картинка" type="3" name="version">36.044.79</param> <value type="3" name="Хинт">Создать копию отчета</value> <param value="Хинт" type="3" name="crc32">$40C9CBAB</param> <param value="Хинт" type="3" name="version">36.044.79</param> </node> - <node path="ОбновитьКД"> <value type="4" name="Видимость">1</value> <param value="Видимость" type="3" name="crc32">$51DE003A</param> <param value="Видимость" type="3" name="version">36.044.79</param> <value type="3" name="Действие">ОбновитьКД</value> <param value="Действие" type="3" name="crc32">$7EF41D22</param> <param value="Действие" type="3" name="version">36.044.79</param> <value type="3" name="Картинка">РазбиениеПоКД</value> <param value="Картинка" type="3" name="crc32">$259FE513</param> <param value="Картинка" type="3" name="version">36.044.79</param> <value type="3" name="Стиль">Кнопка</value> <param value="Стиль" type="3" name="crc32">$F0B26634</param> <param value="Стиль" type="3" name="version">36.044.79</param> <value type="3" name="Хинт">Обновить доходы по новым шаблонам (для форм 114, 117, 314, 317)</value> <param value="Хинт" type="3" name="crc32">$6E149448</param> <param value="Хинт" type="3" name="version">36.044.79</param> </node> - <node path="Описание"> <value type="4" name="Видимость">1</value> <param value="Видимость" type="3" name="crc32">$51DE003A</param> <param value="Видимость" type="3" name="version">36.044.79</param> <value type="3" name="Действие">Описание</value> <param value="Действие" type="3" name="crc32">$24050E21</param> <param value="Действие" type="3" name="version">36.044.79</param> <value type="3" name="Картинка">Вопрос</value> <param value="Картинка" type="3" name="crc32">$FA5BF857</param> <param value="Картинка" type="3" name="version">36.044.79</param> <value type="3" name="Стиль">Кнопка</value> <param value="Стиль" type="3" name="crc32">$F0B26634</param> <param value="Стиль" type="3" name="version">36.044.79</param> <value type="3" name="Хинт">Описание формы</value> <param value="Хинт" type="3" name="crc32">$9A8257F8</param> <param value="Хинт" type="3" name="version">36.044.79</param> </node> - <node path="Установить дату принятия"> <value type="3" name="Выпадающее меню">Меню принятия/отмены принятия</value> <param value="Выпадающее меню" type="3" name="crc32">$AB21825A</param> <param value="Выпадающее меню" type="3" name="version">36.044.79</param> <value type="3" name="Действие">УстановитьДатуПринятия</value> <param value="Действие" type="3" name="crc32">$E5CA2E34</param> <param value="Действие" type="3" name="version">36.044.79</param> <value type="3" name="Картинка">Галочка</value> <param value="Картинка" type="3" name="crc32">$3605C21A</param> <param value="Картинка" type="3" name="version">36.044.79</param> <value type="3" name="Стиль">Меню</value> <param value="Стиль" type="3" name="crc32">$2267114F</param> <param value="Стиль" type="3" name="version">36.044.79</param> <value type="3" name="Хинт">Установить дату принятия</value> <param value="Хинт" type="3" name="crc32">$783EBDE3</param> <param value="Хинт" type="3" name="version">36.044.79</param> </node> </node> </node> - <node path="Отчеты"> <value type="3" name="Версия обновления отчетов">06.11.02.02</value> <param value="Версия обновления отчетов" type="3" name="crc32">$5EF9D6CF</param> <param value="Версия обновления отчетов" type="3" name="version">36.042.20</param> </node> </node> </node> </registry> После загрузки файла обновления требуемые формы отчетности меняются на новые. Нельзя не отметить особенности отчетов, применяемых в АС «Бюджет». Отчеты, созданные на основе макросов, настраиваются пользователем «на лету»: изменяется видимость и положение колонок в отчете, порядок сортировки и группировки данных. Возможности отчетов достаточно широки - динамически могут быть изменены следующие параметры отчетов: Количество выводимых колонок, порядок следования данных в отчете; Наличие промежуточных итогов, их уровни и способ вывода; Способ разыменовки (т.е. вывода по коду названия и другой связанной информации) классификаторов, счетов и дат; Уровень обобщения классификаторов при группировке данных; Режим автоподбора ширины и высоты у колонок; Режим группировки документов в отчет: лента документов или общий документ (приложения Г,Д). Отчеты, построенные на основе макросов, выполняются гораздо быстрее сложных динамических и пользовательских отчетов (в некоторых случаях в десятки раз), за счет предварительной оптимизации запросов к серверу и за счет кэширования часто используемых данных. Первое выполнение таких отчетов может быть несколько дольше, чем последующие. С точки зрения быстродействия важным достоинством этих отчетов является то, что их построение разбивается на два последовательных этапа: сначала идет формирование данных, затем осуществляется их вывод (раскладка). Это позволяет не только упростить создание отчета, но и избегать лишнего формирования, если одни и те же данные нужно вывести по-разному. В отчетах переработана идеология формирования данных. В результате проведенного анализа существующие алгоритмы формирования были разбиты на более простые составные части - «кубики». Для создания отчета не обязательно знать внутреннюю структуру базы данных или встроенный макроязык ABL, требуется лишь взять нужные «кубики» и «собрать» отчет. Разбиение сложных алгоритмов формирования на составные части повысило их модифицируемость и надежность: намного проще отладить работу одного алгоритма, который используется в десяти местах, чем отладить работу десяти алгоритмов. Способ формирования и отображения отчета, построенного на основе макросов, описывается шаблоном. Использование шаблонов позволяет гибко настраивать внешний вид отчета, сделанные один раз настройки сохраняются и используются в дальнейшем. Для хранения файлов различных шаблонов используются соответствующие их назначению каталоги, имена которых жестко фиксированы в файловой структуре системы. Все шаблоны отчетов должны храниться на сервере в специальном каталоге, доступном всем пользователям системы, например, в каталоге //Server/BudgetAx/Reports/Новые отчеты, в состав которого входят соответствующие каталоги с шаблонами (Документы, Импорт, Экспорт, Ресурсы, т.д.).
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9
|