118
//Удаление баланса за выбранный период:
procedure TfmMain.acDelBalanceExecute(Sender: TObject);
begin
if Application.MessageBox('Удалить баланс за выбранный период?',
'Вопрос',
MB_ICONQUESTION+MB_YESNO) = IDYES then
begin
DM.qrDelBalance.Parameters.ParamByName('pYear').Value :=
DM.dstPeriodList.FieldByName('Год').AsString;
DM.qrDelBalance.Parameters.ParamByName('pQuarter').Value :=
DM.dstPeriodList.FieldByName('Квартал').AsString;
DM.qrDelBalance.ExecSQL;
Application.MessageBox('Баланс за выбранный период удален.',
'Информация',
MB_ICONINFORMATION+MB_OK);
DM.dstPeriodList.Requery;
end;
end;
//Добавление нового ОПиУ:
procedure TfmMain.acNewOPUExecute(Sender: TObject);
begin
if (Trim(cbYear.Text)='') or (Trim(cbQuarter.Text)='') then
Application.MessageBox('Укажите период!', 'Ошибка', MB_ICONERROR+MB_OK)
else
begin
DM.qrNewOPU.Parameters.ParamByName('pYear').Value :=
StrToInt(cbYear.Text);
DM.qrNewOPU.Parameters.ParamByName('pQuarter').Value :=
StrToInt(cbQuarter.Text);
try
DM.qrNewOPU.ExecSQL;
DM.dstOPU.Filter := '(Год = ' + cbYear.Text + ') and (Квартал = ' +
cbQuarter.Text + ')';
DM.dstOPU.Open;
fmOPU.Caption := 'Отчет о прибылях и убытках (форма №2) за ' +
cbQuarter.Text + ' квартал ' + cbYear.Text + ' г.';
fmOPU.ShowModal;
DM.dstPeriodList.Requery;
except
Application.MessageBox('ОПиУ за данный период уже создан. Выберите
этот период из таблицы' +
' и нажмите кнопку "Редактировать".', 'Информация',
MB_ICONINFORMATION+MB_OK);
end;
end;
end;
//Редактирование ОПиУ за выбранный период:
procedure TfmMain.acEditOPUExecute(Sender: TObject);
var
Year, Quarter: string;
begin
Year := DM.dstPeriodList.FieldByName('Год').AsString;
Quarter := DM.dstPeriodList.FieldByName('Квартал').AsString;
DM.dstOPU.Filter := '(Год = ' + Year + ') and (Квартал = ' + Quarter +
')';
DM.dstOPU.Open;
if DM.dstOPU.RecordCount > 0 then
begin