<?xml version="1.0" encoding="UTF-8"?> <!-- $Author: ouyangzhaochang2663 $ $Date: 2010/11/18 08:42:31 $ $Revision: 1.1 $ $Purpose: 会计期定义 - 创建规则 --> <a:screen xmlns:a="http://www.leaf-framework.org/application" trace="true"> <a:init-procedure/> <a:view> <a:link id="gld_period_create_link" url="${/request/@context_path}/modules/gld/FND2120/gld_period_create.lview"/> <script type="text/javascript"><![CDATA[ function monthValidator(record, name, value) { if (name == 'month_from' || name == 'month_to') { if (value < 1 || value > 12) { return '${l:INCORRECT_MONTH_ENTERED}'; } } return true; } function dateValidator(record, name, value) { var array = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); if (name == 'date_from' || name == 'date_to') { var month = 1; if (name == 'date_from') { month = record.get('month_from'); } else { month = record.get('month_to'); } if (value < 1 || value > array[month - 1]) { return '${l:DATE_ENTERED_INCORRECTLY}'; } } return true; } function onUpdate_ruleDs(ds, record, name, value) { if (name == 'month_from' || name == 'month_to') { record.validate((name == 'month_from') ? 'date_from' : 'date_to'); } } function periodSetCodeEdit(record, name) { if (record.isNew) { return 'period_set_code_grid_tf'; } else { return ''; } } function quarterNumValidator(record, name, value) { if (value > 4 || value < 1) { return '${l:QUARTERLY_INPUT_ERROR}'; } return true; } function validateRules() { $('ruleDs').validate(); var totalPeriodNum = $('periodSetInfoDs').getCurrentRecord().get('total_period_num'); var records = $('ruleDs').getAll(); if (records == '' || records == null || records.length != totalPeriodNum) { Leaf.showMessage('${l:PROMPT}', '${l:DURING_THE_RULE_DEFINITION_IS_NOT_COMPLETE}'); return false; } else { for (var i = 1;i < records.length;i++) { var currentRecord = records[i]; if (currentRecord.get('adjustment_flag') == 'Y') { break; } var currentDateFrom = new Date(2000, currentRecord.get('month_from') - 1, currentRecord.get('date_from')); var currentDateTo = new Date(2000, currentRecord.get('month_to') - 1, currentRecord.get('date_to')); for (var j = 0;j < i;j++) { var compareRecord = records[j]; if (compareRecord.get('adjustment_flag') == 'Y') { break; } var compareDateFrom = new Date(2000, compareRecord.get('month_from') - 1, compareRecord.get('date_from')); var compareDateTo = new Date(2000, compareRecord.get('month_to') - 1, compareRecord.get('date_to')); if (currentDateFrom > compareDateFrom && currentDateFrom < compareDateTo || currentDateTo > compareDateFrom && currentDateTo < compareDateTo) { Leaf.showMessage('${l:PROMPT}', '${l:GLD_PERIOD_RULE_RO.TIME}' + parseInt(i + 1) + '${l:LINE}' + '${l:DURING_THE_RULE_DEFINITION_IS_NOT_COMPLETE}'); return false; } } currentRecord.set('period_num', i + 1); } records[0].set('period_num', 1); return true; } } function ruleDs_grid_save() { var records = $('ruleDs').getAll(); for (var i = 0;i < records.length;i++) { records[i].set('period_num', i + 1); } if ($('ruleDs').validate()) { if (validateRules()) { $('ruleDs').submit(); } } } function winOpen_create_period() { var records = $('ruleDs').getNewRecords(); if ($('ruleDs').isModified()) { Leaf.showMessage('${l:PROMPT}', '${l:BGT_SOLUTION.SAVE_FIRST}'); return; } if (validateRules()) { new Leaf.Window({ id: 'gld_period_create_window', url: $('gld_period_create_link').getUrl(), params:{ period_set_code : '${/parameter/@period_set_code}' }, title: '${l:DEFINITION_OF_ACCOUNTING_PERIOD_CREATE_PERIOD}', height: 250, width: 340 }); } } function ruleDs_grid_add() { $('ruleDs_grid').showEditorByRecord($('ruleDs').create()); } function ruleDs_grid_clear() { $('ruleDs_grid').clear(); } function ruleDs_grid_submit() { var ds = $('ruleDs'); if (ds.validate()) { ds.submit(); } } ]]></script> <a:dataSets> <a:dataSet id="periodSetInfoDs" fetchAll="false" loadData="true" model="gld.gld_period_sets" selectable="true"> <a:fields> <a:field name="period_set_code" readOnly="true"/> <a:field name="period_set_name" readOnly="true"/> <a:field name="total_period_num" readOnly="true"/> <a:field name="period_additional_flag_desc" displayField="code_value_name" options="periodAdditionalFlagDs" readOnly="true" returnField="period_additional_flag" valueField="code_value"/> </a:fields> </a:dataSet> <a:dataSet id="ruleDs" autoQuery="true" fetchAll="false" model="gld.FND2120.gld_period_rules" queryUrl="${/request/@context_path}/autocrud/gld.FND2120.gld_period_rules/query?ORDER_FIELD=period_num&period_set_code=${/parameter/@period_set_code}" selectable="true" submitUrl="${/request/@context_path}/modules/gld/FND2120/gld_period_rules.lsc"> <a:fields> <a:field name="period_set_code" defaultValue="${/parameter/@period_set_code}"/> <a:field name="period_additional_name" required="true"/> <a:field name="month_from" required="true" validator="monthValidator"/> <a:field name="month_to" required="true" validator="monthValidator"/> <a:field name="date_from" required="true" validator="dateValidator"/> <a:field name="date_to" required="true" validator="dateValidator"/> <a:field name="quarter_num" required="true" validator="quarterNumValidator"/> <a:field name="adjustment_flag" checkedValue="Y" defaultValue="N" uncheckedValue="N"/> </a:fields> <a:events> <a:event name="update" handler="onUpdate_ruleDs"/> </a:events> </a:dataSet> </a:dataSets> <a:screenBody> <a:screenTopToolbar> <a:gridButton click="ruleDs_grid_add" text="HLS.NEW"/> <a:gridButton click="ruleDs_grid_clear" text="HLS.CLEAR"/> <a:gridButton click="ruleDs_grid_save" text="HLS.SAVE"/> <a:gridButton click="winOpen_create_period" text="GLD_PERIOD_RULE_CREATE_PERIOD"/> </a:screenTopToolbar> <a:form column="2" title="GLD_PERIOD_SET.PERIOD_SET_QUERY" width="500"> <a:textField name="period_set_code" bindTarget="periodSetInfoDs"/> <a:textField name="period_set_name" bindTarget="periodSetInfoDs"/> <a:textField name="total_period_num" bindTarget="periodSetInfoDs"/> <a:comboBox name="period_additional_flag_desc" bindTarget="periodSetInfoDs"/> </a:form> <a:grid id="ruleDs_grid" bindTarget="ruleDs" height="375" navBar="true" width="680"> <a:columns> <a:column name="period_additional_name" align="center" editor="ruleDs_grid_tf" width="100"/> <a:column name="month_from" align="center" editor="ruleDs_grid_nf_integer" width="85"/> <a:column name="date_from" align="center" editor="ruleDs_grid_nf_integer" width="85"/> <a:column name="month_to" align="center" editor="ruleDs_grid_nf_integer" width="85"/> <a:column name="date_to" align="center" editor="ruleDs_grid_nf_integer" width="85"/> <a:column name="quarter_num" align="center" editor="ruleDs_grid_nf_integer" width="85"/> <a:column name="adjustment_flag" editor="ruleDs_grid_comb"/> </a:columns> <a:editors> <a:textField id="ruleDs_grid_tf"/> <a:numberField id="ruleDs_grid_nf_integer" allowDecimals="false" allowNegative="false"/> <a:checkBox id="ruleDs_grid_comb"/> </a:editors> </a:grid> </a:screenBody> </a:view> </a:screen>