А вот кому ада и израиля?
Nov. 14th, 2010 06:23 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Частично сгенерено, частично написано руками:
План запроса:
Если бы у меня была возможность впихнуть между сервером и клиентом расчетный алгоритм на F#, это все сократилось бы раз в 10. А если была возможность выдавать генератору печатных отчетов не реляционные таблицы - то кроме этого и еще раза в два уменьшилось бы.
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. А если была возможность выдавать генератору печатных отчетов не реляционные таблицы - то кроме этого и еще раза в два уменьшилось бы.
no subject
Date: 2010-11-14 07:15 pm (UTC)xml+xslt?
no subject
Date: 2010-11-14 07:23 pm (UTC)Переписывать весь рендеринг на принтер вручную, встраивать браузер в дополнение к уже существующему генератору отчетов, писать на xslt тяжеловесное суммирование с промежуточными итогами?
Если на такое будет время, я скорее генератор отчетов на F# переделаю.
no subject
Date: 2010-11-14 10:44 pm (UTC)Но те, кто на этом будут писать, убьются нафек с горя. Про подобные движки на джейсоне я пока не слыхал. А Вы как бы хотели структуры данных с шаблонами скрещивать?
no subject
Date: 2010-11-15 05:54 am (UTC)Но проблема в том, что структура отчетов требует еще и скриптов внутри генератора отчетов и модификацию всяких форматов вывода (типа того что в одном поле может быть фаза луны/ставка налога/сумма десятины церкви Паука, в зависимости от значения другого поля).
Так я подумываю, что по хорошему надо из нарисованных шаблонов генерировать типизированный код, скрещивать его с написанными или стандартными источниками данных(тоже типизированными) это все компилировать (ну даже если интерпретировать - чтобы типы проверялись) и затем запускать чтобы оно генерировало какое-то промежуточное векторное представление (текст,линии,итд). А его уже показывать на экране, печатать, итд итп.
А то бывает - то поле забудешь, то формат не тот, то источник данных "не оттуда" то генератор отчетов тупо кривой и сохранил шаблон бинарный с ошибкой и все валится с исключениями.
no subject
Date: 2010-11-15 09:20 am (UTC)Я когда-то пытался писать генерацию печатных форм по координатам в базе. Ойвэй. Или визуальности никакой, или привязки плавают, или автокад получается.
no subject
Date: 2010-11-14 09:37 pm (UTC)очень жаль в жожо нет игноров. или таки есть?
no subject
Date: 2010-11-14 10:42 pm (UTC)no subject
Date: 2010-11-14 07:27 pm (UTC)LNDTX2_FUNCKIND
no subject
Date: 2010-11-14 07:28 pm (UTC)no subject
Date: 2010-11-14 08:50 pm (UTC)no subject
Date: 2010-11-14 08:10 pm (UTC)no subject
Date: 2010-11-14 08:19 pm (UTC)Потом буду месяц приходить в себя, вместо работы.
no subject
Date: 2010-11-14 08:30 pm (UTC)то есть если написать двигло, которое работает без сиквела, с плюсовыми списками, благодарные потомки поставят памятнег ?
no subject
Date: 2010-11-14 09:20 pm (UTC)Для некоторых вещей, правда, без метапрограммирования фиг обойдешься - типа как в этом запросе left join для сумм по кварталам сделан - если ВНЕЗАПНО появится еще один период уплаты, то сумм по нему в этом запросе без перегенерации не появится.
no subject
Date: 2010-11-14 09:26 pm (UTC)как-то Шекспиром повеяло
no subject
Date: 2010-11-14 10:46 pm (UTC)no subject
Date: 2010-11-14 10:46 pm (UTC)no subject
Date: 2010-11-15 01:05 am (UTC)LNDTX2_OBLAST, LNDTX2_RAION, LNDTX2_GOROD
LTOBJREC_TERMKOEF, LTOBJREC_KOEFLOCAL
в общем практически нету
no subject
Date: 2010-11-15 09:13 am (UTC)no subject
Date: 2010-11-15 05:48 am (UTC)no subject
Date: 2010-11-15 09:13 am (UTC)no subject
Date: 2010-11-15 05:47 am (UTC)Ну, главное чтобы Шекспиром а не "Заводным апельсином" :)
Что-то не проникся
Date: 2010-11-15 07:16 am (UTC)no subject
Date: 2010-11-16 04:24 pm (UTC)no subject
Date: 2010-11-16 10:49 am (UTC)