Welcome, Guest. Please login or register.
Did you miss your activation email?

Author Topic: Вопросы новичка  (Read 97620 times)

ldir

  • Jr. Member
  • **
  • Posts: 72
    • View Profile
Re: Вопросы новичка
« Reply #240 on: April 04, 2019, 02:32:27 PM »
Не хотел создавать новую тему, напишу здесь. Не знаю что это. Глюк или какая-то особенность, но если в одном скрипте будут функции COUNT() и SUM(), то получаю ошибку: Функция SUM не найдена или вызвана с неверными аргументами. Это если вызываемые функции идут в этом же порядке, т.е. сначала COUNT потом SUM, если наоборот, то будет другая ошибка - Can't find variablе... далее то что идет после COUNT().

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 992
    • View Profile
Re: Вопросы новичка
« Reply #241 on: April 04, 2019, 04:01:30 PM »
ldir, По первому вопросу - я думаю, решением может быть скрытие подписей в колонтитуле страницы,
для этого можно использовать переменную #IS_LAST_PAGEFOOTER.
По второму - можно посмотреть само выражение где эти функции SUM и COUNT используются ?

ldir

  • Jr. Member
  • **
  • Posts: 72
    • View Profile
Re: Вопросы новичка
« Reply #242 on: April 04, 2019, 04:24:44 PM »
Arin Alex, первый вопрос пока решил с использованием комбинации DataFooter'а и PageFooter'а с включением флага "Печать на первой странице" у последнего. Не знаю правильно ли это. Полагаю, если данные растянутся на одну - максимум две страницы, то все будет как надо. На три и больше вряд-ли.
А вот с вышеописанными функциями вообще интересно. Содержимое Item'а выглядит так (хромой Item находится на DataFooter'е относящимся к DataBand1):
Quote
Всего повреждено $S{
var res = "____________";
var n = SUM($D{corruptedsealsmodel.Counter},"DataBand1");
var counter = COUNT($D{corruptedsealsmodel.Counter},"DataBand1") ;

if(counter != 0)
{
res =n;
}
res;
} штук.

Самое интересное, если туда же добавить еще один Item, содержащий функцию SUM,
Quote
$S{var n = SUM($D{corruptedsealsmodel.Counter},"DataBand1");
n;
}
то обработка проходит правильно - как в одном, так и во втором Item'e!

Забыл сказать, количество строк в выводимой таблице больше нуля.
« Last Edit: April 04, 2019, 04:27:48 PM by ldir »

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 992
    • View Profile
Re: Вопросы новичка
« Reply #243 on: April 04, 2019, 04:29:37 PM »
ldir, А ветка какая master или develop?

ldir

  • Jr. Member
  • **
  • Posts: 72
    • View Profile
Re: Вопросы новичка
« Reply #244 on: April 04, 2019, 04:30:32 PM »
Arin Alex, девелоп. Если важно, то данные передаются через модель.

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 992
    • View Profile
Re: Вопросы новичка
« Reply #245 on: April 04, 2019, 04:38:21 PM »
ldir, Страно, у себя проверяю вот такой скрипт
Code: [Select]
Всего повреждено $S{
var res = "_____";
var c = COUNT($D{test.2},"DataBand1"); 
var s = SUM($D{test.2},"DataBand1")
if  (c !=0) {
  res = s;
} else {
  res;
}
} штук
и отрабатывает нормально
« Last Edit: April 04, 2019, 04:42:19 PM by Arin Alex »

ldir

  • Jr. Member
  • **
  • Posts: 72
    • View Profile
Re: Вопросы новичка
« Reply #246 on: April 04, 2019, 04:43:50 PM »
Извиняюсь, но пока решается текущий вопрос хочу уточнить такой момент (может конечно где-то на форуме есть ответ, но найти не могу): если где-нибудь в скрипте какого-либо Item'а была определена переменная, например, qwe и ей было присвоено значение, то в любом другом нижеследующем Item'e (даже на другой странице) эта переменная будет доступна. Это так должно быть? Или это баг?

ldir

  • Jr. Member
  • **
  • Posts: 72
    • View Profile
Re: Вопросы новичка
« Reply #247 on: April 04, 2019, 04:47:07 PM »
У меня тот же код:

Code: [Select]
Всего повреждено $S{
var res = "_____";
var c = COUNT($D{corruptedsealsmodel.Counter},"DataBand1"); 
var s = SUM($D{corruptedsealsmodel.Counter},"DataBand1")
if  (c !=0) {
  res = s;
} else {
  res;
}
} штук

выдает это: Всего повреждено ReferenceError: Can't find variable: s штук

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 992
    • View Profile
Re: Вопросы новичка
« Reply #248 on: April 04, 2019, 04:49:06 PM »
Скриптовый контекст один на весь отчет, благодаря этому можно в инит скрипте объявить функции и юзать во всех айтемах.
Можете взять крайнюю версию и я вам на проверку свой отчет заброшу ?

ldir

  • Jr. Member
  • **
  • Posts: 72
    • View Profile
Re: Вопросы новичка
« Reply #249 on: April 04, 2019, 04:54:56 PM »
Arin Alex, понял.
Да, конечно. Я через час-полтора буду дома и проверю. Без вашей помощи проблему не решу, сам часа 2 бился. Уже в себе сомневаться начал.

ldir

  • Jr. Member
  • **
  • Posts: 72
    • View Profile
Re: Вопросы новичка
« Reply #250 on: April 04, 2019, 06:21:37 PM »
Еще раз попробовал дома в последней девелоп версии. Те же яйца. Жду Ваш отчет для теста.

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 992
    • View Profile
Re: Вопросы новичка
« Reply #251 on: April 04, 2019, 06:44:22 PM »
ldir, Я нашел проблему :) Просто на 5.12 её уже нет :) Сейчас поправлю пушнусь

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 992
    • View Profile
Re: Вопросы новичка
« Reply #252 on: April 04, 2019, 07:00:52 PM »
ldir, Все, можно забирать :)
« Last Edit: April 04, 2019, 07:18:49 PM by Arin Alex »

ldir

  • Jr. Member
  • **
  • Posts: 72
    • View Profile
Re: Вопросы новичка
« Reply #253 on: April 04, 2019, 09:42:10 PM »
Arin Alex, большое спасибо. Теперь работает.

ldir

  • Jr. Member
  • **
  • Posts: 72
    • View Profile
Re: Вопросы новичка
« Reply #254 on: April 04, 2019, 10:00:39 PM »
Только ватермарка где-то потерялась...