Д
Для тех, кто в танке
@pbi_pq_from_tank3.8K подп.
3.7Kпросмотров
98.1%от подписчиков
22 декабря 2025 г.
statsScore: 4.0K
Производственный календарь 3 #АнатомияФункций – CustomFunctions Всем привет! В преддверии Нового Года решил ещё раз поднять тему производственных календарей (предыдущая итерация). По этому поводу код: (optional year as number)=>[ year = Text.From(if year=null then Date.Year(DateTime.LocalNow()) else year), from = Web.Contents("http://www.consultant.ru/law/ref/calendar/proizvodstvennye/"&(if year="2020" then "2020b" else year)), html = Html.Table(from,{ {"m","th.month"}, {"d","td",(x)=>Text.Remove(x[TextContent]?,"")}, {"DateType","td",(x)=>x[Attributes]?[class]?}}, [RowSelector="table.cal td,th"]), fill = Table.FillDown(html,{"m"}), fltr = Table.SelectRows(fill,(x)=>x[DateType]<>null and x[DateType]<>"inactively"), tbl = Table.CombineColumns(fltr,{"m","d"},(x)=>Date.From(Text.Combine({year}&x)),"Date"), to = Value.ReplaceType(tbl,type table [Date=date,DateType=text])][to] Что тут к чему рассмотрено в видео на рутубе , ютубе , а с исходниками давно лежит на спонсоре Пы.Сы. А потом я ещё немножко подумал и получилось вот такое: (optional year as number)=>[ f=(x)=>{Date.From(Text.TrimEnd(Text.Combine({year}&List.FirstN(x,2)),"")),x{2}}, year = Text.From(if year=null then Date.Year(DateTime.LocalNow()) else year), from = Binary.Buffer(Web.Contents("http://www.consultant.ru/law/ref/calendar/proizvodstvennye/"&(if year="2020" then "2020b" else year))), html = Html.Table(from,{{"m","th.month"},{"d","td"},{"t","td",(x)=>x[Attributes][class]}},[RowSelector="th.month,td[class]"]), tbl = Table.SelectRows(Table.FillDown(html,{"m"}),(x)=>x[t]<>null and x[t]<>"inactively"), to = Table.FromList(Table.ToList(tbl,f),(x)=>x,type table [Date=date,DateType=text])][to] Надеюсь, было полезно. Всех благ! @buchlotnik
3.7K
просмотров
1791
символов
Нет
эмодзи
Нет
медиа

Другие посты @pbi_pq_from_tank

Все посты канала →
Производственный календарь 3 #АнатомияФункций – CustomFuncti — @pbi_pq_from_tank | PostSniper