1 (edited by Slava.Pepper 2014-11-07 06:54:05)

Topic: Печать отчетов

Возможно ли напечатать одну форму для нескольких записей из основной таблицы (например, абоненты) по выбору.
Т.Е. сформировать для подготовленной формы набор для печати, в каждой со своими данными и увидеть в предпросмотре.
Задача - напечатать акты выполненных работ для группы людей в один клик. Данные все есть в основной таблице.

И вопрос по  CheckBox. Работает ли он с вычисляемым полем таблицы, где проверяется какое-либо условие.
Задача - при поиске в основной таблице по  CheckBox отфильтровать должников. Какое условие можно применить?
Просто арифметическое сравнение в вычисляемом поле или SQL запрос и какой.

Re: Печать отчетов

Slava.Pepper wrote:

Возможно ли напечатать одну форму для нескольких записей из основной таблицы (например, абоненты) по выбору.
Т.Е. сформировать для подготовленной формы набор для печати, в каждой со своими данными и увидеть в предпросмотре.
Задача - напечатать акты выполненных работ для группы людей в один клик. Данные все есть в основной таблице.

Эти несколько записей имеют какие то общие характеристики?
либо вам нужно выбрать произвольные записи для их печати?

Slava.Pepper wrote:

И вопрос по  CheckBox. Работает ли он с вычисляемым полем таблицы, где проверяется какое-либо условие.
Задача - при поиске в основной таблице по  CheckBox отфильтровать должников. Какое условие можно применить?
Просто арифметическое сравнение в вычисляемом поле или SQL запрос и какой.

в последней бета версии (1.47), вычисляемые поля могут участвовать в поиске.
Какой алгоритм определения должника?


пришлите пожалуйста свой проект на support@drive-software.com
постараюсь помочь.

Dmitry.

Re: Печать отчетов

Отправил исправленный проект на Вам на емейл )

Dmitry.

Re: Печать отчетов

В таблицу необходимо вывести данные по условию.
Применил фильтр
Groups.GroupNumber = '{GroupNumberList}'
где GroupNumberList - TextBox с условием фильтрования.
Не работает. Подскажите, как отфильтровать по условию,
находящемуся в TextBox на форме.
Я так понимаю в фильтре условие это WHERE...

Re: Печать отчетов

Slava.Pepper
Должно работать, в настройках кнопки с действием "SQL запрос"

SELECT fielf1, field2 FROM tablename
WHERE Groups.GroupNumber = '{GroupNumberList}'

если не получится, приложите пожалуйста ваш проект (zip файл без exe и dll)

Dmitry.

6 (edited by Slava.Pepper 2015-04-27 11:01:01)

Re: Печать отчетов

Спасибо, заработало.
Далее хочу вывести на печать определенные в таблице данные
через множественный выбор строк. Подсмотрел скрипт про удаление
и переписал для запроса, но не работает. Ошибка запроса (near " ": syntax error) .
Подскажите, пожалуйста, где ошибка:

procedure frmGroupADD_List01_OnClick (Sender: string; var Cancel: boolean);
var
   a,c: integer;
   iColumn: integer;
begin
     iColumn := frmGroupADD.TableGridList.Columns.Count-1;
     c := frmGroupADD.TableGridList.RowCount - 1;
     for a :=0 to c do
         if frmGroupADD.TableGridList.Selected[a] then
         SQLExecute('SELECT LastName, FirstName, FasName, Uchenik.id, Groups.GroupNumber FROM Uchenik ' +
         'LEFT OUTER JOIN Groups ON Groups.id = Uchenik.id_Groups ' +
         'WHERE Uchenik.id = ' + frmGroupADD.TableGridList.Cells[iColumn, a]); //похоже, ругается на id = не понимает какие строки таблицы выбраны
         frmGroupADD.List01.dbReportFile:='ListVojdenB.fr3';
end;

begin
    frmGroupADD.TableGridList.Options := frmGroupADD.TableGridList.Options + goMultiSelect;
end.

Re: Печать отчетов

Аууу!!!! Помогите!!!!!

Re: Печать отчетов

Или так?
procedure frmGroupADD_List01_OnClick (Sender: string; var Cancel: boolean);
var
   a,c: integer;
   sSQL: string;
begin

     if frmGroupADD.TableGridList.SelectedCount = 0 then exit; // in no selected items then exit

     sSQL := 'SELECT LastName, FirstName, FasName, Groups.GroupNumber, Uchenik.id FROM Uchenik '+
     'LEFT OUTER JOIN Groups ON Groups.id = Uchenik.id_Groups ' +
     'WHERE ';

     c := frmGroupADD.TableGridList.RowCount - 1; // count of records in TableGrid
     for a :=0 to c do
         if frmGroupADD.TableGridList.Selected[a] then // if record selected
            sSQL := sSQL + 'Uchenik.id = ' + IntToStr(frmGroupADD.TableGridList.dbIndexToID(a));
            frmGroupADD.List01.dbReportFile:='ListVojdenB.fr3';
Тоже не таботает

Re: Печать отчетов

Slava.Pepper
Приложите пожалуйста к сообщению ваш проект (zip файл, без exe и dll)
Постараюсь помочь.

Dmitry.

Re: Печать отчетов

Там описание большое, я воспользовался отправкой в почту support@drive-software.com.
Спасибо за поддержку.