На главную   На главную   Форумы Новости Документация Скачать Купить  
Регистрация  
Система Allegro
Oб Allegro Характеристики Пример конфигурации Документация База ошибок Развитие
Версия для печати К списку книг Вернуться к оглавлению Предыдущий параграф Следующий параграф
Поиск по книге

Глава 5. СОЗДАЕМ ОКОННЫЙ ИНТЕРФЕЙС «ПОСТУПЛЕНИЯ НА СКЛАД»

Построение отчета

Программа Allegro не имеет встроенных средств печати. Вместо этого используется экспорт в Microsoft Excel, который должен быть установлен на компьютере. Экспорт в Excel осуществляется при помощи встроенного в программу компонента XLReport фирмы AfalinaSoft.

Откроем проект документа «Поступление на склад» в режиме дизайна.

Добавим на форму компонент XLReport с палитры Print.

Вызовем в Инспекторе объектов редактор свойства DataSources и добавим в список 2 источника данных:



В инспекторе объектов подключим первый источник к главной таблице документа :

Dataset = qryMaster

Alias = MASTER

Второй подключим к подчиненной таблице документа:

Dataset = qryDetail

Alias = DETAIL

Range = range1

Свойство Range содержит имя региона ячеек range1 шаблона Excel, который нам еще предстоит создать.

Теперь создадим шаблон. Для этого дважды щелкнем на компоненте XLReport1. Вызовется Microsoft Excel. Распишем заголовки будущих колонок документа, оставив слева одну пустую колонку. Выделим ячейки будущей строки документа, захватив эту пустую колонку и одну пустую добавочную строку снизу, как показано на рисунке. Назовем выделенный регион ячеек range1, набрав это слово в выпадающем списке слева:



Теперь выберем по одной каждую ячейку будущей строки документа и впишем в нее знак равенства, затем название (ALIAS ) источника данных и имя поля, которое следует отобразить в этой ячейке, разделенные знаком подчеркивания:

=DETAIL_NUM

=DETAIL_ITEM_NAME

=DETAIL_QUANTITY

=DETAIL_PRICE_L

=DETAIL_AMOUNT_L



Удалим лишние листы (Лист2 и Лист3) из книги , сохраним Книгу в файле под названием stock_in .xls в той же директории, где мы храним модули нашего проекта. В дополнительной строке региона, под ячейкой, в которой должно выводиться количество, и под ячейкой в которой должна выводиться сумма напишем слово sum и придадим этим ячейкам жирный шрифт:



Сохраним изменения в шаблоне, закроем Excel и вернемся к нашему проекту.

В Инспекторе объектов у компонента XLReport1 в свойстве XLSTemplate запишем имя файла шаблона stock_in.xls.

Дважды щелкнем на компоненте ActionList1, выберем в списке команд Отчет и в Инспекторе объектов назначим этой команде обработчик события OnExecute:

procedure TStockInForm.actReportExecute(Sender: TObject);
begin
  XLReport1.Report;
end;

Выберем в проекте компонент XLReport1 и создадим ему обработчик события OnProgress:

{Отображение прогресса в статусной строке}
procedure TStockInForm.xlReport1Progress(Report: TxlReport; const Position, Max: Integer);
begin
  if Position = 0 then
    StatusBarDisplay(clBlack, Position, 0, Max, '', '', '')
  else
    StatusBarDisplay(clLime, Position, 0, Max, '', 'Экспорт в Excel...', '');
end;

Запустим проект и нажмем кнопку «Отчет». Произойдет экспорт в Excel и отображение отчета на экране.



Закроем Excel. Остановим работу проекта. Дважды щелкнем на компоненте XLReport1 для того, чтобы вызвать шаблон.

Отформатируем ячейки: поля нумерации количества и цены сделаем выравнивание по центру, сумму отформатируем как числа с 2 десятичными разрядами.

Добавим 5 рядов ячеек вверху документа для размещения полей шапки .

Добавим крупным шрифтом надпись «Поступление на склад»

Справа от нее объединим три ячейки и впишем в них =MASTER_ENTRY_DATE, зададим в этих ячейках

принудительное форматирование в виде даты.

Ниже на трех строках разместим жирным шрифтом:

=MASTER_STOCK_ACC_NAME

=MASTER_CREDIT_ACC_NAME

=MASTER_CONTRAGENT_NAME



Для отображения нумерации страниц, в «Параметрах страницы» на закладке «Колонтитулы» создадим верхний колонтитул вида « Страница 1 из ?». Еще объявим в «Параметрах страницы » сквозные строки $8:$8 на закладке « Лист».

Сохраним шаблон и закроем Excel.

Запустим проект и сделаем экспорт. Вызовем в Excel « Предварительный просмотр»:



Итак, мы полностью реализовали интерфейс документа «Поступление на склад».



Пример создания склада в Allegro Наверх