metaclass: (Default)
[personal profile] metaclass
Частично сгенерено, частично написано руками:

with 
  recalcs as (
    select LandTaxObject2s_UV.*,
           imns.MTRFT_Name imns_name,imns.MTRFT_SCode,
           categ.MTRFT_Name categ_name,
           LTObjectRecalcs.*,
  recpay_1.LTRecPay_TotalToPay recpay_1_ToPay,
  recpay_1.LTRecPay_Payed recpay_1_Payed,
  recpay_3.LTRecPay_TotalToPay recpay_3_ToPay,
  recpay_3.LTRecPay_Payed recpay_3_Payed,
  recpay_5.LTRecPay_TotalToPay recpay_5_ToPay,
  recpay_5.LTRecPay_Payed recpay_5_Payed,
  recpay_8.LTRecPay_TotalToPay recpay_8_ToPay,
  recpay_8.LTRecPay_Payed recpay_8_Payed,
  recpay_9.LTRecPay_TotalToPay recpay_9_ToPay,
  recpay_9.LTRecPay_Payed recpay_9_Payed

    from LTObjectRecalcs
     join LandTaxObject2s_UV on LndTx2_ID=LTObjRec_ObjID
     left join MetaRefTable imns on imns.MTRFT_XMLOBJ_ID=LndTx2_imns
     left join MetaRefTable categ on categ.MTRFT_Type=18 and categ.MTRFT_SCODE=LndTx2_Category
  left join LTRecalcPayments recpay_1 on 
     recpay_1.LTRECPAY_OBJID=LTObjRec_ObjID and recpay_1.LTRecPay_DocID=:prm_LandTaxDocument_REF and
     recpay_1.LTRecPay_RecTermIndex=LTObjRec_RecTermIndex and
     recpay_1.LTRecPay_PayTermID=1

  left join LTRecalcPayments recpay_3 on 
     recpay_3.LTRECPAY_OBJID=LTObjRec_ObjID and recpay_3.LTRecPay_DocID=:prm_LandTaxDocument_REF and
     recpay_3.LTRecPay_RecTermIndex=LTObjRec_RecTermIndex and
     recpay_3.LTRecPay_PayTermID=3

  left join LTRecalcPayments recpay_5 on 
     recpay_5.LTRECPAY_OBJID=LTObjRec_ObjID and recpay_5.LTRecPay_DocID=:prm_LandTaxDocument_REF and
     recpay_5.LTRecPay_RecTermIndex=LTObjRec_RecTermIndex and
     recpay_5.LTRecPay_PayTermID=5

  left join LTRecalcPayments recpay_8 on 
     recpay_8.LTRECPAY_OBJID=LTObjRec_ObjID and recpay_8.LTRecPay_DocID=:prm_LandTaxDocument_REF and
     recpay_8.LTRecPay_RecTermIndex=LTObjRec_RecTermIndex and
     recpay_8.LTRecPay_PayTermID=8

  left join LTRecalcPayments recpay_9 on 
     recpay_9.LTRECPAY_OBJID=LTObjRec_ObjID and recpay_9.LTRecPay_DocID=:prm_LandTaxDocument_REF and
     recpay_9.LTRecPay_RecTermIndex=LTObjRec_RecTermIndex and
     recpay_9.LTRecPay_PayTermID=9

    where LTObjRec_DocID=:prm_LandTaxDocument_REF and
          (LndTx2_dept=:dept_id or :dept_id=0) and
          (LndTx2_imns=:imns_id or :imns_id=0)

  ),
  imnsitogs  as (
    select LndTx2_imns,min(imns_name) imns_name,
           LndTx2_Kind ,
sum(LTOBJREC_TAXTOTAL) LTOBJREC_TAXTOTAL,
sum(LTOBJREC_FREETOTAL) LTOBJREC_FREETOTAL, 
sum(LTOBJREC_TOTALTOPAY) LTOBJREC_TOTALTOPAY, 
sum(RECPAY_1_TOPAY) RECPAY_1_TOPAY, sum(RECPAY_1_PAYED) RECPAY_1_PAYED, sum(RECPAY_3_TOPAY) RECPAY_3_TOPAY, sum(RECPAY_3_PAYED) RECPAY_3_PAYED, sum(RECPAY_5_TOPAY) RECPAY_5_TOPAY, sum(RECPAY_5_PAYED) RECPAY_5_PAYED, sum(RECPAY_8_TOPAY) RECPAY_8_TOPAY, sum(RECPAY_8_PAYED) RECPAY_8_PAYED, sum(RECPAY_9_TOPAY) RECPAY_9_TOPAY, sum(RECPAY_9_PAYED) RECPAY_9_PAYED
           from     recalcs
    group by LndTx2_Kind,LndTx2_imns
  )
select * from 
(
select 3 sk,LNDTX2_ID, LNDTX2_DEPT, LNDTX2_IMNS, LNDTX2_KIND, LNDTX2_NUMBER, LNDTX2_OBLAST, LNDTX2_RAION, LNDTX2_GOROD, LNDTX2_ACTS, LNDTX2_DESC, LNDTX2_ADDRESS, LNDTX2_CATEGORY
, LNDTX2_FUNCKIND, LNDTX2_AREA, LNDTX2_TERMBEGIN, LNDTX2_TERMEND
, IMNS_NAME, MTRFT_SCODE, CATEG_NAME
, LTOBJREC_OBJID, LTOBJREC_DOCID, LTOBJREC_RECTERMINDEX, LTOBJREC_LEASETOTAL, LTOBJREC_CADASTRRATEVAL, LTOBJREC_CADASTRRATE, LTOBJREC_CADASTRTOTAL, LTOBJREC_FUNCRATE, LTOBJREC_TAXRATE, LTOBJREC_TERMKOEF, LTOBJREC_KOEFLOCAL, LTOBJREC_TAXTOTAL
, LTOBJREC_FREEAREA, LTOBJREC_FREECADASTRTOTAL, LTOBJREC_FREETAXRATE, LTOBJREC_FREETERMBEGIN, LTOBJREC_FREETERMEND, LTOBJREC_FREETERMKOEF, LTOBJREC_FREETOTAL, LTOBJREC_TOTALTOPAY, LTOBJREC_TAXRATEUNIT
, RECPAY_1_TOPAY, RECPAY_1_PAYED, RECPAY_3_TOPAY, RECPAY_3_PAYED, RECPAY_5_TOPAY, RECPAY_5_PAYED, RECPAY_8_TOPAY, RECPAY_8_PAYED, RECPAY_9_TOPAY, RECPAY_9_PAYED
 from recalcs

 union all 
select 6 sk,LNDTX2_ID, LNDTX2_DEPT, LNDTX2_IMNS, LNDTX2_KIND, LNDTX2_NUMBER, LNDTX2_OBLAST, LNDTX2_RAION, LNDTX2_GOROD, LNDTX2_ACTS, LNDTX2_DESC, LNDTX2_ADDRESS, LNDTX2_CATEGORY
, LNDTX2_FUNCKIND, LNDTX2_AREA, LNDTX2_TERMBEGIN, LNDTX2_TERMEND
, IMNS_NAME, MTRFT_SCODE, CATEG_NAME
, LTOBJREC_OBJID, LTOBJREC_DOCID, LTOBJREC_RECTERMINDEX, LTOBJREC_LEASETOTAL, LTOBJREC_CADASTRRATEVAL, LTOBJREC_CADASTRRATE, LTOBJREC_CADASTRTOTAL, LTOBJREC_FUNCRATE, LTOBJREC_TAXRATE, LTOBJREC_TERMKOEF, LTOBJREC_KOEFLOCAL, LTOBJREC_TAXTOTAL
, LTOBJREC_FREEAREA, LTOBJREC_FREECADASTRTOTAL, LTOBJREC_FREETAXRATE, LTOBJREC_FREETERMBEGIN, LTOBJREC_FREETERMEND, LTOBJREC_FREETERMKOEF, LTOBJREC_FREETOTAL, LTOBJREC_TOTALTOPAY, LTOBJREC_TAXRATEUNIT
, RECPAY_1_TOPAY, RECPAY_1_PAYED, RECPAY_3_TOPAY, RECPAY_3_PAYED, RECPAY_5_TOPAY, RECPAY_5_PAYED, RECPAY_8_TOPAY, RECPAY_8_PAYED, RECPAY_9_TOPAY, RECPAY_9_PAYED
 from recalcs

 union all 
select 2 sk,null, null, LNDTX2_IMNS, LNDTX2_KIND, null, null, null, null, null, null, null, null
, null, null, null, null
, null, null, null
, null, null, null, null, null, null, null, null, null, null, null, null
, null, null, null, null, null, null, null, null, null
, null, null, null, null, null, null, null, null, null, null
 from imnsitogs

 union all 
select 5 sk,null, null, LNDTX2_IMNS, LNDTX2_KIND, null, null, null, null, null, null, null, null
, null, null, null, null
, null, null, null
, null, null, null, null, null, null, null, null, null, null, null, null
, null, null, null, null, null, null, null, null, null
, null, null, null, null, null, null, null, null, null, null
 from imnsitogs

 union all 
select 4 sk,null, null, LNDTX2_IMNS, LNDTX2_KIND, null, null, null, null, null, null, null, null
, null, null, null, null
, null, null, null
, null, null, null, null, null, null, null, null, null, null, null, LTOBJREC_TAXTOTAL
, null, null, null, null, null, null, LTOBJREC_FREETOTAL, LTOBJREC_TOTALTOPAY, null
, RECPAY_1_TOPAY, RECPAY_1_PAYED, RECPAY_3_TOPAY, RECPAY_3_PAYED, RECPAY_5_TOPAY, RECPAY_5_PAYED, RECPAY_8_TOPAY, RECPAY_8_PAYED, RECPAY_9_TOPAY, RECPAY_9_PAYED
 from imnsitogs

 union all 
select 7 sk,null, null, LNDTX2_IMNS, LNDTX2_KIND, null, null, null, null, null, null, null, null
, null, null, null, null
, null, null, null
, null, null, null, null, null, null, null, null, null, null, null, LTOBJREC_TAXTOTAL
, null, null, null, null, null, null, LTOBJREC_FREETOTAL, LTOBJREC_TOTALTOPAY, null
, RECPAY_1_TOPAY, RECPAY_1_PAYED, RECPAY_3_TOPAY, RECPAY_3_PAYED, RECPAY_5_TOPAY, RECPAY_5_PAYED, RECPAY_8_TOPAY, RECPAY_8_PAYED, RECPAY_9_TOPAY, RECPAY_9_PAYED
 from imnsitogs

 union all 
select 1 sk,null, null, null, LNDTX2_KIND, null, null, null, null, null, null, null, null
, null, null, null, null
, null, null, null
, null, null, null, null, null, null, null, null, null, null, null, sum(LTOBJREC_TAXTOTAL) LTOBJREC_TAXTOTAL
, null, null, null, null, null, null, sum(LTOBJREC_FREETOTAL) LTOBJREC_FREETOTAL, sum(LTOBJREC_TOTALTOPAY) LTOBJREC_TOTALTOPAY, null
, sum(RECPAY_1_TOPAY) RECPAY_1_TOPAY, sum(RECPAY_1_PAYED) RECPAY_1_PAYED, sum(RECPAY_3_TOPAY) RECPAY_3_TOPAY, sum(RECPAY_3_PAYED) RECPAY_3_PAYED, sum(RECPAY_5_TOPAY) RECPAY_5_TOPAY, sum(RECPAY_5_PAYED) RECPAY_5_PAYED, sum(RECPAY_8_TOPAY) RECPAY_8_TOPAY, sum(RECPAY_8_PAYED) RECPAY_8_PAYED, sum(RECPAY_9_TOPAY) RECPAY_9_TOPAY, sum(RECPAY_9_PAYED) RECPAY_9_PAYED
 from recalcs
 group by LndTx2_Kind

) 
order by LndTx2_Kind,LndTx2_imns,sk,LndTx2_dept,ACC_STRTOINTDEF(LndTx2_Number,0)


План запроса:
PLAN (RECALCS LANDTAXOBJECT2S_UV ACCESS_LEVELS INDEX (RDB$PRIMARY2, RDB$PRIMARY2))
PLAN (RECALCS LANDTAXOBJECT2S_UV USERIMNSES INDEX (PK_USERIMNSES, PK_USERIMNSES))
PLAN (RECALCS LANDTAXOBJECT2S_UV USERIMNSES INDEX (PK_USERIMNSES, PK_USERIMNSES))
PLAN (RECALCS LANDTAXOBJECT2S_UV ACCESS_LEVELS INDEX (RDB$PRIMARY2, RDB$PRIMARY2))
PLAN (RECALCS LANDTAXOBJECT2S_UV USERIMNSES INDEX (PK_USERIMNSES, PK_USERIMNSES))
PLAN (RECALCS LANDTAXOBJECT2S_UV USERIMNSES INDEX (PK_USERIMNSES, PK_USERIMNSES))
PLAN (IMNSITOGS RECALCS LANDTAXOBJECT2S_UV ACCESS_LEVELS INDEX (RDB$PRIMARY2, RDB$PRIMARY2))
PLAN (IMNSITOGS RECALCS LANDTAXOBJECT2S_UV USERIMNSES INDEX (PK_USERIMNSES, PK_USERIMNSES))
PLAN (IMNSITOGS RECALCS LANDTAXOBJECT2S_UV USERIMNSES INDEX (PK_USERIMNSES, PK_USERIMNSES))
PLAN (IMNSITOGS RECALCS LANDTAXOBJECT2S_UV ACCESS_LEVELS INDEX (RDB$PRIMARY2, RDB$PRIMARY2))
PLAN (IMNSITOGS RECALCS LANDTAXOBJECT2S_UV USERIMNSES INDEX (PK_USERIMNSES, PK_USERIMNSES))
PLAN (IMNSITOGS RECALCS LANDTAXOBJECT2S_UV USERIMNSES INDEX (PK_USERIMNSES, PK_USERIMNSES))
PLAN (IMNSITOGS RECALCS LANDTAXOBJECT2S_UV ACCESS_LEVELS INDEX (RDB$PRIMARY2, RDB$PRIMARY2))
PLAN (IMNSITOGS RECALCS LANDTAXOBJECT2S_UV USERIMNSES INDEX (PK_USERIMNSES, PK_USERIMNSES))
PLAN (IMNSITOGS RECALCS LANDTAXOBJECT2S_UV USERIMNSES INDEX (PK_USERIMNSES, PK_USERIMNSES))
PLAN (IMNSITOGS RECALCS LANDTAXOBJECT2S_UV ACCESS_LEVELS INDEX (RDB$PRIMARY2, RDB$PRIMARY2))
PLAN (IMNSITOGS RECALCS LANDTAXOBJECT2S_UV USERIMNSES INDEX (PK_USERIMNSES, PK_USERIMNSES))
PLAN (IMNSITOGS RECALCS LANDTAXOBJECT2S_UV USERIMNSES INDEX (PK_USERIMNSES, PK_USERIMNSES))
PLAN (RECALCS LANDTAXOBJECT2S_UV ACCESS_LEVELS INDEX (RDB$PRIMARY2, RDB$PRIMARY2))
PLAN (RECALCS LANDTAXOBJECT2S_UV USERIMNSES INDEX (PK_USERIMNSES, PK_USERIMNSES))
PLAN (RECALCS LANDTAXOBJECT2S_UV USERIMNSES INDEX (PK_USERIMNSES, PK_USERIMNSES))
PLAN JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (RECALCS LTOBJECTRECALCS INDEX (FK_LTOBJREC_DOCID), RECALCS LANDTAXOBJECT2S_UV LANDTAXOBJECT2S INDEX (PK_LANDTAXOBJECT2S)), RECALCS IMNS INDEX (PK_METAREFTABLE)), RECALCS CATEG INDEX (U_TYPESCODE)), RECALCS RECPAY_1 INDEX (PK_LTRECALCPAYMENTS)), RECALCS RECPAY_3 INDEX (PK_LTRECALCPAYMENTS)), RECALCS RECPAY_5 INDEX (PK_LTRECALCPAYMENTS)), RECALCS RECPAY_8 INDEX (PK_LTRECALCPAYMENTS)), RECALCS RECPAY_9 INDEX (PK_LTRECALCPAYMENTS))
PLAN JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (RECALCS LTOBJECTRECALCS INDEX (FK_LTOBJREC_DOCID), RECALCS LANDTAXOBJECT2S_UV LANDTAXOBJECT2S INDEX (PK_LANDTAXOBJECT2S)), RECALCS IMNS INDEX (PK_METAREFTABLE)), RECALCS CATEG INDEX (U_TYPESCODE)), RECALCS RECPAY_1 INDEX (PK_LTRECALCPAYMENTS)), RECALCS RECPAY_3 INDEX (PK_LTRECALCPAYMENTS)), RECALCS RECPAY_5 INDEX (PK_LTRECALCPAYMENTS)), RECALCS RECPAY_8 INDEX (PK_LTRECALCPAYMENTS)), RECALCS RECPAY_9 INDEX (PK_LTRECALCPAYMENTS))
PLAN JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (IMNSITOGS RECALCS LTOBJECTRECALCS INDEX (FK_LTOBJREC_DOCID), IMNSITOGS RECALCS LANDTAXOBJECT2S_UV LANDTAXOBJECT2S INDEX (PK_LANDTAXOBJECT2S))), IMNSITOGS RECALCS IMNS INDEX (PK_METAREFTABLE)), IMNSITOGS RECALCS CATEG INDEX (U_TYPESCODE)), IMNSITOGS RECALCS RECPAY_1 INDEX (PK_LTRECALCPAYMENTS)), IMNSITOGS RECALCS RECPAY_3 INDEX (PK_LTRECALCPAYMENTS)), IMNSITOGS RECALCS RECPAY_5 INDEX (PK_LTRECALCPAYMENTS)), IMNSITOGS RECALCS RECPAY_8 INDEX (PK_LTRECALCPAYMENTS)), IMNSITOGS RECALCS RECPAY_9 INDEX (PK_LTRECALCPAYMENTS))
PLAN JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (IMNSITOGS RECALCS LTOBJECTRECALCS INDEX (FK_LTOBJREC_DOCID), IMNSITOGS RECALCS LANDTAXOBJECT2S_UV LANDTAXOBJECT2S INDEX (PK_LANDTAXOBJECT2S))), IMNSITOGS RECALCS IMNS INDEX (PK_METAREFTABLE)), IMNSITOGS RECALCS CATEG INDEX (U_TYPESCODE)), IMNSITOGS RECALCS RECPAY_1 INDEX (PK_LTRECALCPAYMENTS)), IMNSITOGS RECALCS RECPAY_3 INDEX (PK_LTRECALCPAYMENTS)), IMNSITOGS RECALCS RECPAY_5 INDEX (PK_LTRECALCPAYMENTS)), IMNSITOGS RECALCS RECPAY_8 INDEX (PK_LTRECALCPAYMENTS)), IMNSITOGS RECALCS RECPAY_9 INDEX (PK_LTRECALCPAYMENTS))
PLAN JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (IMNSITOGS RECALCS LTOBJECTRECALCS INDEX (FK_LTOBJREC_DOCID), IMNSITOGS RECALCS LANDTAXOBJECT2S_UV LANDTAXOBJECT2S INDEX (PK_LANDTAXOBJECT2S))), IMNSITOGS RECALCS IMNS INDEX (PK_METAREFTABLE)), IMNSITOGS RECALCS CATEG INDEX (U_TYPESCODE)), IMNSITOGS RECALCS RECPAY_1 INDEX (PK_LTRECALCPAYMENTS)), IMNSITOGS RECALCS RECPAY_3 INDEX (PK_LTRECALCPAYMENTS)), IMNSITOGS RECALCS RECPAY_5 INDEX (PK_LTRECALCPAYMENTS)), IMNSITOGS RECALCS RECPAY_8 INDEX (PK_LTRECALCPAYMENTS)), IMNSITOGS RECALCS RECPAY_9 INDEX (PK_LTRECALCPAYMENTS))
PLAN JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (IMNSITOGS RECALCS LTOBJECTRECALCS INDEX (FK_LTOBJREC_DOCID), IMNSITOGS RECALCS LANDTAXOBJECT2S_UV LANDTAXOBJECT2S INDEX (PK_LANDTAXOBJECT2S))), IMNSITOGS RECALCS IMNS INDEX (PK_METAREFTABLE)), IMNSITOGS RECALCS CATEG INDEX (U_TYPESCODE)), IMNSITOGS RECALCS RECPAY_1 INDEX (PK_LTRECALCPAYMENTS)), IMNSITOGS RECALCS RECPAY_3 INDEX (PK_LTRECALCPAYMENTS)), IMNSITOGS RECALCS RECPAY_5 INDEX (PK_LTRECALCPAYMENTS)), IMNSITOGS RECALCS RECPAY_8 INDEX (PK_LTRECALCPAYMENTS)), IMNSITOGS RECALCS RECPAY_9 INDEX (PK_LTRECALCPAYMENTS))
PLAN JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (RECALCS LTOBJECTRECALCS INDEX (FK_LTOBJREC_DOCID), RECALCS LANDTAXOBJECT2S_UV LANDTAXOBJECT2S INDEX (PK_LANDTAXOBJECT2S))), RECALCS IMNS INDEX (PK_METAREFTABLE)), RECALCS CATEG INDEX (U_TYPESCODE)), RECALCS RECPAY_1 INDEX (PK_LTRECALCPAYMENTS)), RECALCS RECPAY_3 INDEX (PK_LTRECALCPAYMENTS)), RECALCS RECPAY_5 INDEX (PK_LTRECALCPAYMENTS)), RECALCS RECPAY_8 INDEX (PK_LTRECALCPAYMENTS)), RECALCS RECPAY_9 INDEX (PK_LTRECALCPAYMENTS))




Если бы у меня была возможность впихнуть между сервером и клиентом расчетный алгоритм на F#, это все сократилось бы раз в 10. А если была возможность выдавать генератору печатных отчетов не реляционные таблицы - то кроме этого и еще раза в два уменьшилось бы.

Date: 2010-11-14 07:15 pm (UTC)
From: [identity profile] anatoly borodin (from livejournal.com)
> А если была возможность выдавать генератору печатных отчетов не реляционные таблицы

xml+xslt?

Date: 2010-11-14 07:23 pm (UTC)
From: [identity profile] metaclass.livejournal.com
И что дальше?
Переписывать весь рендеринг на принтер вручную, встраивать браузер в дополнение к уже существующему генератору отчетов, писать на xslt тяжеловесное суммирование с промежуточными итогами?
Если на такое будет время, я скорее генератор отчетов на F# переделаю.

Date: 2010-11-14 10:44 pm (UTC)
From: [identity profile] anatoly borodin (from livejournal.com)
Зачем рендеринг, есть же fop-ы всякие, они pdf генерят.

Но те, кто на этом будут писать, убьются нафек с горя. Про подобные движки на джейсоне я пока не слыхал. А Вы как бы хотели структуры данных с шаблонами скрещивать?

Date: 2010-11-15 05:54 am (UTC)
From: [identity profile] metaclass.livejournal.com
В общем, шаблоны тут нужны рисуемые вручную с миллиметровой точностью - всякие бланки строгой отчетности постоянно попадаются.
Но проблема в том, что структура отчетов требует еще и скриптов внутри генератора отчетов и модификацию всяких форматов вывода (типа того что в одном поле может быть фаза луны/ставка налога/сумма десятины церкви Паука, в зависимости от значения другого поля).

Так я подумываю, что по хорошему надо из нарисованных шаблонов генерировать типизированный код, скрещивать его с написанными или стандартными источниками данных(тоже типизированными) это все компилировать (ну даже если интерпретировать - чтобы типы проверялись) и затем запускать чтобы оно генерировало какое-то промежуточное векторное представление (текст,линии,итд). А его уже показывать на экране, печатать, итд итп.
А то бывает - то поле забудешь, то формат не тот, то источник данных "не оттуда" то генератор отчетов тупо кривой и сохранил шаблон бинарный с ошибкой и все валится с исключениями.

Date: 2010-11-15 09:20 am (UTC)
From: [identity profile] anatoly borodin (from livejournal.com)
В отчётах хорошо, что все линии или горизонтальные, или вертикальные. Диагональные встречаются очень редко, а всякие округлости — к логотипам, картинками.

Я когда-то пытался писать генерацию печатных форм по координатам в базе. Ойвэй. Или визуальности никакой, или привязки плавают, или автокад получается.

Date: 2010-11-14 09:37 pm (UTC)
From: [identity profile] theiced.livejournal.com
вы идиот. тупейшее идиотическое говно даже.

очень жаль в жожо нет игноров. или таки есть?

Date: 2010-11-14 10:42 pm (UTC)
From: [identity profile] anatoly borodin (from livejournal.com)
ТХ!

Date: 2010-11-14 07:27 pm (UTC)
From: (Anonymous)
Сначала неправильно прочитал :)
LNDTX2_FUNCKIND

Date: 2010-11-14 07:28 pm (UTC)
From: [identity profile] fas-tm.livejournal.com
Забыл залогиниться,sorry :)

Date: 2010-11-14 08:50 pm (UTC)
From: [identity profile] anatoly borodin (from livejournal.com)
LINUX2_FUNCKIND

Date: 2010-11-14 08:10 pm (UTC)
From: [identity profile] zelanton.livejournal.com
Приветствую роботов и напоминаю собравшимся, что это вечер воскресенья!

Date: 2010-11-14 08:19 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Ну, норма.
Потом буду месяц приходить в себя, вместо работы.

Date: 2010-11-14 08:30 pm (UTC)
From: [identity profile] norian.livejournal.com
жжесть (тм)

то есть если написать двигло, которое работает без сиквела, с плюсовыми списками, благодарные потомки поставят памятнег ?

Date: 2010-11-14 09:20 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Да любую функциональщину типа окамла-хаскеля-F# интегрировать с базами данных - уже становится заметно проще.
Для некоторых вещей, правда, без метапрограммирования фиг обойдешься - типа как в этом запросе left join для сумм по кварталам сделан - если ВНЕЗАПНО появится еще один период уплаты, то сумм по нему в этом запросе без перегенерации не появится.

Date: 2010-11-14 09:26 pm (UTC)
From: [identity profile] vaddimka.livejournal.com
"payed"
как-то Шекспиром повеяло

Date: 2010-11-14 10:46 pm (UTC)
From: [identity profile] anatoly borodin (from livejournal.com)
"payeth"

Date: 2010-11-14 10:46 pm (UTC)
From: [identity profile] anatoly borodin (from livejournal.com)
Зато хоть на английском, а не мешанине с русским, как оно обычно в таких базах бывает.

Date: 2010-11-15 01:05 am (UTC)
From: [identity profile] volodymir-k.livejournal.com
imnsitogs
LNDTX2_OBLAST, LNDTX2_RAION, LNDTX2_GOROD
LTOBJREC_TERMKOEF, LTOBJREC_KOEFLOCAL

в общем практически нету

Date: 2010-11-15 09:13 am (UTC)
From: [identity profile] anatoly borodin (from livejournal.com)
OH NOES!

Date: 2010-11-15 05:48 am (UTC)
From: [identity profile] metaclass.livejournal.com
Русский там есть. Меня на некоторых словах, относящихся к местным реалиям, переклинивает и я начинаю писать имена транслитом. В коде так вообще комменты вперемежку русский и английский, никак не могу единый стиль соблюсти.

Date: 2010-11-15 09:13 am (UTC)
From: [identity profile] anatoly borodin (from livejournal.com)
Ну тогда и белорусским разбавляйте, чего уж.

Date: 2010-11-15 05:47 am (UTC)
From: [identity profile] metaclass.livejournal.com
А, правильно же "paid".
Ну, главное чтобы Шекспиром а не "Заводным апельсином" :)

Что-то не проникся

Date: 2010-11-15 07:16 am (UTC)
From: [identity profile] plumqqz.livejournal.com
И чё?
(deleted comment)

Date: 2010-11-16 04:24 pm (UTC)
From: [identity profile] anatoly borodin (from livejournal.com)
Боты, конечно, вкрай охуели, но каммент просто за душу берет :)

Date: 2010-11-16 10:49 am (UTC)
From: [identity profile] taliyahco.livejournal.com
Блин классика жанра, посмеялся от души…

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 15th, 2025 08:07 am
Powered by Dreamwidth Studios