Insights - Brink's Argentina
Insights Home
Ruta de navegación
De la bóveda de Brink’s
Le brindamos perspectivas sobre eficiencia operativa, tendencias emergentes y perspectivas de la industria que realmente puede utilizar.

Tres mitos acerca de la gestión de dinero en efectivo
No existe ninguna receta secreta para tener una empresa exitosa. Pero hay un sencillo ingrediente para mejorar las operaciones y el flujo monetario: asegurarse de tener una buena gestión de dinero en efectivo. Es un componente del manejo del negocio que, con frecuencia, se pasa por alto, pero que puede hacer una gran diferencia de ahorro de tiempo y dinero. Hay tres errores de concepto comunes que impiden a los propietarios de las empresas optimizar las soluciones de gestión de dinero en efectivo.
Publicador de contenidos
Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing: ==> templateKey [in template "20101#20128#81003" at line 135, column 51] ---- 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: @liferay_journal["journal-article"] a... [in template "20101#20128#81003" at line 133, column 29] ----
1<#assign caseStudyStructureId = brinks_freemarker_util.getStructureIdsByStructureKey(["CASE_STUDY"])!"" />
2<#assign blogStructureId = brinks_freemarker_util.getStructureIdsByStructureKey(["BLOG_POST"])!"" />
3<#assign eventStructureId = brinks_freemarker_util.getStructureIdsByStructureKey(["EVENT"])!"" />
4<#assign insightTopics = brinks_freemarker_util.getInsightTopicsByGroupIdAndLocale(themeDisplay.getSiteGroupId())!"" />
5
6<div class="component-blue brinks-filter-container insight-container">
7 <div class="page-width spacing-small">
8 <div class="card-filters">
9 <h2 class="text-center card-filters-title f-white"><@liferay.language key="our-insights" /></h2>
10 <@portlet["renderURL"] var="searchURL"></@>
11 <@liferay_aui["form"] action="${searchURL}" name="fm1" method="get">
12 <div class="row relative">
13 <#if insightTopics?has_content>
14 <div class="col-12 col-md-4 col-lg-3">
15 <div class="brinks-select">
16 <@liferay_aui["select"] id="categoryId" name="categoryId" label="">
17 <@liferay_aui["option"] label="all-topics" value="0"></@>
18 <#list insightTopics as topic>
19 <@liferay_aui["option"] label="${topic.getTitle(locale)}" value="${topic.getCategoryId()}"></@><#--passing category id as value -->
20 </#list>
21 </@>
22 </div>
23 </div>
24 <div class="col-12 col-md-4 col-lg-3">
25 <div class="brinks-select">
26 <@liferay_aui["select"] id="classTypeId" name="classTypeId" label="">
27 <@liferay_aui["option"] label="all-content-types" value="0"></@>
28 <#if caseStudyStructureId?has_content>
29 <@liferay_aui["option"] label="case-study" value="${caseStudyStructureId[0]}"></@><#--passing structure Id as value -->
30 </#if>
31 <#if blogStructureId?has_content>
32 <@liferay_aui["option"] label="blog-posts" value="${blogStructureId[0]}"></@>
33 </#if>
34 <#if eventStructureId?has_content>
35 <@liferay_aui["option"] label="events" value="${eventStructureId[0]}"></@>
36 </#if>
37 </@>
38 </div>
39 </div>
40 <div class="col-12 col-md-4 col-lg-3">
41 <div class="brinks-select">
42 <#assign endDate = 2019 />
43 <@liferay_aui["select"] id="orderDate" name="orderDate" label="">
44 <@liferay_aui["option"] label="most-recent" value=""></@>
45 <#list .now?string('yyyy')?number+1..endDate as i>
46 <@liferay_aui["option"] value="${i}">${i}</@>
47 </#list>
48 </@>
49 </div>
50 </div>
51 <div class="col-12 col-md-12 col-lg-3">
52 <div class="brinks-input">
53 <@liferay_aui["input"] type="text" name="keywords" label="" placeholder="keywords"></@>
54 </div>
55 </div>
56 <#else>
57 <div class="col-12 col-md-4">
58 <div class="brinks-select">
59 <@liferay_aui["select"] id="classTypeId" name="classTypeId" label="">
60 <@liferay_aui["option"] label="all-content-types" value="0"></@>
61 <#if caseStudyStructureId?has_content>
62 <@liferay_aui["option"] label="case-study" value="${caseStudyStructureId[0]}"></@><#--passing structure Id as value -->
63 </#if>
64 <#if blogStructureId?has_content>
65 <@liferay_aui["option"] label="blog-posts" value="${blogStructureId[0]}"></@>
66 </#if>
67 <#if eventStructureId?has_content>
68 <@liferay_aui["option"] label="events" value="${eventStructureId[0]}"></@>
69 </#if>
70 </@>
71 </div>
72 </div>
73 <div class="col-12 col-md-4">
74 <div class="brinks-select">
75 <#assign endDate = 2019 />
76 <@liferay_aui["select"] id="orderDate" name="orderDate" label="">
77 <@liferay_aui["option"] label="most-recent" value=""></@>
78 <#list .now?string('yyyy')?number+1..endDate as i>
79 <@liferay_aui["option"] value="${i}">${i}</@>
80 </#list>
81 </@>
82 </div>
83 </div>
84 <div class="col-12 col-md-4">
85 <div class="brinks-input">
86 <@liferay_aui["input"] type="text" name="keywords" label="" placeholder="keywords"></@>
87 </div>
88 </div>
89 </#if>
90 <@liferay_aui["input"] type="hidden" name="scrollIntoView" value="false"></@>
91 <@liferay_aui["input"] type="hidden" id="enableCustomDateRangeFilter" name="enableCustomDateRangeFilter" value=false></@>
92 <@liferay_aui["input"] type="hidden" name="customDateAttributeKeys"></@>
93 <@liferay_aui["input"] type="hidden" id="fromDate" name="fromDate"></@>
94 <@liferay_aui["input"] type="hidden" id="toDate" name="toDate"></@>
95 <@liferay_aui["input"] type="hidden" id="enableCustomAttributesFilter" name="enableCustomAttributesFilter" value=false></@>
96 <@liferay_aui["input"] type="hidden" id="customAttributeKeyValueMap" name="customAttributeKeyValueMap"></@>
97 <@liferay_aui["input"] type="hidden" id="customDateRangeJSON" name="customDateRangeJSON"></@>
98 <@liferay_aui["input"] type="hidden" id="additionalParams" name="additionalParams" value="scrollIntoView,orderDate,classTypeId"></@>
99
100 <#assign queryString = httpUtil.getQueryString(searchURL)>
101 <#assign parameterMap = httpUtil.getParameterMap(queryString)>
102 <#list parameterMap?keys as key>
103 <input name="${key}" type="hidden" value="${parameterMap[key][0]}" />
104 </#list>
105 </div>
106 </@>
107 </div>
108 </div>
109</div>
110
111<#if entries?has_content>
112 <div class="component-gray title-section nobutton" id="insight-list">
113 <div class="page-width spacing-small">
114 <div class="row equal-content-height">
115 <#list entries as curEntry>
116 <#if "com.liferay.journal.model.JournalArticle" == curEntry.getAssetRenderer().getClassName() >
117
118 <#assign assetRenderer = curEntry.getAssetRenderer()>
119 <#assign article = assetRenderer.getArticle()>
120 <#assign entryTitle = htmlUtil.escape(assetRenderer.getTitle(locale)) />
121 <div class="col-lg-4 col-md-6">
122 <div class="custom-edit align-card">
123 <@getEditIcon />
124 </div>
125
126 <#if curEntry.getAssetRenderer().getArticle().getDDMStructure().getName()?contains("Case Study")>
127 <#assign templateKey = (themeDisplay.getCompanyGroupId() == assetRenderer.getGroupId())?then('GLOBAL_CASE_STUDY_ABSTRACT', 'CASE_STUDY_ABSTRACT')/>
128 <#elseif curEntry.getAssetRenderer().getArticle().getDDMStructure().getName()?contains("Blog Post")>
129 <#assign templateKey = (themeDisplay.getCompanyGroupId() == assetRenderer.getGroupId())?then('GLOBAL_BLOG_POST_ABSTRACT', 'BLOG_POST_ABSTRACT')/>
130 <#elseif curEntry.getAssetRenderer().getArticle().getDDMStructure().getName()?contains("Event")>
131 <#assign templateKey = (themeDisplay.getCompanyGroupId() == assetRenderer.getGroupId())?then('GLOBAL_EVENT_ABSTRACT', 'WEBINAR_ABSTRACT')/>
132 </#if>
133 <@liferay_journal["journal-article"]
134 articleId="${curEntry.getAssetRenderer().getArticle().getArticleId()}"
135 ddmTemplateKey="${templateKey}"
136 groupId=curEntry.getAssetRenderer().getGroupId() />
137
138 </div>
139 </#if>
140 </#list>
141 </div>
142 </div>
143 </div>
144<#else>
145 <div class="alert alert-info">
146 <@liferay_ui["message"] key="there-are-no-results" />
147 </div>
148</#if>
149
150<#macro getEditIcon>
151 <#if assetRenderer.hasEditPermission(themeDisplay.getPermissionChecker())>
152 <#assign editPortletURL = assetRenderer.getURLEdit(renderRequest, renderResponse, windowStateFactory.getWindowState("NORMAL"), themeDisplay.getURLCurrent())!"" />
153
154 <#if validator.isNotNull(editPortletURL)>
155 <#assign title = languageUtil.format(locale, "edit-x", entryTitle, false) />
156
157 <@liferay_ui["icon"]
158 cssClass="icon-monospaced visible-interaction"
159 icon="pencil"
160 markupView="lexicon"
161 message=title
162 url=editPortletURL.toString()
163 />
164 </#if>
165 </#if>
166</#macro>
167
168<script>
169 var prefix = "#" + "${portletDisplay.namespace}"
170 var formId = prefix + "fm1";
171
172 $(document).ready(function () {
173
174 /* Grab form field inputs */
175 var orderDate = $(prefix + "orderDate");
176
177 /* Grab hidden form inputs */
178 var fromDate = $(prefix + "fromDate");
179 var toDate = $(prefix + "toDate");
180 var customDateRangeFilter = $(prefix + "enableCustomDateRangeFilter");
181 var customDateRangeJSON = $(prefix + "customDateRangeJSON");
182 var customAttributesFilter = $(prefix + "enableCustomAttributesFilter");
183 var customAttributeKeyValueMap = $(prefix + "customAttributeKeyValueMap");
184 var customDateAttributeKeys = $(prefix + "customDateAttributeKeys");
185 var insightSelects = $('.brinks-select');
186
187 for (let i = 0; i < insightSelects.length; i++) {
188 insightSelects[i].addEventListener('click', function(event) {
189 $("form[name='${portletDisplay.namespace}fm1']").submit();
190 });
191 }
192 /* Handle onFormSubmition */
193 $(prefix + "fm1").submit(function () {
194 $(fromDate).val("");
195 $(toDate).val("");
196 let dateRangeJson = {};
197
198 if($(orderDate).val().length > 0){
199 var fromDateSelection = $(orderDate).val() + "-01-01";
200 var toDateSelection = $(orderDate).val() + "-" + (12) + "-" + (31);
201
202 $(fromDate).val(fromDateSelection);
203 $(toDate).val(toDateSelection);
204
205 dateRangeJson["filterable_startDate"] = {};
206 dateRangeJson["filterable_startDate"]['fromDate'] = fromDateSelection;
207 dateRangeJson["filterable_startDate"]['toDate'] = toDateSelection;
208
209 var blogFieldName = "filterable_date_${locale}";
210 var caseFieldName = "filterable_eventDate_${locale}";
211
212 dateRangeJson[blogFieldName] = {};
213 dateRangeJson[blogFieldName]['fromDate'] = fromDateSelection;
214 dateRangeJson[blogFieldName]['toDate'] = toDateSelection;
215
216 dateRangeJson[caseFieldName] = {};
217 dateRangeJson[caseFieldName]['fromDate'] = fromDateSelection;
218 dateRangeJson[caseFieldName]['toDate'] = toDateSelection;
219 }
220
221 /* Generate customDateRangeJSON String */
222 if(Object.keys(dateRangeJson).length > 0){
223 $(customDateRangeFilter).val(true);
224 $(customDateRangeJSON).val(JSON.stringify(dateRangeJson));
225 }
226
227 $(prefix + "scrollIntoView").val('true');
228 });
229
230 /* Remove quotes on page load */
231 var $keywordsInput = $("input[name='${portletDisplay.namespace}keywords']");
232 if ($keywordsInput.val().length > 0) {
233 if ($keywordsInput.val().indexOf("\"") == 0) {
234 $keywordsInput.val($keywordsInput.val().slice(1));
235 }
236 if ($keywordsInput.val().lastIndexOf("\"") == ($keywordsInput.val().length - 1)) {
237 $keywordsInput.val($keywordsInput.val().slice(0, $keywordsInput.val().length - 1));
238 }
239 }
240
241 /* Add quotes on form submit */
242 $("form[name='${portletDisplay.namespace}fm1']").submit(function () {
243 var $keywordsInput = $("input[name='${portletDisplay.namespace}keywords']");
244 if ($keywordsInput.val().length > 0) {
245 if ($keywordsInput.val().indexOf("\"") == -1) {
246 $keywordsInput.val("\"" + $keywordsInput.val());
247 }
248 if ($keywordsInput.val().lastIndexOf("\"") == 0) {
249 $keywordsInput.val($keywordsInput.val() + "\"");
250 }
251 }
252 });
253
254 });
255</script>