inner join (select PRODH0, PRODH1, PRODH1_NAME, PRODH3_NAME, MATNR_APO from prod.v_prod_mara) as m on m.matnr_apo = dim.MATNR_A
inner join DEMAND.PRC_FORECAST as fc on fc.YCFO = dim.YCFO and fc.YMATNR = dim.MATNR and fc.period_id = 'D5'
and fc.ydat_ship = to_char(current_date,'YYYYMMDD') and fc.PARAM_ACC_DON = '2'
and fc.YLOCNO not in('3601011031','1404011101','1404011001','9101011125') and length(fc.YACC_KEY) < 60
inner join (select zzcfo, vkorg from PROD.V_ERP_TVKO union select '0801' as zzcfo, '1008' as vkorg from dummy union select '0801' as zzcfo, '1067' as vkorg from dummy union select '0801' as zzcfo, '1064' as vkorg from dummy) as v on v.ZZCFO = dim.YCFO
left join (select distinct case when VKORG = '1008' then '1001' else VKORG end as VKORG, PRODH, ZZTYPE
from PROD.V_ERP_ZSD314_STORAGE
where zzkat = '03' and SHELF = ' ' and MEINS = 'TO' and VALID_FROM <= current_date and VALID_TO >= current_date and ZZDELETE <> 'X') as zs
on zs.VKORG = v.VKORG and zs.PRODH = dim.YHIER1
left join (select CFO, HIER3, max(case when rn = 1 then KUNNR else '' end) as KUNNR_TOP,
sum(case when rn = 1 then PRICE_CUR + 0 else 0 end) as PRICE_TOP, round(avg(PRICE_CUR),0) as PRICE_AVG
from (select kp.CFO, kp.HIER3, kp.KUNNR, ka.PART, kp.PRICE_CUR,
row_number() over (partition by kp.CFO, kp.HIER3 order by kp.PRICE_CUR) as rn
from DEMAND.KUNNR_ADJ as ka
inner join (select distinct PRODH1, PRODH3 from prod.v_prod_mara) as m on m.PRODH1 = ka.YHIER1
inner join DEMAND.KUNNR_PRICES as kp on kp.CFO = ka.YCFO and kp.KUNNR = ka.YKUNNR and kp.HIER3 = m.PRODH3
inner join (select distinct YKUNNR from (select '0000518371' as YKUNNR from dummy)) as ks on ks.YKUNNR = ka.YKUNNR where ka.PART > 0 and kp.PRICE_CUR > 0)
group by CFO, HIER3) as p on p.CFO = dim.YCFO and p.HIER3 = dim.YHIER3
left join DEMAND.PRC_BC_USER_DLT as ud on ud.YCFO = dim.YCFO and ud.MATNR_A = dim.MATNR and ud.NAME = 'DPK' and ud.DELETED = ''
left join DEMAND.PRC_BC_OPT_DELTA as od on od.YCFO = dim.YCFO and od.YMATNR = dim.MATNR
where dim.MATNR = dim.MATNR_A and dim.OLD_MATNR not in (select distinct MATNR from SAP_HRF."HRF_Rules::MATNR_EXCEPTION.SER_MATNR_EXCEPTION.VIEW") and ifnull(fc.BC_INIT_CUR,0) > 0 and (ifnull(fc.BC_INIT_CUR,0) + ifnull(ud.DELTA_VOL,ifnull(od.DPK,0))) != 0 and m.PRODH1 in ('10010') and fc.YCFO in ('1501')
order by v.VKORG, dim.YHIER1, dim.YMATNR_I, dim.YHIER3, dim.MATNR;
Это все личные переживания разработчиков. Представьте допустим некий бизнес с оборотом несколько сот миллиардов даже пусть рублей в год. У него есть запрос на решение задачи типа пополнения номенклатуры складских наименований, допустим 10к видов на несколько сот филиалов по стране, с учетом плана, сроков, маржинальности и тд и тп. Так вот сам бизнес вообще не е@et как вы ее будете решать с помощь вайб, ультра или мега кодинга, ему важен очевидно результат. То есть простыми словами вы должны предоставить решение задачи и нести за это решение ответственность перед заказчиком.
Если нет понимания что хотите создать, то какова мотивация этой идеи? Если деньги, то есть вполне успешные кейсы, чисто для меня они по тематике настолько далеки и непонятны, что я даже не понимаю как в это играют и главное зачем. Я конечно же не привожу в пример ААА игры, это другая реальность в другом измерении.
Не существует реального кейса. Все эти псевдо кейсы рассчитаны на то, что текущая финансово-экономическая парадигма не изменится в течении 30-50 лет, мы то знаем как будет на самом деле )))
Так дело в том что это вообще никакой не уход, цивилизация она вокруг всегда, в шаговой доступности. Это скорей такое самолечение, психологический прием, как в детстве закрыл глаза ладошками и все меня нет я в домике.
Хорошо написано про контур ответственности, для этого я полагаю надо понимать что сгенерировал агент, то есть условно ты можешь написать примерно то же, но времени займет больше. Значит ты экономишь человеко-часы, соответственно джуны не нужны в данный момент, но задачи со временем становятся более сложными и даже с инструментами ты не можешь реализовывать их все одновременно, соответственно нужны новые специалисты, но уже образовалась пропасть. Такое было недавно лет 5 назад, бум на востребованность программистов. Снизился порог входа. Все циклично.
так себе решение, я думал в статье будет современный унитаз для автодомов. Если все это дело уходит в пакет, то лучше подумать про химию, которое все добро в пакете сразу ферментирует.
Размышляя над тем, что промпт это следующий уровень абстракции, понял одну вещь, промпты в отличии от инструкций высокоуровневых языков еще не заслужили доверия, то есть прописывая инструкцию кода вы ожидаете вполне конкретный результат и уверенны в этом на 99.99, с промптом то же самое, но уверенности такой нет. Если нет веры и уверенности, то вам будет сложно взять на себя ответственность за сгенерированный код.
Маленькие студии и соло разраб это немного разные вещи. Но этот чел как я помню смог стать успешным на, прости господи, платформе Яндекс игры, теперь ставит планку выше.
Вот с такими разбирается например?
do begin
polkiTab =
select VKORG, PRODH, ZZTYPE, SHELF,
SHELF_FROM_01, SHELF_TO_01, DISCOUNT_01, DELT_02, SHELF_FROM_02, SHELF_TO_02, DISCOUNT_02, DELT_03, SHELF_FROM_03, SHELF_TO_03, DISCOUNT_03, DELT_04,
SHELF_FROM_04, SHELF_TO_04, DISCOUNT_04, DELT_05, SHELF_FROM_05, SHELF_TO_05, DISCOUNT_05, DELT_06, SHELF_FROM_06, SHELF_TO_06, DISCOUNT_06, DELT_07,
SHELF_FROM_07, SHELF_TO_07, DISCOUNT_07, DELT_08, SHELF_FROM_08, SHELF_TO_08, DISCOUNT_08, DELT_09, SHELF_FROM_09, SHELF_TO_09, DISCOUNT_09, DELT_10,
SHELF_FROM_10, SHELF_TO_10, DISCOUNT_10 from
(select VKORG, PRODH, ZZTYPE, SHELF,
SHELF_FROM_01, SHELF_TO_01, DISCOUNT_01, case when ifnull(DISCOUNT_02,0) != 0 then DISCOUNT_02 - DISCOUNT_01 else 0 end as DELT_02,
SHELF_FROM_02, SHELF_TO_02, DISCOUNT_02, case when ifnull(DISCOUNT_03,0) != 0 then DISCOUNT_03 - DISCOUNT_01 else 0 end as DELT_03,
SHELF_FROM_03, SHELF_TO_03, DISCOUNT_03, case when ifnull(DISCOUNT_04,0) != 0 then DISCOUNT_04 - DISCOUNT_01 else 0 end as DELT_04,
SHELF_FROM_04, SHELF_TO_04, DISCOUNT_04, case when ifnull(DISCOUNT_05,0) != 0 then DISCOUNT_05 - DISCOUNT_01 else 0 end as DELT_05,
SHELF_FROM_05, SHELF_TO_05, DISCOUNT_05, case when ifnull(DISCOUNT_06,0) != 0 then DISCOUNT_06 - DISCOUNT_01 else 0 end as DELT_06,
SHELF_FROM_06, SHELF_TO_06, DISCOUNT_06, case when ifnull(DISCOUNT_07,0) != 0 then DISCOUNT_07 - DISCOUNT_01 else 0 end as DELT_07,
SHELF_FROM_07, SHELF_TO_07, DISCOUNT_07, case when ifnull(DISCOUNT_08,0) != 0 then DISCOUNT_08 - DISCOUNT_01 else 0 end as DELT_08,
SHELF_FROM_08, SHELF_TO_08, DISCOUNT_08, case when ifnull(DISCOUNT_09,0) != 0 then DISCOUNT_09 - DISCOUNT_01 else 0 end as DELT_09,
SHELF_FROM_09, SHELF_TO_09, DISCOUNT_09, case when ifnull(DISCOUNT_10,0) != 0 then DISCOUNT_10 - DISCOUNT_01 else 0 end as DELT_10,
SHELF_FROM_10, SHELF_TO_10, DISCOUNT_10
from (select VKORG, PRODH, ZZTYPE, SHELF,
max(case when rn = 1 and ZZKAT = '03' then ZZSHELF_TO else null end) as SHELF_FROM_01,
9999999 as SHELF_TO_01,
0 as DISCOUNT_01,
max(case when rn = 1 and ZZKAT = '03' then ZZSHELF_FROM else null end) as SHELF_FROM_02,
max(case when rn = 1 and ZZKAT = '03' then ZZSHELF_TO else null end) as SHELF_TO_02,
max(case when rn = 1 and ZZKAT = '03' then ZZDISCOUNT else null end) as DISCOUNT_02,
max(case when rn = 2 and ZZKAT = '03' then ZZSHELF_FROM else null end) as SHELF_FROM_03,
max(case when rn = 2 and ZZKAT = '03' then ZZSHELF_TO else null end) as SHELF_TO_03,
max(case when rn = 2 and ZZKAT = '03' then ZZDISCOUNT else null end) as DISCOUNT_03,
max(case when rn = 3 and ZZKAT = '03' then ZZSHELF_FROM else null end) as SHELF_FROM_04,
max(case when rn = 3 and ZZKAT = '03' then ZZSHELF_TO else null end) as SHELF_TO_04,
max(case when rn = 3 and ZZKAT = '03' then ZZDISCOUNT else null end) as DISCOUNT_04,
max(case when rn = 4 and ZZKAT = '03' then ZZSHELF_FROM else null end) as SHELF_FROM_05,
max(case when rn = 4 and ZZKAT = '03' then ZZSHELF_TO else null end) as SHELF_TO_05,
max(case when rn = 4 and ZZKAT = '03' then ZZDISCOUNT else null end) as DISCOUNT_05,
max(case when rn = 5 and ZZKAT = '03' then ZZSHELF_FROM else null end) as SHELF_FROM_06,
max(case when rn = 5 and ZZKAT = '03' then ZZSHELF_TO else null end) as SHELF_TO_06,
max(case when rn = 5 and ZZKAT = '03' then ZZDISCOUNT else null end) as DISCOUNT_06,
max(case when rn = 6 and ZZKAT = '03' then ZZSHELF_FROM else null end) as SHELF_FROM_07,
max(case when rn = 6 and ZZKAT = '03' then ZZSHELF_TO else null end) as SHELF_TO_07,
max(case when rn = 6 and ZZKAT = '03' then ZZDISCOUNT else null end) as DISCOUNT_07,
max(case when rn = 7 and ZZKAT = '03' then ZZSHELF_FROM else null end) as SHELF_FROM_08,
max(case when rn = 7 and ZZKAT = '03' then ZZSHELF_TO else null end) as SHELF_TO_08,
max(case when rn = 7 and ZZKAT = '03' then ZZDISCOUNT else null end) as DISCOUNT_08,
max(case when rn = 8 and ZZKAT = '03' then ZZSHELF_FROM else null end) as SHELF_FROM_09,
max(case when rn = 8 and ZZKAT = '03' then ZZSHELF_TO else null end) as SHELF_TO_09,
max(case when rn = 8 and ZZKAT = '03' then ZZDISCOUNT else null end) as DISCOUNT_09,
max(case when rn = 9 and ZZKAT = '03' then ZZSHELF_FROM else null end) as SHELF_FROM_10,
max(case when rn = 9 and ZZKAT = '03' then ZZSHELF_TO else null end) as SHELF_TO_10,
max(case when rn = 9 and ZZKAT = '03' then ZZDISCOUNT else null end) as DISCOUNT_10
from (select *, row_number() over (partition by VKORG, PRODH, ZZKAT order by SHELF desc, ZZSHELF_TO desc ) as rn
from (select VKORG, PRODH, SHELF, ZZSHELF_FROM, ZZSHELF_TO, ZZKAT, ZZTYPE, ZZDISCOUNT
from PROD.V_ERP_ZSD314_STORAGE
where ZZKAT = '03' and SHELF in (' ','10') and MEINS = 'TO' and VALID_FROM <= current_date and VALID_TO >= current_date and ZZDELETE <> 'X'))
group by VKORG, PRODH, ZZTYPE, SHELF)
where SHELF_TO_02 < 9999999
union
select VKORG, PRODH, ZZTYPE, SHELF,
SHELF_FROM_01, SHELF_TO_01, DISCOUNT_01, case when ifnull(DISCOUNT_02,0) != 0 then DISCOUNT_02 - DISCOUNT_01 else 0 end as DELT_02,
SHELF_FROM_02, SHELF_TO_02, DISCOUNT_02, case when ifnull(DISCOUNT_03,0) != 0 then DISCOUNT_03 - DISCOUNT_01 else 0 end as DELT_03,
SHELF_FROM_03, SHELF_TO_03, DISCOUNT_03, case when ifnull(DISCOUNT_04,0) != 0 then DISCOUNT_04 - DISCOUNT_01 else 0 end as DELT_04,
SHELF_FROM_04, SHELF_TO_04, DISCOUNT_04, case when ifnull(DISCOUNT_05,0) != 0 then DISCOUNT_05 - DISCOUNT_01 else 0 end as DELT_05,
SHELF_FROM_05, SHELF_TO_05, DISCOUNT_05, case when ifnull(DISCOUNT_06,0) != 0 then DISCOUNT_06 - DISCOUNT_01 else 0 end as DELT_06,
SHELF_FROM_06, SHELF_TO_06, DISCOUNT_06, case when ifnull(DISCOUNT_07,0) != 0 then DISCOUNT_07 - DISCOUNT_01 else 0 end as DELT_07,
SHELF_FROM_07, SHELF_TO_07, DISCOUNT_07, case when ifnull(DISCOUNT_08,0) != 0 then DISCOUNT_08 - DISCOUNT_01 else 0 end as DELT_08,
SHELF_FROM_08, SHELF_TO_08, DISCOUNT_08, case when ifnull(DISCOUNT_09,0) != 0 then DISCOUNT_09 - DISCOUNT_01 else 0 end as DELT_09,
SHELF_FROM_09, SHELF_TO_09, DISCOUNT_09, case when ifnull(DISCOUNT_10,0) != 0 then DISCOUNT_10 - DISCOUNT_01 else 0 end as DELT_10,
SHELF_FROM_10, SHELF_TO_10, DISCOUNT_10
from (select VKORG, PRODH, ZZTYPE, SHELF,
max(case when rn = 1 and ZZKAT = '03' then ZZSHELF_FROM else null end) as SHELF_FROM_01,
max(case when rn = 1 and ZZKAT = '03' then ZZSHELF_TO else null end) as SHELF_TO_01,
max(case when rn = 1 and ZZKAT = '03' then ZZDISCOUNT else null end) as DISCOUNT_01,
max(case when rn = 2 and ZZKAT = '03' then ZZSHELF_FROM else null end) as SHELF_FROM_02,
max(case when rn = 2 and ZZKAT = '03' then ZZSHELF_TO else null end) as SHELF_TO_02,
max(case when rn = 2 and ZZKAT = '03' then ZZDISCOUNT else null end) as DISCOUNT_02,
max(case when rn = 3 and ZZKAT = '03' then ZZSHELF_FROM else null end) as SHELF_FROM_03,
max(case when rn = 3 and ZZKAT = '03' then ZZSHELF_TO else null end) as SHELF_TO_03,
max(case when rn = 3 and ZZKAT = '03' then ZZDISCOUNT else null end) as DISCOUNT_03,
max(case when rn = 4 and ZZKAT = '03' then ZZSHELF_FROM else null end) as SHELF_FROM_04,
max(case when rn = 4 and ZZKAT = '03' then ZZSHELF_TO else null end) as SHELF_TO_04,
max(case when rn = 4 and ZZKAT = '03' then ZZDISCOUNT else null end) as DISCOUNT_04,
max(case when rn = 5 and ZZKAT = '03' then ZZSHELF_FROM else null end) as SHELF_FROM_05,
max(case when rn = 5 and ZZKAT = '03' then ZZSHELF_TO else null end) as SHELF_TO_05,
max(case when rn = 5 and ZZKAT = '03' then ZZDISCOUNT else null end) as DISCOUNT_05,
max(case when rn = 6 and ZZKAT = '03' then ZZSHELF_FROM else null end) as SHELF_FROM_06,
max(case when rn = 6 and ZZKAT = '03' then ZZSHELF_TO else null end) as SHELF_TO_06,
max(case when rn = 6 and ZZKAT = '03' then ZZDISCOUNT else null end) as DISCOUNT_06,
max(case when rn = 7 and ZZKAT = '03' then ZZSHELF_FROM else null end) as SHELF_FROM_07,
max(case when rn = 7 and ZZKAT = '03' then ZZSHELF_TO else null end) as SHELF_TO_07,
max(case when rn = 7 and ZZKAT = '03' then ZZDISCOUNT else null end) as DISCOUNT_07,
max(case when rn = 8 and ZZKAT = '03' then ZZSHELF_FROM else null end) as SHELF_FROM_08,
max(case when rn = 8 and ZZKAT = '03' then ZZSHELF_TO else null end) as SHELF_TO_08,
max(case when rn = 8 and ZZKAT = '03' then ZZDISCOUNT else null end) as DISCOUNT_08,
max(case when rn = 9 and ZZKAT = '03' then ZZSHELF_FROM else null end) as SHELF_FROM_09,
max(case when rn = 9 and ZZKAT = '03' then ZZSHELF_TO else null end) as SHELF_TO_09,
max(case when rn = 9 and ZZKAT = '03' then ZZDISCOUNT else null end) as DISCOUNT_09,
max(case when rn = 10 and ZZKAT = '03' then ZZSHELF_FROM else null end) as SHELF_FROM_10,
max(case when rn = 10 and ZZKAT = '03' then ZZSHELF_TO else null end) as SHELF_TO_10,
max(case when rn = 10 and ZZKAT = '03' then ZZDISCOUNT else null end) as DISCOUNT_10
from (select *, row_number() over (partition by VKORG, PRODH, ZZKAT order by SHELF desc, ZZSHELF_TO desc ) as rn
from (select VKORG, PRODH, SHELF, ZZSHELF_FROM, ZZSHELF_TO, ZZKAT, ZZTYPE, ZZDISCOUNT
from PROD.V_ERP_ZSD314_STORAGE
where ZZKAT = '03' and SHELF in (' ','10') and MEINS = 'TO' and VALID_FROM <= current_date and VALID_TO >= current_date and ZZDELETE <> 'X'))
group by VKORG, PRODH, ZZTYPE, SHELF)
where SHELF_TO_01 >= 9999999)
order by VKORG, PRODH, ZZTYPE, SHELF;
calcTab =
select dim.YCFO, v.VKORG, dim.YHIER1, m.PRODH1_NAME, dim.YMATNR_I, dim.YHIER3, m.PRODH3_NAME, dim.MATNR, p.KUNNR_TOP, p.PRICE_TOP, p.PRICE_AVG,
greatest(0,
case when zs.ZZTYPE = '02'
then round(p.PRICE_TOP - (fc.BC_INIT_CUR + ifnull(ud.DELTA_VOL,ifnull(od.DPK,0))),-2)
when zs.ZZTYPE = '01'
then round(p.PRICE_TOP - (fc.BC_INIT_CUR + ifnull(ud.DELTA_VOL,ifnull(od.DPK,0))),-2) / (fc.BC_INIT_CUR + ifnull(ud.DELTA_VOL,ifnull(od.DPK,0)))
else 0 end) as dt,
greatest(0,
case when zs.ZZTYPE = '02'
then round(p.PRICE_AVG - (fc.BC_INIT_CUR + ifnull(ud.DELTA_VOL,ifnull(od.DPK,0))),-2)
when zs.ZZTYPE = '01'
then round(p.PRICE_AVG - (fc.BC_INIT_CUR + ifnull(ud.DELTA_VOL,ifnull(od.DPK,0))),-2) / (fc.BC_INIT_CUR + ifnull(ud.DELTA_VOL,ifnull(od.DPK,0)))
else 0 end) as da,
((fc.BC_INIT_CUR + ifnull(ud.DELTA_VOL,ifnull(od.DPK,0))) * (1 + ifnull(fc.DISCOUNT_PROC_MIN,0)) + ifnull(fc.DISCOUNT_RUB_MIN,0)) as BC_MIN
from DEMAND.DONOR_IND_MAPPING as dim
inner join (select PRODH0, PRODH1, PRODH1_NAME, PRODH3_NAME, MATNR_APO from prod.v_prod_mara) as m on m.matnr_apo = dim.MATNR_A
inner join DEMAND.PRC_FORECAST as fc on fc.YCFO = dim.YCFO and fc.YMATNR = dim.MATNR and fc.period_id = 'D5'
and fc.ydat_ship = to_char(current_date,'YYYYMMDD') and fc.PARAM_ACC_DON = '2'
and fc.YLOCNO not in('3601011031','1404011101','1404011001','9101011125') and length(fc.YACC_KEY) < 60
inner join (select zzcfo, vkorg from PROD.V_ERP_TVKO union select '0801' as zzcfo, '1008' as vkorg from dummy union select '0801' as zzcfo, '1067' as vkorg from dummy union select '0801' as zzcfo, '1064' as vkorg from dummy) as v on v.ZZCFO = dim.YCFO
left join (select distinct case when VKORG = '1008' then '1001' else VKORG end as VKORG, PRODH, ZZTYPE
from PROD.V_ERP_ZSD314_STORAGE
where zzkat = '03' and SHELF = ' ' and MEINS = 'TO' and VALID_FROM <= current_date and VALID_TO >= current_date and ZZDELETE <> 'X') as zs
on zs.VKORG = v.VKORG and zs.PRODH = dim.YHIER1
left join (select CFO, HIER3, max(case when rn = 1 then KUNNR else '' end) as KUNNR_TOP,
sum(case when rn = 1 then PRICE_CUR + 0 else 0 end) as PRICE_TOP, round(avg(PRICE_CUR),0) as PRICE_AVG
from (select kp.CFO, kp.HIER3, kp.KUNNR, ka.PART, kp.PRICE_CUR,
row_number() over (partition by kp.CFO, kp.HIER3 order by kp.PRICE_CUR) as rn
from DEMAND.KUNNR_ADJ as ka
inner join (select distinct PRODH1, PRODH3 from prod.v_prod_mara) as m on m.PRODH1 = ka.YHIER1
inner join DEMAND.KUNNR_PRICES as kp on kp.CFO = ka.YCFO and kp.KUNNR = ka.YKUNNR and kp.HIER3 = m.PRODH3
inner join (select distinct YKUNNR from (select '0000518371' as YKUNNR from dummy)) as ks on ks.YKUNNR = ka.YKUNNR where ka.PART > 0 and kp.PRICE_CUR > 0)
group by CFO, HIER3) as p on p.CFO = dim.YCFO and p.HIER3 = dim.YHIER3
left join DEMAND.PRC_BC_USER_DLT as ud on ud.YCFO = dim.YCFO and ud.MATNR_A = dim.MATNR and ud.NAME = 'DPK' and ud.DELETED = ''
left join DEMAND.PRC_BC_OPT_DELTA as od on od.YCFO = dim.YCFO and od.YMATNR = dim.MATNR
where dim.MATNR = dim.MATNR_A and dim.OLD_MATNR not in (select distinct MATNR from SAP_HRF."HRF_Rules::MATNR_EXCEPTION.SER_MATNR_EXCEPTION.VIEW") and ifnull(fc.BC_INIT_CUR,0) > 0 and (ifnull(fc.BC_INIT_CUR,0) + ifnull(ud.DELTA_VOL,ifnull(od.DPK,0))) != 0 and m.PRODH1 in ('10010') and fc.YCFO in ('1501')
order by v.VKORG, dim.YHIER1, dim.YMATNR_I, dim.YHIER3, dim.MATNR;
calcTab2 =
select c.YCFO, c.VKORG, c.YHIER1, c.PRODH1_NAME, c.YMATNR_I, c.YHIER3, c.PRODH3_NAME, c.MATNR, c.KUNNR_TOP, c.PRICE_TOP, c.PRICE_AVG,
ifnull(c.dt,ifnull(mi.dt,case when mi.h3c = 1 then h.dt else null end)) as DT,
ifnull(c.da,ifnull(mi.da,case when mi.h3c = 1 then h.da else null end)) as DA --, c.DM
from :calcTab as c
left join (select VKORG, YMATNR_I, max(dt) as dt, max(da) as da, count(distinct YHIER3) as h3c
from :calcTab group by VKORG, YMATNR_I) as mi on mi.VKORG = c.VKORG and mi.YMATNR_I = c.YMATNR_I
left join (select VKORG, YHIER1, max(dt) as dt, max(da) as da
from :calcTab group by VKORG, YHIER1) as h on h.VKORG = c.VKORG and h.YHIER1 = c.YHIER1;
select distinct c.*, round(c.DT,2) as VAL,
ifnull(p3.ZZTYPE,p.ZZTYPE) as ZZTYPE,
ifnull(p3.SHELF_FROM_01,p.SHELF_FROM_01) as SHELF_FROM_01,
ifnull(p3.SHELF_TO_01,p.SHELF_TO_01) as SHELF_TO_01,
ifnull(p3.DISCOUNT_01,p.DISCOUNT_01) as DISCOUNT_01,
ifnull(p3.DELT_02,p.DELT_02) as DELT_02,
ifnull(p3.SHELF_FROM_02,p.SHELF_FROM_02) as SHELF_FROM_02,
ifnull(p3.SHELF_TO_02,p.SHELF_TO_02) as SHELF_TO_02,
ifnull(p3.DISCOUNT_02,p.DISCOUNT_02) as DISCOUNT_02,
ifnull(p3.DELT_03,p.DELT_03) as DELT_03,
ifnull(p3.SHELF_FROM_03,p.SHELF_FROM_03) as SHELF_FROM_03,
ifnull(p3.SHELF_TO_03,p.SHELF_TO_03) as SHELF_TO_03,
ifnull(p3.DISCOUNT_03,p.DISCOUNT_03) as DISCOUNT_03,
ifnull(p3.DELT_04,p.DELT_04) as DELT_04,
ifnull(p3.SHELF_FROM_04,p.SHELF_FROM_04) as SHELF_FROM_04,
ifnull(p3.SHELF_TO_04,p.SHELF_TO_04) as SHELF_TO_04,
ifnull(p3.DISCOUNT_04,p.DISCOUNT_04) as DISCOUNT_04,
ifnull(p3.DELT_05,p.DELT_05) as DELT_05,
ifnull(p3.SHELF_FROM_05,p.SHELF_FROM_05) as SHELF_FROM_05,
ifnull(p3.SHELF_TO_05,p.SHELF_TO_05) as SHELF_TO_05,
ifnull(p3.DISCOUNT_05,p.DISCOUNT_05) as DISCOUNT_05,
ifnull(p3.DELT_06,p.DELT_06) as DELT_06,
ifnull(p3.SHELF_FROM_06,p.SHELF_FROM_06) as SHELF_FROM_06,
ifnull(p3.SHELF_TO_06,p.SHELF_TO_06) as SHELF_TO_06,
ifnull(p3.DISCOUNT_06,p.DISCOUNT_06) as DISCOUNT_06,
ifnull(p3.DELT_07,p.DELT_07) as DELT_07,
ifnull(p3.SHELF_FROM_07,p.SHELF_FROM_07) as SHELF_FROM_07,
ifnull(p3.SHELF_TO_07,p.SHELF_TO_07) as SHELF_TO_07,
ifnull(p3.DISCOUNT_07,p.DISCOUNT_07) as DISCOUNT_07,
ifnull(p3.DELT_08,p.DELT_08) as DELT_08,
ifnull(p3.SHELF_FROM_08,p.SHELF_FROM_08) as SHELF_FROM_08,
ifnull(p3.SHELF_TO_08,p.SHELF_TO_08) as SHELF_TO_08,
ifnull(p3.DISCOUNT_08,p.DISCOUNT_08) as DISCOUNT_08,
ifnull(p3.DELT_09,p.DELT_09) as DELT_09,
ifnull(p3.SHELF_FROM_09,p.SHELF_FROM_09) as SHELF_FROM_09,
ifnull(p3.SHELF_TO_09,p.SHELF_TO_09) as SHELF_TO_09,
ifnull(p3.DISCOUNT_09,p.DISCOUNT_09) as DISCOUNT_09,
ifnull(p3.DELT_10,p.DELT_10) as DELT_10,
ifnull(p3.SHELF_FROM_10,p.SHELF_FROM_10) as SHELF_FROM_10,
ifnull(p3.SHELF_TO_10,p.SHELF_TO_10) as SHELF_TO_10,
ifnull(p3.DISCOUNT_10,p.DISCOUNT_10) as DISCOUNT_10,
case when ifnull(p3.PRODH,'') <> '' and ifnull(c.DT, 0) <= 0 then 'D' when ifnull(c.DT, 0) > 0 then 'A' else 'N' end as TYP
from (select VKORG, YHIER1, PRODH1_NAME, YMATNR_I, YHIER3, PRODH3_NAME, max(DT) as DT
from :calcTab2 group by VKORG, YHIER1, YMATNR_I, PRODH1_NAME, YHIER3, PRODH3_NAME) as c
left join :polkiTab as p3 on p3.VKORG = c.VKORG and p3.PRODH = c.YHIER3
left join :polkiTab as p on p.VKORG = c.VKORG and p.PRODH = c.YHIER1
where (ifnull(p3.PRODH,'') <> '' or ifnull(p.PRODH,'') <> '')
order by c.VKORG, c.YHIER1, c.YHIER3;
end
Что такого космического в запросах, прям заинтриговали?
Это все личные переживания разработчиков. Представьте допустим некий бизнес с оборотом несколько сот миллиардов даже пусть рублей в год. У него есть запрос на решение задачи типа пополнения номенклатуры складских наименований, допустим 10к видов на несколько сот филиалов по стране, с учетом плана, сроков, маржинальности и тд и тп. Так вот сам бизнес вообще не е@et как вы ее будете решать с помощь вайб, ультра или мега кодинга, ему важен очевидно результат. То есть простыми словами вы должны предоставить решение задачи и нести за это решение ответственность перед заказчиком.
Если нет понимания что хотите создать, то какова мотивация этой идеи? Если деньги, то есть вполне успешные кейсы, чисто для меня они по тематике настолько далеки и непонятны, что я даже не понимаю как в это играют и главное зачем. Я конечно же не привожу в пример ААА игры, это другая реальность в другом измерении.
У меня в выдаче названия растений - цветов )))
DeepSeek:
Астра
Бегония
Герань
Дельфиниум
Ирис
Лилия
Хризантема
Картон с рисунком кирпича
Не существует реального кейса. Все эти псевдо кейсы рассчитаны на то, что текущая финансово-экономическая парадигма не изменится в течении 30-50 лет, мы то знаем как будет на самом деле )))
Претензии к названию статьи, оно противоречит содержимому.
Так дело в том что это вообще никакой не уход, цивилизация она вокруг всегда, в шаговой доступности. Это скорей такое самолечение, психологический прием, как в детстве закрыл глаза ладошками и все меня нет я в домике.
Так видел фильм недавно, там еще Анна де Армас играла, чел, перед тем как ехать на остров, вырвал все зубы во рту.
Все циклично, помню было время для домохозяек продвигали кухонные комбайны, где один агрегат может делать все, а сейчас в тренде опять ножи.
Интересный туториал, не совсем понятно на каком движке?
Хорошо написано про контур ответственности, для этого я полагаю надо понимать что сгенерировал агент, то есть условно ты можешь написать примерно то же, но времени займет больше. Значит ты экономишь человеко-часы, соответственно джуны не нужны в данный момент, но задачи со временем становятся более сложными и даже с инструментами ты не можешь реализовывать их все одновременно, соответственно нужны новые специалисты, но уже образовалась пропасть. Такое было недавно лет 5 назад, бум на востребованность программистов. Снизился порог входа. Все циклично.
Вы про социальный рейтинг как в Черном зеркале?
так себе решение, я думал в статье будет современный унитаз для автодомов. Если все это дело уходит в пакет, то лучше подумать про химию, которое все добро в пакете сразу ферментирует.
Интересно посмотреть на джунов-вайбкодеров, которые становятся Синьерами-вайбкодерами )))
Размышляя над тем, что промпт это следующий уровень абстракции, понял одну вещь, промпты в отличии от инструкций высокоуровневых языков еще не заслужили доверия, то есть прописывая инструкцию кода вы ожидаете вполне конкретный результат и уверенны в этом на 99.99, с промптом то же самое, но уверенности такой нет. Если нет веры и уверенности, то вам будет сложно взять на себя ответственность за сгенерированный код.
Так скоро и книги читать начнут )
Маленькие студии и соло разраб это немного разные вещи. Но этот чел как я помню смог стать успешным на, прости господи, платформе Яндекс игры, теперь ставит планку выше.