Текущее время: Пн, июл 28 2025, 21:21

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Стандадартная функция Sum в формуляре J_3R_INV1_CONTEXT работает некорретно?
СообщениеДобавлено: Пт, мар 26 2010, 15:13 
Ассистент
Ассистент

Зарегистрирован:
Пн, фев 19 2007, 01:11
Сообщения: 36
Не могу понять почему некорретно отрабатывает стандарная функия подсчета суммы
в формуляре в разных системах. Работаю по удаленки через цитрикс и поэтому отладка скриптов мне недоступна.
Кто нибудь сталкивался с подобным?


function Sum(fieldName)
{
var fieldSum = null;

var startPage = 0;
var endPage = 0;

if (arguments.length == 2) {
startPage = this._GetPageNum(arguments[1]);
endPage = startPage;
} else if (arguments.length == 3){
startPage = this._GetPageNum(arguments[1]);

endPage = this._GetPageNum(arguments[2]);
} else {
startPage = 0;
endPage = xfa.layout.pageCount() - 1;

}


if ((startPage == -1) || (endPage == -1) || (startPage > endPage)) _ThrowPageNumberError(startPage, endPage)

var curPage = startPage;
while (curPage <= endPage) {
// Get the field containers on the current page
var oFields = xfa.layout.pageContent(curPage, "field");
var fieldCount = oFields.length;

// Continue if fields were found on the page
if (fieldCount > 0) {
var i = 0;
for (i=0; i < fieldCount; i++) {
if (oFields.item(i).name == fieldName) {
//Modified by BA
fieldSum += (oFields.item(i).rawValue / 1);
}
}
}

curPage++;
}

if (fieldSum == null) _ThrowFieldNotFoundError(fieldName);
return fieldSum;
}


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Стандадартная функция Sum в формуляре J_3R_INV1_CONTEXT работает некорретно?
СообщениеДобавлено: Пт, мар 26 2010, 15:26 
Начинающий
Начинающий

Зарегистрирован:
Пт, мар 26 2010, 15:15
Сообщения: 5
Могу поделиться заготовками, работает 100 %

Итог по странице

var page = xfa.layout.page(this)-1;
var fields = xfa.layout.pageContent(page, "field", 0);
var total = 0;
if (fields != null){
for (var i=0; i <= fields.length-1; i++) {
if (fields.item(i).name == "LFIMG") {
total = total + Number(fields.item(i).rawValue);
}
}
}
this.rawValue = total;

Итог по ведомости

if (xfa.layout.pageCount() == xfa.layout.page(this)){ {
total = 0;
var fields2 = xfa.resolveNodes("data.Main.Table1.Row1[*].LFIMG");
for (var j=0; j <= fields2.length-1; j++) {
total = total + Number(fields2.item(j).rawValue);
} }
}this.rawValue = total;


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Стандадартная функция Sum в формуляре J_3R_INV1_CONTEXT работает некорретно?
СообщениеДобавлено: Пт, мар 26 2010, 16:18 
Ассистент
Ассистент

Зарегистрирован:
Пн, фев 19 2007, 01:11
Сообщения: 36
Спасибо. Опробуем)))


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Стандадартная функция Sum в формуляре J_3R_INV1_CONTEXT работает некорретно?
СообщениеДобавлено: Пт, мар 26 2010, 17:46 
Ассистент
Ассистент

Зарегистрирован:
Пн, фев 19 2007, 01:11
Сообщения: 36
с суммой разобрался. Проблема оказалась не в ней.

Сумма возврашается правильная
Видимо ошибка кроется в преобразовании. Причем на второй странице отрабатывает корретно, а на первой нет.

Когда высчитываются копейки для итогов и число преобразуется в строку на конце образуется какой-то шлак. типа 9999994
и в итоге вместо 43 копеек выводиться 94.

Мистика?)))

var CurrPage = xfa.layout.page(this);
var sum;
var result;

sum = tableCalcs.Sum("N15_ACT_VALUE", CurrPage - 1, CurrPage - 1) * 100;
if ( sum == 0)
this.rawValue = "";
else
{
result = sum.toString();
result = result.substr(result.length-2,2);
this.rawValue = result;
}


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB