Код: Выделить всё
cmDoMarkUnMark:
{
if (curTable = #tabl_schet)
{
if tabl_schet.pik = 'V'
then tabl_schet.pik := '-'
else tabl_schet.pik := 'V';
update current tabl_schet;
ReReadRecord;
}
else
{
if tabl_kontr.pik = 'V'
then tabl_kontr.pik := '-'
else tabl_kontr.pik := 'V';
update current tabl_kontr;
ReReadRecord;
}
}
cmOK:
{
stmt := sqlAllocStmt;
sqlBindCol(stmt, 1, kol1);
sqlBindCol(stmt, 2, kol2);
sqlBindCol(stmt, 3, kol3);
sqlBindCol(stmt, 4, kol4);
sqlBindCol(stmt, 5, kol5);
sqlBindCol(stmt, 6, kol6);
sqlBindParam(stmt, 1, d_n);
sqlBindParam(stmt, 2, d_k);
sqlAddStr(query,'select distinct a.nodok,a.datvip,a.name,a.namepl1,a.sumplat,a.co,a.name1,a.schet1 from (');
sqlAddStr(query,'select distinct plpor.nrec,plpor.nodok,plpor.datvip,katorg.name name,plpor.namepl1,plpor.sumplat,katbank.name name1,katbank.schet1, ');
sqlAddStr(query,'fpco.name co from plpor ');
sqlAddStr(query,'inner join katorg on plpor.cpol=katorg.nrec ');
sqlAddStr(query,'inner join katbank on plpor.cbankplat=katbank.nrec ');
sqlAddStr(query,'left join fpco on plpor.cwaymove=fpco.nrec ');
sqlAddStr(query,'where plpor.tidkgal=1 ');
sqlAddStr(query,'and (plpor.datvip between ? and ?) ');
// если по выбранным счетам
str_bank:='';
vib_bank:=false;
PushPos(#tabl_schet);
_loop tabl_schet
{
if tabl_schet.pik = 'V'
then begin
if vib_bank=false then sqlAddStr(query,'and (') else sqlAddStr(query,' or ');
sqlAddStr(query,'((katbank.name='#39+tabl_schet.name+''#39+') and (katbank.schet1='#39+tabl_schet.schet1+''#39+'))');
vib_bank:=true;
str_bank:=str_bank+'Р/c № '+tabl_schet.schet1+' в '+tabl_schet.name+', ';
end;
}
if vib_bank=true then sqlAddStr(query,') ');
PopPos(#tabl_schet);
//
// если по выбранным контрагентам
vib_org:=false;
PushPos(#tabl_kontr);
_loop tabl_kontr
{
if tabl_kontr.pik = 'V'
then begin
if vib_org=false then sqlAddStr(query,'and (') else sqlAddStr(query,' or ');
sqlAddStr(query,'(katorg.shortname='#39+tabl_kontr.name+''#39+')');
vib_org:=true;
end;
}
if vib_org=true then sqlAddStr(query,') ');
PopPos(#tabl_kontr);
//
sqlAddStr(query,') a left join nalogfin on a.nrec=nalogfin.csoprdoc ');
sqlAddStr(query,'order by a.name,a.schet1,a.datvip,a.nodok');
k_osh:=sqlPrepare(stmt,query);
if k_osh>0 then message('sqlPrepare. Ошибка '+k_osh);
k_osh:=sqlExecute(stmt);
if k_osh>0 then message('sqlExecute. Ошибка '+k_osh);
if k_osh=0 {
xlCreateExcelWithTemplate(TranslatePath('%StartPath%')+'RESRAB\Платёжные документы\Платёжки.xlsx', true);
xlSetActiveWorkBookByName('1');
xlSetActiveSheetByName('Лист 1');
xlSetCellStringValue(sGetTune('Boss'), 2, 5, 2, 5);
i:=10;
sum_sum:=0;
while sqlFetch(stmt) = tsOk do
{
++i;
xlSetCellStringValue(i-10, i+3, 1, i+3, 1);
xlSetCellStringValue('Плат.пор. №'+kol1+' от '+DateToStr(kol2, 'DD.MM.YYYY'), i+3, 2, i+3, 2);
xlSetCellStringValue(kol3, i+3, 3, i+3, 3);
xlSetCellStringValue(kol4, i+3, 4, i+3, 4);
xlSetCellStringValue(kol5, i+3, 5, i+3, 5);
xlSetCellStringValue(kol6, i+3, 6, i+3, 6);
sum_sum:=sum_sum+kol5;
}
xlSetCellStringValue('Итого по документам:', i+4, 4, i+4, 4);
xlSetCellStringValue(sum_sum, i+4, 5, i+4, 5);
xlFrameCells(59, 2,1,1, 14, 1, i+3, 7);
sqlFreeStmt(stmt);
sqlFreeStr(query);
xlKillExcel; }
}
end;