Контрактники...
И все же Я нашел невязку по суммам...
В Р20 все калькулируется исходя из данных заказа.
А потом у очередного Патрика есть возможность руками поменять рассчитанную сумму на любую другую...
Невязка - несколько заказов были просто обнулены...
А вот чего дальше делать... хммм... не знаю... вот тут уже без буха не обойдется...
Не-а...
Зачем - не тот вопрос на который нужен ответ... тем более ответ Я знаю... когда прошлый раз разбирался с калькуляцией мне это пояснили - Патрик может сделать подарок клиенту... ну был большой/прибыльный заказ от клиента - почему бы не подарить мелочевку - 13.78 - в качестве поощрения агента...
Вопрос - Где в недрах базы сейчас скрывается информация об том, что цифирьку стоимости поменяли вручную... Не помню... года три прошло... просто не помню где копат'...
Что то мне подсказывает что нигде.
-----
В понедельник буду искать.
Посмотрю что есть в таблицах, посмотрю что есть в коде... в т.ч. в других эРах... ну напишу в суппорт вопросик...
Потом буду думать как посчитать правильно...
В общем - работы дохрена, книжку почитать некогда...
А мы перевели...
SELECT
ak.KOPF_FIRMA "site",
CASE ak.KUNR WHEN 0 THEN SUBSTR(aa.NAME,1,20) ELSE SUBSTR(ka.KU_NAME,1,20) END
"customerName",
CASE ak.AUF_OFF WHEN 0 THEN 'IN' ELSE 'CN' END "doc",
COALESCE(zk.ZK_RE_NR,-1) "documentNo",
COALESCE(zk.ZK_RE_BETRAG,0) "docValue",
COALESCE(zk.ZK_STEUER,0) "docVAT",
ROUND(ak.AUF_ENERGY_WGHT,3) "engy rate",
SUM(at.RG_ANZ) "qty",
ROUND(SUM(ak.AUF_ENERGY_WGHT*AP_WGHT_ENSRCH*at.RG_ANZ),2)
"engy",
ROUND(SUM(ap.SUM_NETTO*at.RG_ANZ),2) "net",
ak.KOPF_WA_MULTI "exch rate",
ak.KOPF_WA_CODE "curr",
ROUND(SUM(ak.AUF_ENERGY_WGHT*AP_WGHT_ENSRCH*at.RG_ANZ/ak.KOPF_WA_MULTI),2)
"localCurrencyEngy",
ROUND(SUM(ap.SUM_NETTO*at.RG_ANZ/ak.KOPF_WA_MULTI),2)
"localCurrencyNet"
FROM AUF_KOPF ak, AUF_POS ap, AUF_STAT at, ZAHL_KON zk, KUST_ADR ka, AUF_ADR aa
WHERE
FROM AUF_KOPF ak
INNER JOIN AUF_POS ap ON
ak.AUF_NR = ap.AUF_NR
AND ak.AUF_OFF IN (0,5)
INNER JOIN AUF_STAT at ON
AND ak.AUF_NR = at.AUF_NR
AND ap.AUF_POS = at.AUF_POS
AND ap.VARIANTE = at.VARIANTE
AND TO_CHAR(at.RG_NR) = REPLACE(TRANSLATE(zk.ZK_RE_NR,
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/*-+=!£$€%^&*()_?\|.,:;@{}[]#~ "',
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'),'X',NULL)
AND at.RG_NR > 0
AND at.RG_DAT BETWEEN <#= StartDate #> AND
<#= FinishDate #>
INNER JOIN ZAHL_KON zk ON
zk.ZK_HISTORY = 0
AND CASE ak.KUNR WHEN 0 THEN ak.KUNR_PSEUDO ELSE ak.KUNR END = zk.ZK_KU_LIEF_NR
LEFT JOIN KUST_ADR ka ON
AND ak.KUNR = ka.KU_NR
AND 0 = ka.KU_ADR_ART
AND 0 = ka.KU_VK_EK
AND ak.AUF_NR = aa.AUF_NR
AND 0 = ADR_ART
GROUP BY ak.KOPF_FIRMA,
CASE ak.KUNR WHEN 0 THEN SUBSTR(aa.NAME,1,20) ELSE SUBSTR(ka.KU_NAME,1,20) END,
CASE ak.AUF_OFF WHEN 0 THEN 'IN' ELSE 'CN' END,
COALESCE(zk.ZK_RE_NR,-1),
COALESCE(zk.ZK_RE_BETRAG,0),
COALESCE(zk.ZK_STEUER,0),
ak.AUF_ENERGY_WGHT,
ak.KOPF_WA_MULTI,
ak.KOPF_WA_CODE
И самое смешное - именно для этой выборки имеется написанный тест...
Твою и в душу, и в бога, и в мать... через колено на лепесточки... и чтоб повылазило...
В понедельник было сказано - все, закрыли...
Вчера вечером перегружался и забыл запустить ОутГлюк...
Сегодня вечером шеф спрашивает - а ты почту смотрел? - говорю - Нет, некогда, я и без нее уже не живой...
В почте лежит письмо - Где у тебя такой-то контрол?
А Я помню? У меня контролы, помимо общих, лежат в по-страничных дллках... а какая страница - не указано. Общие - либо в библиотеке, либо в папке ЮзерКонтрол...
Отписался.
Добавил пару вопросов
- Вот недельку назад рекомендовал откатится на корректную версию склного исполнителя... Сделали? Ну если нет, то вот архивчик - все должно идти через эту дллку...
- Я посмотрел библиотеку, нужную для Р04. Для нее нужные еще две. Вот самую последнюю сейчас тестирую и тест не проходит. Ну а раз не проходит - ничего работать не будет. Проблема - в скле использована чисто оракловская фича и аналога в постгрее нет - соответственно - сбой и никаких данных. Библиотека - общая, код должен использоваться в нескольких местах - во всех не будет работать. Вы тесты выполняете?
Ну да ладно - завтра надо придумать замену оракловскому rownum...
В тяпницу вечером меня слегка достали - не работаете, говорит шеф, ты с этими ребятами, на конечный результат...
В общем домой пришел слегка сильно расстроенных чувствах...
Это - сильно слегка - на раз просекли кошки - ни одной под руками не оказалось...
Мало того что под руками не оказалось - так они еще и моментально исчезали из любой комнаты... если Я туда заходил на минутку...
Ну да ладно - сил было ровно на сожрать ужин и завалится баиньки...
В субботу у нас был проливной холодный дождик... ну бывает такой - идет долго и весь до костей пробирает.
Две кошки сидели дома... а старшая - Жмурзика - где-то моталась...
Потом старшая пришла и устроила крик...
Мияу!!! Мииияяюууу!!!! Ми-мияяяуууу... вышел посмотреть чего случилось...
В общем кошка - мокрая до костей... т.е. - совсем, как если бы плавала...
А орала - чтобы Я не был - слегка сильно - бо, она кошка правильная и притащила большого мыхА...
Об чем и сообщала во все свое кошачье горло...
Потом завалилась спать ко мне в койку... до утра... не просыпаясь...
Ну а сегодня другая кошка - Фефешка - повторила вчерашний Жмурзиковый концерт - тоже притащила мыхА и тоже орала - Я хорошая кошка, я мыхОв ловлю, не надо рядом "слегка сильно"...
И опять убежала...
Третья кошка у меня тормознутая... т.е. мыхА принесет чутка позжее...
Мне так кажется, что если меня еще по-доставать по поводу чего там контракторы не сделали - мыхОв в городе не останется...
У ребятишек наметился некоторый прогресс:
Lastly, the underlying logic of the system works off Data table manipulation. This is to say, a query returns a Data table, which then is used to iterate to make more queries to alter, add, data withint the original Data table.
Кто не понимает - 5 лет Я мудохался со "спагетти", приводя его в более-менее объектную форму.
Упоминаемые проблемы - уже давно преодолел и забыл как страшный сон.
НО! У ребятишек хватило ума взять за основу для миграции не переработанный код, а код декомпилированного ехешника с рабочей станции...
Слов - нет... хотят - пусть делают... там спагетти много... и уже отловленных и исправленных ошибок - тоже...
Из-за контрактников?
-----
Да. Сократили позицию прогера в связи с переходом на оутсоурсе.
Абидно, осталось то всего немного.
-----
Ты об чем? Все - ИДЕАЛЬНО!!!
Даже если не поставят на биржу как безработного... хотя как это сделать при сокращении Я не представляю...
мне нужно будет внести 4 таксовых платежа в ручную чтобы закрыть 10-ку...
при постановке - тоже закроют, но без взносов с моей стороны...
и все.
Об этом Я уже года полтора как не беспокоюсь.
Будут значит брать очередных контрактников.
------
Это не была моя проблема и уже не будет.
Могу только сказать, что база на 1400 таблиц, без стоящей документации, и 2 Гб спагетти что-то с нею делающее контрактниками за пару месяцев не разгребается. Даже если это команда гениев и работают на результат. Никак.
За пару лет в 5-7 рыл - да, можно наработать документацию и частично разгрести спагетти.
Вот только задачу - документировать и разгрести спагетти - никто не ставит...
Хи-хи...
У меня на сегодня проблема - отойти от состояния "в работе"...
Пару раз уже ловил себя на размышлениях "как это сделать"...