Oleg Moskatov


Forecast Analyst


At Itron, Mr. Moskatov is responsible for providing forecasting support to clients in the electric, natural gas, and water utility industry. This includes conducting research, developing client-focused statistical analyses used for forecasting long-term sales and peaks, and writing supporting documentation. This also includes providing on-site support and software/forecasting training. Mr. Moskatov also works with the Energy Information Administration (EIA) to provide annual updates to the Statistically Adjusted End-Use (SAE) electric and natural gas end-use indices for the residential sector. As a graduate student at Suffolk University, Mr. Moskatov focused on the development of financial markets in Central/Eastern Europe and conducted research for the IPO aftermarket study.

Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing:
==> authorContentdata.items  [in template "44616#44647#183853" at line 20, column 22]

----
Tip: It's the step after the last dot that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: authorContentitems = authorContentdat...  [in template "44616#44647#183853" at line 20, column 1]
----
1<#-- 
2Add elements from the sidebar to define your template. Type "${" to use the 
3autocomplete feature. 
4--> 
5<#-- *Permission issue with guest user* 
6<#assign currentEntry = (request.getAttribute("LIFERAY_SHARED_LAYOUT_ASSET_ENTRY"))! /> 
7<#assign classPK = currentEntry.classPK /> 
8--> 
9 
10<#assign  
11currentURL = themeDisplay.getURLCurrent() 
12fullURLPath = currentURL?split("/") 
13urlData = fullURLPath[2] 
14removedParams = urlData?split("?") 
15friendlyURLPath = removedParams[0] 
16/> 
17 
18<#assign 
19authorContentdata = restClient.get("/headless-delivery/v1.0/structured-content-folders/148280/structured-contents?filter=friendlyUrlPath%20eq%20%27" + friendlyURLPath + "%27") 
20authorContentitems = authorContentdata.items 
21/> 
22<#if authorContentitems?has_content> 
23<#assign 
24authorContent = authorContentitems[0] 
25contentFields = authorContent.contentFields 
26categories=authorContent.taxonomyCategoryBriefs 
27authorContentData = jsonFactoryUtil.createJSONObject(authorContent) 
28friendlyURL = authorContentData.friendlyUrlPath 
29authorCategoryId = "0" 
30/> 
31 
32<#list categories as category > 
33				     <#assign authorCategoryId = category.taxonomyCategoryId /> 
34      </#list> 
35 
36 
37<span class="d-none" id="author-id">${authorCategoryId}</span> 
38</#if> 
39<script> 
40AUI().ready(function(){ 
41  const authorID = document.getElementById("author-id").innerHTML; 
42  if(authorID) { 
43	setTimeout(function(){ 
44    document.querySelector('[name="categoryId"][value="'+authorID+'"]').closest('label').click() 
45  }, 1000); 
46
47}); 
48</script>