Topic: отчет

SQLQuery('SELECT companyServiceWork.id AS "(id)", companyServiceWork.nameServise AS "Имя услуги", companyServiceWork.priceServise AS "Цена услуги", companyServiceWork.dateServiseCompany  AS "Дата окозания услуги" ,'+
             'companyServiceWork.klVo AS "Колличество",'+
             'Company.nameCompany AS "(Компания) Имя", telCompany AS "(Компания) Телефон", streetCompany AS "(Компания) Улица", houseCompany AS "(Компания) Дом", fractionCompany AS "(Компания) Дробь", officeCompany AS "(Компания) Офис" '+
             'FROM companyServiceWork '+
             'LEFT OUTER JOIN Company ON Company.id=companyServiceWork.id_Company '+
             'WHERE companyServiceWork.id='+ frmCompanyServiceWork.tgCompanyWork.sqlValue , ServiceWork);

Так я получаю только одну запись, но как быть если мне нужно  получить несколько выбранных или все записи отображаемые в гриде

Re: отчет

в данном случае необходимо SQL запрос в части WHERE сформировать с помощью скрипта, имеется подобный пример

procedure Form1_bSQLReport_OnClick (Sender: string; var Cancel: boolean);
var
    i,c: integer;
    s: string;
begin
    s := '';
    Form1.bSQLReport.dbSQL := 'SELECT lastname, firstname, strftime(''%m/%d/%Y'', dateofbirth) as dateofbirth FROM employees';

    c := Form1.GridEmployees.RowCount-1;

    for i := 0 to c do
    begin
        if Form1.GridEmployees.Selected[i] then s := s + 'employees.id='+IntToStr(Form1.GridEmployees.dbIndexToID(i)) + ' OR ';
    end;

    if s <> '' then
    begin
        SetLength(s, Length(s)-4);
        Form1.bSQLReport.dbSQL := Form1.bSQLReport.dbSQL + ' WHERE ' + s;
    end;
end;


Для чего конкретно вам это необходимо? Если для отчета, то это возможно сделать и без скриптов.

Dmitry.

Re: отчет

ну вот и возникла у меня опять проблема
в выподающем списке переодически не  выводится список файлов из папки отчета
подразумеваю, что в этом виновата процедура формирования отчета 
 
Выпадающее меню строчки 1577 - 1765
  в нем выподающий список файлов отчета 1714 - 1756
Формирование отчета строчки 1935 - 2135

 
вход в программу через кнопку вход

не могу понять по чему то выводит список то нет

Post's attachments

Attachment icon service.7z 148.16 kb, 275 downloads since 2018-12-20 

Re: отчет

Пожалуйста, описывайте проблему подробней, к сожалению я понятия не имею, о каком выпадающем списке идет речь.

Dmitry.

Re: отчет

DriveSoft wrote:

Пожалуйста, описывайте проблему подробней, к сожалению я понятия не имею, о каком выпадающем списке идет речь.

Выподающее меню - отчеты

то показывает то не показывает список файлов из папки report... не могу понять почему
https://downloader.disk.yandex.ru/preview/845346adc18ac902c94a76bb935a0f955de079f4790f7be013979968b50c831c/5c1d1762/l4Fntz5LxT7kZ5w5Jfrwn4AfZxigf4ECr14Ph8MQ5FD37KzIbOwOQoyKAadGB8Cd0gV9BGioEc40xH8Ci_ekuA%3D%3D?uid=0&amp;filename=2222.png&amp;disposition=inline&amp;hash=&amp;limit=0&amp;content_type=image%2Fpng&amp;tknv=v2&amp;size=2048x2048

Re: отчет

К сожалению кода слишком много, чтобы разобраться в нем быстро. У меня список файлов в данном меню не показывается, также я не нашел правильного цикла, который основывался бы на количестве файлов из объекта reporfile


примерно должно быть так


    reporfile := TStringList.Create;
    reporfile.Text := GetFilesList( 'Report\','*.fr3',True); //ExtractFilePath(Application.ExeName) +

     t := reporfile.Count-1;
     for i:=0  to t  do
     begin
         subfiLangirepor:= TMenuItem.Create (mur);
         subfiLangirepor.Caption := ExtractFileName(reporfile[i]);
         subfiLangirepor.Hint := (reporfile[i]);
         mnFilereport.Add(subfiLangirepor);

         Delete(subfiLangirepor.Caption, Length(subfiLangirepor.Caption) -3 , 4);

         subfiLangiEdit := TMenuItem.Create(mur);
         subfiLangiEdit.Caption := langIniG.ReadString('pupmenu','reportedit', '');
         subfiLangiEdit.Hint := (reporfile[i]);
         subfiLangiDel := TMenuItem.Create(mur);
         subfiLangiDel.Caption := langIniG.ReadString('pupmenu','reportdel', '');
         subfiLangiDel.Hint := (reporfile[i]);
         subfiLangipdf := TMenuItem.Create(mur);
         subfiLangipdf.Caption := 'PDF';
         //subfiLangipdf.Hint := (fiLang[i]);
         subfiLangiPrint := TMenuItem.Create(mur);
         subfiLangiPrint.Caption := langIniG.ReadString('pupmenu','reportprint', '');
         subfiLangiPrint.Hint := (reporfile[i]);

         subfiLangiEdit.OnClick := @clickEdit;
         subfiLangiDel.OnClick := @clickDel;
         subfiLangiPrint.OnClick := @clickPrint;
         subfiLangipdf.OnClick := @clickpdf;
    
         subfiLangirepor.Add(subfiLangiEdit);
         subfiLangirepor.Add(subfiLangiDel);
         subfiLangirepor.Add(subfiLangipdf);
         subfiLangirepor.Add(subfiLangiPrint);
     end;
Dmitry.

Re: отчет

спасибо погоняю немного, посмотрю