procedure bReportOnClick (ol,li: string);
var
frxDBDataset1, frxDBDataset2,frxDBDataset3,frxDBDataset4,frxDBDataset5,frxDBDataset6,frxDBDataset7,frxDBDataset8,frxDBDataset9,frxDBDataset10,frxDBDataset11,frxDBDataset12: TfrxDBDataset;
frxDBDataset13,frxDBDataset14,frxDBDataset15: TfrxDBDataset;
ServiceWork, WorkOff, servise, listWorkOff,TypeOfEquipment,Manufacturer,Company,status,clCompanyOrApp,companyServiceWork, comDoc,TypeDoc, union : TDataSet;
firstNameClient, twoNameClient, lastNameClient: TDataSet;
i,c: integer;
s:string;
begin
//передача в дизайнер отчета
SQLQuery('SELECT id AS "'+langIniG.ReadString('reportmess','dr1', '(id) Идентификатор клиента')+'",id_clCompanyOrApp AS "'+langIniG.ReadString('reportmess','dr2', '(id) Идентификатор типа клиента')+'",'+
'id_company AS "'+langIniG.ReadString('reportmess','dr3', '(id) Идентификатор организации')+'",id_status AS "'+langIniG.ReadString('reportmess','dr4', '(id) Идентификатор статуса оборудования ')+'",'+
'id_TypeOfEquipment AS "'+langIniG.ReadString('reportmess','dr5', '(id) Идентификатор типа оборудования ')+'",id_Manufacturer AS "'+langIniG.ReadString('reportmess','dr6', '(id) Идентификаторбренда оборудования ')+'",'+
'telephonClient AS "'+langIniG.ReadString('reportmess','dr31', 'Телефон')+'",adresClient AS "'+langIniG.ReadString('reportmess','dr10', 'Адрес клиента')+'", passportNamberClient AS "'+langIniG.ReadString('reportmess','dr11', 'Серия паспорта клиента')+'", passportSeriesClient AS "'+langIniG.ReadString('reportmess','dr12', 'Номер паспорта клиента')+'",'+
'serialNamber AS "'+langIniG.ReadString('reportmess','dr13', 'Серийный номер оборудования ')+'" ,descriptionATCsWords AS "'+langIniG.ReadString('reportmess','dr14', 'Описание неисправности')+'",externalStatus AS "'+langIniG.ReadString('reportmess','dr15', 'Внешний вид')+'",'+
'model AS "'+langIniG.ReadString('reportmess','dr16', 'Модель оборудования ')+'",dateInServise AS "'+langIniG.ReadString('reportmess','dr17', 'Дата поступления ')+'",equipment AS "'+langIniG.ReadString('reportmess','dr18', 'Комплектация ')+'",'+
'diagnostics AS "'+langIniG.ReadString('reportmess','dr19', 'Описание диагностики')+'",dateApplcation AS "'+langIniG.ReadString('reportmess','dr20', 'Дата ожидания мастера')+'",timeApplication AS "'+langIniG.ReadString('reportmess','dr21', 'Время ожидания мастера')+'",'+
'warranty AS "'+langIniG.ReadString('reportmess','dr22', 'Гарантийный ДА/НЕТ')+'",onlyDiiagnostics AS "'+langIniG.ReadString('reportmess','dr23', 'Только диагностика ДА/НЕТ')+'" FROM servise', servise);
SQLQuery('SELECT name AS "'+langIniG.ReadString('reportmess','dr7', 'Имя клиента')+'" FROM firstNameClient', firstNameClient);
SQLQuery('SELECT name AS "'+langIniG.ReadString('reportmess','dr8', 'Фамилия клиента')+'" FROM twoNameClient', twoNameClient);
SQLQuery('SELECT name AS "'+langIniG.ReadString('reportmess','dr9', 'Отчество клиента')+'" FROM lastNameClient', lastNameClient);
SQLQuery('SELECT id_servise AS "'+langIniG.ReadString('reportmess','dr24', '(id) Идентификатор оборудования ')+'", priceWorkOff AS "'+langIniG.ReadString('reportmess','dr25', 'Цена')+'",klVoWorkOff AS "'+langIniG.ReadString('reportmess','dr26', 'Колличество')+'",nameWorkOff AS "'+langIniG.ReadString('reportmess','dr27', 'Наименование')+'" FROM listWorkOff', listWorkOff);
SQLQuery('SELECT nameTypeOfEquipment "'+langIniG.ReadString('reportmess','dr28', 'Тип оборудования ')+'" FROM TypeOfEquipment', TypeOfEquipment);
SQLQuery('SELECT nameManufacturer AS "'+langIniG.ReadString('reportmess','dr29', 'Бренд оборудования ')+'" FROM manufacturer', Manufacturer);
SQLQuery('SELECT nameCompany AS "'+langIniG.ReadString('reportmess','dr30', 'Имя ')+'", telCompany AS "'+langIniG.ReadString('reportmess','dr31', 'Телефон')+'", streetCompany AS "'+langIniG.ReadString('reportmess','dr32', 'Улица')+'", houseCompany AS "'+langIniG.ReadString('reportmess','dr33', 'Дом')+'", fractionCompany AS "'+langIniG.ReadString('reportmess','dr34', 'Дробь')+'", officeCompany AS "'+langIniG.ReadString('reportmess','dr35', 'Офис')+'" FROM company', Company);
SQLQuery('SELECT statusName AS "'+langIniG.ReadString('reportmess','dr36', 'Статус оборудования ')+'" FROM status', status);
SQLQuery('SELECT nameclCompanyOrApp AS "'+langIniG.ReadString('reportmess','dr37', 'Частный клиент,компания, заявка')+'" FROM clCompanyOrApp', clCompanyOrApp);
SQLQuery('SELECT id_Company AS "'+langIniG.ReadString('reportmess','dr38', '(id) Идентификатор организации')+'",nameServise AS "'+langIniG.ReadString('reportmess','dr39', 'Тип работы')+'",priceServise AS "'+langIniG.ReadString('reportmess','dr40', 'Цена работы')+'",'+
'dateServiseCompany AS"'+langIniG.ReadString('reportmess','dr41', 'Дата выполнения работы')+'",klVo "'+langIniG.ReadString('reportmess','dr42', 'Колличество')+'" FROM companyServiceWork', companyServiceWork);
SQLQuery('SELECT id_TypeDoc AS "'+langIniG.ReadString('reportmess','dr43', '(id)Идентификатор Тип документа')+'",scanDoc AS "'+langIniG.ReadString('reportmess','dr44', 'Документ')+'",dateInDoc AS "'+langIniG.ReadString('reportmess','dr45', 'Дата')+'",nameDoc AS "'+langIniG.ReadString('reportmess','dr30', 'Имя ')+'",descriptionDoc "'+langIniG.ReadString('reportmess','dr46', 'Описание')+'" FROM comDoc', comDoc);
SQLQuery('SELECT nameTypeDoc AS "'+langIniG.ReadString('reportmess','dr47', 'Тип документа')+'" FROM TypeDoc', TypeDoc);
// передача в дизайнер отчета объединенных данных несколькоих таблиц
SQLQuery('SELECT servise.id AS "'+langIniG.ReadString('reportmess','dr48', '(id)')+'",'+
'servise.telephonClient AS "'+langIniG.ReadString('reportmess','dr85', '(частный клиент) Телефон')+'",servise.adresClient AS "'+langIniG.ReadString('reportmess','dr52', '(частный клиент) Адрес')+'", servise.passportNamberClient AS "'+langIniG.ReadString('reportmess','dr53', '(частный клиент) Серия паспорта')+'", servise.passportSeriesClient AS "'+langIniG.ReadString('reportmess','dr54', '(частный клиент) Номер паспорта')+'",'+
'servise.serialNamber AS "'+langIniG.ReadString('reportmess','dr55', '(Оборудование) Серийный номер')+'" ,servise.descriptionATCsWords AS "'+langIniG.ReadString('reportmess','dr56', '(Оборудование) Описание неисправности')+'",servise.externalStatus AS "'+langIniG.ReadString('reportmess','dr57', '(Оборудование) Внешний вид')+'",'+
'servise.model AS "'+langIniG.ReadString('reportmess','dr58', '(Оборудование) Модель')+'",servise.dateInServise AS "'+langIniG.ReadString('reportmess','dr59', '(Оборудование) Дата поступления ')+'",servise.equipment AS "'+langIniG.ReadString('reportmess','dr60', '(Оборудование) Комплектация ')+'",'+
'servise.diagnostics AS "'+langIniG.ReadString('reportmess','dr61', '')+'",servise.dateApplcation AS "'+langIniG.ReadString('reportmess','dr62', '(Заявка) Дата ожидания мастера')+'",servise.timeApplication AS "'+langIniG.ReadString('reportmess','dr63', '(Заявка) Время ожидания мастера')+'",'+
'servise.warranty AS "'+langIniG.ReadString('reportmess','dr64', '(Оборудование) Гарантийный ДА/НЕТ')+'",servise.onlyDiiagnostics AS "'+langIniG.ReadString('reportmess','dr65', '(Оборудование) Только диагностика ДА/НЕТ')+'", '+
'firstNameClient.name AS "'+langIniG.ReadString('reportmess','dr49', '(частный клиент) Имя ')+'",'+
'twoNameClient.name AS "'+langIniG.ReadString('reportmess','dr50', '(частный клиент) Фамилия ')+'",'+
'lastNameClient.name AS "'+langIniG.ReadString('reportmess','dr51', '(частный клиент) Отчество ')+'",'+
'listWorkOff.priceWorkOff AS "'+langIniG.ReadString('reportmess','dr66', '(Работы) Цена')+'",listWorkOff.klVoWorkOff AS "'+langIniG.ReadString('reportmess','dr67', '(Работы) Цена')+'",listWorkOff.nameWorkOff AS "'+langIniG.ReadString('reportmess','dr68', '(Работы) Наименование')+'",'+
'sumInPrice.inPrice AS "'+langIniG.ReadString('reportmess','dr69', '(Оплата работ) Сумма оплаты')+'",sumInPrice.dateINPrice AS "'+langIniG.ReadString('reportmess','dr70', '(Оплата работ) Дата оплаты')+'", '+
'TypeOfEquipment.nameTypeOfEquipment AS "'+langIniG.ReadString('reportmess','dr71', '(Оборудование) Тип')+'", '+
'manufacturer.nameManufacturer AS "'+langIniG.ReadString('reportmess','dr72', '(Оборудование) Бренд')+'", '+
'company.nameCompany AS "'+langIniG.ReadString('reportmess','dr73', '(Компания) Имя ')+'", telCompany AS "'+langIniG.ReadString('reportmess','dr74', '(Компания) Телефон')+'", streetCompany AS "'+langIniG.ReadString('reportmess','dr75', '(Компания) Улица')+'", houseCompany AS "'+langIniG.ReadString('reportmess','dr76', '(Компания) Дом')+'", fractionCompany AS "'+langIniG.ReadString('reportmess','dr77', '(Компания) Дробь')+'", officeCompany AS "'+langIniG.ReadString('reportmess','dr78', '(Компания) Офис')+'", '+
'status.statusName AS "'+langIniG.ReadString('reportmess','dr79', '(Оборудование) Статус')+'", '+
'clCompanyOrApp.nameclCompanyOrApp AS "'+langIniG.ReadString('reportmess','dr80', '(Тип клиента) Частный клиент,компания, заявка')+'" '+
'FROM servise '+
'LEFT OUTER JOIN firstNameClient ON firstNameClient.id=servise.id_firstNameClient '+
'LEFT OUTER JOIN twoNameClient ON twoNameClient.id=servise.id_twoNameClient '+
'LEFT OUTER JOIN lastNameClient ON lastNameClient.id=servise.id_lastNameClient '+
'LEFT OUTER JOIN listWorkOff ON listWorkOff.id_servise=servise.id '+
'LEFT OUTER JOIN sumInPrice ON sumInPrice.id_servise=servise.id '+
'LEFT OUTER JOIN TypeOfEquipment ON TypeOfEquipment.id=servise.id_TypeOfEquipment '+
'LEFT OUTER JOIN manufacturer ON manufacturer.id=servise.id_manufacturer '+
'LEFT OUTER JOIN company ON company.id=servise.id_Company '+
'LEFT OUTER JOIN status ON status.id=servise.id_status '+
'LEFT OUTER JOIN clCompanyOrApp ON clCompanyOrApp.id=servise.id_clCompanyOrApp '+
'WHERE servise.id='+ frmServiceCen.tgList.sqlValue , WorkOff);
if frmCompanyServiceWork.tgCompanyWork.SelectedColumn then
begin
c := frmCompanyServiceWork.tgCompanyWork.RowCount-1;
for i := 0 to c do
begin
if frmCompanyServiceWork.tgCompanyWork.Selected[i] then s := s +IntToStr(frmCompanyServiceWork.tgCompanyWork.dbIndexToID(i)) + ' OR ';
end;
if s <> '' then
begin
SetLength(s, Length(s)-4);
SQLQuery('SELECT companyServiceWork.id AS "'+langIniG.ReadString('reportmess','dr48', '(id)')+'", companyServiceWork.nameServise AS "'+langIniG.ReadString('reportmess','dr82', 'Имя услуги')+'", companyServiceWork.priceServise AS "'+langIniG.ReadString('reportmess','dr83', 'Цена услуги')+'", companyServiceWork.dateServiseCompany AS "'+langIniG.ReadString('reportmess','dr84', 'Дата окозания услуги')+'" ,'+
'companyServiceWork.klVo AS "'+langIniG.ReadString('reportmess','dr42', 'Колличество')+'",'+
'company.nameCompany AS "'+langIniG.ReadString('reportmess','dr73', '(Компания) Имя ')+'", telCompany AS "'+langIniG.ReadString('reportmess','dr74', '(Компания) Телефон')+'", streetCompany AS "'+langIniG.ReadString('reportmess','dr75', '(Компания) Улица')+'", houseCompany AS "'+langIniG.ReadString('reportmess','dr76', '(Компания) Дом')+'", fractionCompany AS "'+langIniG.ReadString('reportmess','dr77', '(Компания) Дробь')+'", officeCompany AS "'+langIniG.ReadString('reportmess','dr78', '(Компания) Офис')+'" '+
'FROM companyServiceWork '+
'LEFT OUTER JOIN company ON company.id=companyServiceWork.id_Company '+
'WHERE companyServiceWork.id='+s, ServiceWork);
end;
end else
begin
SQLQuery('SELECT companyServiceWork.id AS "'+langIniG.ReadString('reportmess','dr48', '(id)')+'", companyServiceWork.nameServise AS "'+langIniG.ReadString('reportmess','dr82', 'Имя услуги')+'", companyServiceWork.priceServise AS "'+langIniG.ReadString('reportmess','dr83', 'Цена услуги')+'", companyServiceWork.dateServiseCompany AS "'+langIniG.ReadString('reportmess','dr84', 'Дата окозания услуги')+'" ,'+
'companyServiceWork.klVo AS "'+langIniG.ReadString('reportmess','dr42', 'Колличество')+'",'+
'company.nameCompany AS "'+langIniG.ReadString('reportmess','dr73', '(Компания) Имя ')+'", telCompany AS "'+langIniG.ReadString('reportmess','dr74', '(Компания) Телефон')+'", streetCompany AS "'+langIniG.ReadString('reportmess','dr75', '(Компания) Улица')+'", houseCompany AS "'+langIniG.ReadString('reportmess','dr76', '(Компания) Дом')+'", fractionCompany AS "'+langIniG.ReadString('reportmess','dr77', '(Компания) Дробь')+'", officeCompany AS "'+langIniG.ReadString('reportmess','dr78', '(Компания) Офис')+'" '+
'FROM companyServiceWork '+
'LEFT OUTER JOIN company ON company.id=companyServiceWork.id_company '+
'WHERE companyServiceWork.id='+frmCompanyServiceWork.tgCompanyWork.sqlValue , ServiceWork);
end;
frxDBDataset1 := TfrxDBDataset.Create(frmLogin);
frxDBDataset1.UserName := langIniG.ReadString('reportmess','UserName1', '');
frxDBDataset1.CloseDataSource := True;
frxDBDataset1.OpenDataSource := True;
frxDBDataset1.DataSet := servise;
frxDBDataset2 := TfrxDBDataset.Create(listWorkOff);
frxDBDataset2.UserName := langIniG.ReadString('reportmess','UserName2', '');
frxDBDataset2.CloseDataSource := True;
frxDBDataset2.OpenDataSource := True;
frxDBDataset2.DataSet := listWorkOff;
frxDBDataset3 := TfrxDBDataset.Create(TypeOfEquipment);
frxDBDataset3.UserName := langIniG.ReadString('reportmess','UserName3', '');
frxDBDataset3.CloseDataSource := True;
frxDBDataset3.OpenDataSource := True;
frxDBDataset3.DataSet := TypeOfEquipment;
frxDBDataset4 := TfrxDBDataset.Create(Manufacturer);
frxDBDataset4.UserName := langIniG.ReadString('reportmess','UserName4', '');
frxDBDataset4.CloseDataSource := True;
frxDBDataset4.OpenDataSource := True;
frxDBDataset4.DataSet := Manufacturer;
frxDBDataset5 := TfrxDBDataset.Create(Company);
frxDBDataset5.UserName := langIniG.ReadString('reportmess','UserName5', '');
frxDBDataset5.CloseDataSource := True;
frxDBDataset5.OpenDataSource := True;
frxDBDataset5.DataSet := Company;
frxDBDataset6 := TfrxDBDataset.Create(status);
frxDBDataset6.UserName := langIniG.ReadString('reportmess','UserName6', '');
frxDBDataset6.CloseDataSource := True;
frxDBDataset6.OpenDataSource := True;
frxDBDataset6.DataSet := status;
frxDBDataset7 := TfrxDBDataset.Create(clCompanyOrApp);
frxDBDataset7.UserName := langIniG.ReadString('reportmess','UserName7', '');
frxDBDataset7.CloseDataSource := True;
frxDBDataset7.OpenDataSource := True;
frxDBDataset7.DataSet := clCompanyOrApp;
frxDBDataset8 := TfrxDBDataset.Create(companyServiceWork);
frxDBDataset8.UserName := langIniG.ReadString('reportmess','UserName8', '');
frxDBDataset8.CloseDataSource := True;
frxDBDataset8.OpenDataSource := True;
frxDBDataset8.DataSet := companyServiceWork;
frxDBDataset9 := TfrxDBDataset.Create(comDoc);
frxDBDataset9.UserName := langIniG.ReadString('reportmess','UserName9', '');
frxDBDataset9.CloseDataSource := True;
frxDBDataset9.OpenDataSource := True;
frxDBDataset9.DataSet := comDoc;
frxDBDataset10 := TfrxDBDataset.Create(TypeDoc);
frxDBDataset10.UserName := langIniG.ReadString('reportmess','UserName10', '');
frxDBDataset10.CloseDataSource := True;
frxDBDataset10.OpenDataSource := True;
frxDBDataset10.DataSet := TypeDoc;
frxDBDataset11 := TfrxDBDataset.Create(WorkOff);
frxDBDataset11.UserName := langIniG.ReadString('reportmess','UserName11', '');
frxDBDataset11.CloseDataSource := True;
frxDBDataset11.OpenDataSource := True;
frxDBDataset11.DataSet := WorkOff;
frxDBDataset12 := TfrxDBDataset.Create(ServiceWork);
frxDBDataset12.UserName := langIniG.ReadString('reportmess','UserName12', '');
frxDBDataset12.CloseDataSource := True;
frxDBDataset12.OpenDataSource := True;
frxDBDataset12.DataSet := ServiceWork;
frxDBDataset13 := TfrxDBDataset.Create(firstNameClient);
frxDBDataset13.UserName := langIniG.ReadString('reportmess','UserName13', '');
frxDBDataset13.CloseDataSource := True;
frxDBDataset13.OpenDataSource := True;
frxDBDataset13.DataSet := firstNameClient;
frxDBDataset14 := TfrxDBDataset.Create(twoNameClient);
frxDBDataset14.UserName := langIniG.ReadString('reportmess','UserName14', '');
frxDBDataset14.CloseDataSource := True;
frxDBDataset14.OpenDataSource := True;
frxDBDataset14.DataSet := twoNameClient;
frxDBDataset15 := TfrxDBDataset.Create(lastNameClient);
frxDBDataset15.UserName := langIniG.ReadString('reportmess','UserName15', '');
frxDBDataset15.CloseDataSource := True;
frxDBDataset15.OpenDataSource := True;
frxDBDataset15.DataSet := lastNameClient;
frmLogin.frxReport.Clear;
//frmLogin.frxReport.DataSets.Clear;
frmLogin.frxReport.DataSets.Add(frxDBDataset1);
frmLogin.frxReport.DataSets.Add(frxDBDataset13);
frmLogin.frxReport.DataSets.Add(frxDBDataset14);
frmLogin.frxReport.DataSets.Add(frxDBDataset15);
frmLogin.frxReport.DataSets.Add(frxDBDataset2);
frmLogin.frxReport.DataSets.Add(frxDBDataset3);
frmLogin.frxReport.DataSets.Add(frxDBDataset4);
frmLogin.frxReport.DataSets.Add(frxDBDataset5);
frmLogin.frxReport.DataSets.Add(frxDBDataset6);
frmLogin.frxReport.DataSets.Add(frxDBDataset7);
frmLogin.frxReport.DataSets.Add(frxDBDataset8);
frmLogin.frxReport.DataSets.Add(frxDBDataset9);
frmLogin.frxReport.DataSets.Add(frxDBDataset10);
frmLogin.frxReport.DataSets.Add(frxDBDataset11);
frmLogin.frxReport.DataSets.Add(frxDBDataset12);
frxDBDataset1.DataSet.Close;
frxDBDataset2.DataSet.Close;
frxDBDataset3.DataSet.Close;
frxDBDataset4.DataSet.Close;
frxDBDataset5.DataSet.Close;
frxDBDataset6.DataSet.Close;
frxDBDataset7.DataSet.Close;
frxDBDataset8.DataSet.Close;
frxDBDataset9.DataSet.Close;
frxDBDataset10.DataSet.Close;
frxDBDataset11.DataSet.Close;
frxDBDataset12.DataSet.Close;
frxDBDataset13.DataSet.Close;
frxDBDataset14.DataSet.Close;
frxDBDataset15.DataSet.Close;
if (ol='print') then begin
frmLogin.frxReport.LoadFromFile(ExtractFilePath(Application.ExeName)+li);
frmLogin.frxReport.ShowReport;
end;
if (ol='edit') then begin
frmLogin.frxReport.LoadFromFile(ExtractFilePath(Application.ExeName)+li);
frmLogin.mniReport.Click;
end;
if (ol='new') then frmLogin.mniReport.Click;
frxDBDataset1.Free;
frxDBDataset2.Free;
frxDBDataset3.Free;
frxDBDataset4.Free;
frxDBDataset5.Free;
frxDBDataset6.Free;
frxDBDataset7.Free;
frxDBDataset8.Free;
frxDBDataset9.Free;
frxDBDataset10.Free;
frxDBDataset11.Free;
frxDBDataset12.Free;
end;
1 Yesterday 08:27:29
Re: Report By FRXReport (3 replies, posted in General)
3 2021-01-18 14:32:23
Re: Футер, перенос сумм значений столбцов в таблицу на главной форме (4 replies, posted in Russian)
я просто не могу понять, что именно Вы хотите
если Вам нужны метры материала то мне не понятно от куда Вы это берете
дайте точное описание
4 2021-01-17 22:45:57
Re: Футер, перенос сумм значений столбцов в таблицу на главной форме (4 replies, posted in Russian)
sacha531 wrote:скрин с наглядной схемой
не знаю какие именно значения Вам нужны попробуйте поиграть и этим
(SELECT 1.25*IFNULL(sum(Length2),"0") FROM AppList WHERE AppList.id_ploskiylist=ploskiylist.id)
*
(SELECT IFNULL(sum(piece2),"0") FROM AppList WHERE AppList.id_ploskiylist=ploskiylist.id)
5 2021-01-17 22:01:00
Re: How to translate interface and messages (5 replies, posted in FAQ)
Hi Jean,
Yes, tried this and other similar combinations without success.
Thanks for helping!
frmdbCoreExport.bExportAllToCSV.Caption:='';
6 2021-01-16 09:26:35
Re: Сложение количества, если такое имя присутствует. (5 replies, posted in Russian)
Добрый день.
При добавлении товара в таблицу firstFRM.GridPartsUse название дублируется. Я хочу сделать: при добавлении позиции, если имя такое уже есть, строка не новая сохранялась, а прибавлялось просто количество к существующей записи.
название будет дублироваться, так как Вы привязываете его к новой заявке..
посмотрите на мой проект сервисного центра, его можно использовать без ограничений, можете из него что-либо взять...
http://myvisualdatabase.com/forum/viewtopic.php?id=6853
7 2021-01-15 15:44:24
Topic: что с проектом MVDB (1 replies, posted in Talks about all)
Проект еще жив?
жалко терять такое чудо !!( я уже втянулся .. хочу после конструктора тестов еще пару конструкторов собрать но не могу понять, делать их на MVDB или искать, что то другое!!
8 2021-01-15 15:36:05
Re: конструктор тестов (4 replies, posted in Russian)
Сильно извиняюсь, но во время сборки произошел конфликт
теперь все работает
можете скачать https://questiond.pavlenkovv.ru/img/QuestionD.exe
9 2021-01-14 21:46:23
Re: Сложение количества, если такое имя присутствует. (5 replies, posted in Russian)
Добрый день. Как при добавлении в таблицу убрать дублирование новой записью, если такое имя уже есть то не новая запись, а сложение количества вносимого поля с существующим?
Опешите подробнее Вашу ситуацию ..
10 2021-01-12 16:13:50
Re: конструктор тестов (4 replies, posted in Russian)
исправил ряд ошибок в программе
добавил возможность архивации в zip
https://questiond.pavlenkovv.ru/img/QuestionD.exe
код для сборки проектов 1234567890123456789012
тестируйте, ругайтесь на меня!!
11 2021-01-11 13:19:06
Re: Аутентифицированный пользователь (2 replies, posted in Russian)
Для ведения лога и разделения личных данных необходим id или username аутентифицированного в текущем сеансе пользователя.
Подскажите пож. как его получить.
в роди это
Application.User.id; // идентификатор пользователя
Application.User.Username; // имя пользователя
Application.User.Email; // e-mail пользователя
Application.User.First_name; // имя пользователя
Application.User.Last_name; // фамилия пользователя
Application.User.Role; // имя роли у пользователя
Application.User.RoleId; // идентификатор роли пользователя
Application.User.is_admin; // является ли пользователь администратором
Application.User.is_active; // является ли пользователь активным
Application.User.is_logged; // был ли авторизован пользователь
Application.User.Last_login; // дата и время последнего входа пользователя
Application.User.Date_joined; // дата и время создания пользователя
12 2021-01-11 13:13:59
Re: Не работает прокрутка строк при ручной установке высоты строк (4 replies, posted in Russian)
используйте OnShow формы на которой расположена таблица
13 2021-01-10 19:04:25
Re: Процедура копирования таблицы и отображения в гриде (5 replies, posted in Russian)
Добрый вечер!
Но мне как раз и нужно записать данные в существующую таблицу. Просто как правило кнопка и нужна при количестве записей более 5.
к сожалению у меня не получается понять суть запросов, потому лишь дам Вам подсказки
procedure frmScore_Button8_OnClick (Sender: TObject; var Cancel: boolean);
begin
//SQLExecute('INSERT INTO база_данных(поле_1, поле_2)VALUES(значение_1,значение_2)'); // укажите свои значения для записи информации в БД
// этот запрос обращается сразу к таблице
frmScore.TableGrid1.dbSQL:='SELECT Specification.id_Nomenkl, specification.number, specification.price, specification.NDS, score.id '
+'FROM specification JOIN Dogovor ON Specification.id_Dogovor=dogovor.id JOIN Score ON Score.id_Dogovor=Score.id WHERE Score.id_Dogovor='+frmScore.dogovor.sqlValue+' AND Specification.name='+frmScore.spec.sqlValue;
frmScore.TableGrid1.dbSQLExecute;
end;
подробнее http://myvisualdatabase.com/doc_ru/prop … tring.html
14 2021-01-10 14:29:20
Re: Процедура копирования таблицы и отображения в гриде (5 replies, posted in Russian)
INSERT INTO - это создать запись
Вам нужно получить, значит нужно использовать SELECT
так же не понятна связь с таблицами Dogovor и Score - так как их изначально в запросе нет..
для такой операции используйте действие Saql Запрос в свойствах кнопки
справка http://myvisualdatabase.com/doc_ru/butt … query.html
Ваш запрос будет выглядеть примерно так
SELECT
Specification.id_Nomenkl,
specification.number,
specification.price,
specification.NDS, score.id
FROM
specification
JOIN
Dogovor ON Specification.id_Dogovor=dogovor.id,
Score ON Score.id_Dogovor=Score.id
WHERE
Score.id_Dogovor={dogovor} AND Specification.name={spec}
15 2021-01-09 23:35:21
Topic: forms.xml (0 replies, posted in Russian)
можно-ли подключать к разным формам свой файл forms.xml?
16 2021-01-09 22:24:23
Re: InputQuery [РЕШЕНО] (1 replies, posted in Russian)
решил
newQwuestion:= InputBox(Language.ReadString('lenguage','bEditQuestion','Редактировать имя вопроса'),Language.ReadString('lenguage','newNamequest','Новое имя вопроса'),SQLExecute('SELECT nameQuestion FROM question WHERE id='+frmQuestionList.tgQuestionList.sqlValue));
17 2021-01-09 22:10:46
Topic: InputQuery [РЕШЕНО] (1 replies, posted in Russian)
InputQuery имеет следующие параметры (заголовок, имя поля, переменная текстового поля)
как мне поместить в текстовое поле значение по умолчанию?
18 2021-01-09 18:51:24
Re: Процедура копирования таблицы и отображения в гриде (5 replies, posted in Russian)
Добрый вечер!
Помогите со следующей проблемой, написан запрос который работает в SQLlitestudio, но при переносе данного запроса в процедуру запрос не выполняется а дает сообщения о ненахождении ключа условия.INSERT INTO Ast (id_Nomenkl, number, price, NDS, id_score)
SELECT Specification.id_Nomenkl, specification.number, specification.price, specification.NDS, score.id
FROM specification
JOIN Dogovor ON Specification.id_Dogovor=dogovor.id
JOIN Score ON Score.id_Dogovor=Score.id
WHERE id_Dogovor='+frmScore.dogovor.sqlValue+' AND name='+frmScore.spec.sqlValueСообщение об ошибке:
ambuguous column name: id_Dogovor
это значит, что у Вас есть несколько таблиц с такими полями
нужно указать точное имя
Score.id_Dogovo
19 2021-01-09 18:45:17
Re: Кнопка с выпадающим меню (2 replies, posted in Russian)
procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
begin
if (Form1.ComboBox1.ItemIndex=-1)then ShowMessage('Значение не выбранно');
if (Form1.ComboBox1.ItemIndex=0)then ShowMessage('ДА');
if (Form1.ComboBox1.ItemIndex=1)then ShowMessage('НЕТ');
end;
procedure Form1_ComboBox1_OnChange (Sender: TObject);
begin
if (Form1.ComboBox1.ItemIndex=-1)then Form1.Button1.Caption:=' ';
if (Form1.ComboBox1.ItemIndex=0)then Form1.Button1.Caption:='ДА';
if (Form1.ComboBox1.ItemIndex=1)then Form1.Button1.Caption:='НЕТ';
end;
procedure Form1_OnShow (Sender: TObject; Action: string);
begin
Form1.ComboBox1.Items.Add('Сообщение ДА!');
Form1.ComboBox1.Items.Add('Сообщение НЕТ!');
end;
21 2020-12-31 20:30:48
Re: how can i create random numbers without repetition (10 replies, posted in Script)
hello sibprogsistem
How can I exclude TextBox1
в этом примере я исключил edit2
procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
var
i,s,r: Integer;
str:Boolean;
begin
for i:=0 to Form1.ComponentCount-1 do begin
if (Form1.Components[i] is TdbEdit) AND ((TdbEdit(Form1.Components[i]).Name<>'Edit2')) then begin
repeat
str:=False;
r:=random(100);
for s:=0 to Form1.ComponentCount-1 do begin
if (Form1.Components[s] is TdbEdit) then
if (TdbEdit(Form1.Components[s]).Value=r) then str:=True;
end;
if (str=False) then TdbEdit(Form1.Components[i]).Value:=r;
until str=False;
end;
end;
end;
22 2020-12-31 18:47:55
Re: how can i create random numbers without repetition (10 replies, posted in Script)
hello sibprogsistem
thank you very much
when i press the button first time i found empty textboxes
can you check it again
thanks for help
я поменял
until str=True;
на
until str=False;
и все поля заполняются
23 2020-12-31 18:09:17
Re: how can i create random numbers without repetition (10 replies, posted in Script)
hello sibprogsistem
thank you very much
i tired to apply this code to my file
can you please solve my file
thanks for help
procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
var
i,s,r: Integer;
str:Boolean;
begin
for i:=0 to Form1.ComponentCount-1 do begin
if (Form1.Components[i] is TdbEdit) then begin
repeat
str:=False;
r:=random(100);
for s:=0 to Form1.ComponentCount-1 do begin
if (Form1.Components[s] is TdbEdit) then
if (TdbEdit(Form1.Components[s]).Value=r) then str:=True;
end;
if (str=False) then TdbEdit(Form1.Components[i]).Value:=r;
until str=False;
end;
end;
end;
24 2020-12-31 13:10:03
Re: how can i create random numbers without repetition (10 replies, posted in Script)
hello all
how can i create random numbers without repetition
thanks for help
procedure Form1_Button2_OnClick (Sender: TObject; var Cancel: boolean);
var
i,s,int: integer;
begin
s:=1;
while s<>0 do
begin
for i := 1 to 5 do
begin
int := 1 + Random(100);
end;
s:=SQLExecute('SELECT IFNULL(id,0) FROM randomInteger WHERE intege='+IntToStr(int));
end;
if (s=0) then begin
SQLExecute('INSERT INTO randomInteger (intege)VALUES("'+IntToStr(int)+'")');
UpdateDataBase('randomInteger');
Form1.TableGrid2.dbUpdate;
end;
end;