конструкция .{?internal; some_field .} вв SLK

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Lavs
Посетитель
Сообщения: 30
Зарегистрирован: 29 мар 2005, 17:49

конструкция .{?internal; some_field .} вв SLK

Сообщение Lavs »

Добрый день!

Делаю SLK отчет.
необходимо в одной и той же ячейки сделать 2 проверки на существование полей.
делаю следующее: ^.{?internal; c4p1 \ .} ^.{?internal; c5p1 \ .} ^

т.е. если поле c4p1 не пусто, то вывести косую черту, и далее тоже самое с полем c5p1

Компилятор ругается на то что конструкция не верна и предлагает использовать идентификатор .?

существует ли какое-то решение, для моей задачи?

Спасибо
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

Если поля c4p1 и c5p1 строковые, может быть так:

a
.{?internal; c4p1!=''
\
.}
.{?internal; c5p1!=''
\
.}
b
в этом случае, если поля не пустые в отчет выведеться
.......
a
/
/
b
........

Зачем у Вас стоят Галки?
И вообще, я сначала отлаживаю ФРМ а потом уже его перегоняю в СЛК копированием. Проблем никогда не было.
Max_Fin
На пенсии
Сообщения: 797
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г. Тюмень
Контактная информация:

Сообщение Max_Fin »

Алексей писал(а): Зачем у Вас стоят Галки?
Очень интересная ассоциация возникла... :D
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

Max_Fin писал(а): Очень интересная ассоциация возникла... :D
:oops: - я имел в виду символы галочки :roll:
Lavs
Посетитель
Сообщения: 30
Зарегистрирован: 29 мар 2005, 17:49

Сообщение Lavs »

Спасибо всем...

еще одна заковырка в SLK.

почему, когда я делаю в присоединенной форме:

.var
ostatok:double;
.endvar

.begin ostatok:=c7p8-c7p9; end.
.fields
ostatok
.endfields
.{
^
.}

(c7p8 и c7p9 - перменные формы прототипа)
При компиляции ругается: Нет такой функции, поля или метода. Или неверный контекст использования ostatok.

где ошибка?
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

Возможно надо сделать .begin end. после объявления полей и в цикле. я так понимаю у вас ведь каждый раз будет вычисляться поле остаток?

.fields
ostatok
.endfields
.{
.begin ostatok:=c7p8-c7p9; end.
^
.}

либо в филдсах сразу написать
.fields
c7p8-c7p9
.endfields

если будет не тот результат, попробуйте написать
double(c7p8-c7p9)
Lavs
Посетитель
Сообщения: 30
Зарегистрирован: 29 мар 2005, 17:49

Сообщение Lavs »

Алексей писал(а):Возможно надо сделать .begin end. после объявления полей и в цикле. я так понимаю у вас ведь каждый раз будет вычисляться поле остаток?

.fields
ostatok
.endfields
.{
.begin ostatok:=c7p8-c7p9; end.
^
.}

либо в филдсах сразу написать
.fields
c7p8-c7p9
.endfields

если будет не тот результат, попробуйте написать
double(c7p8-c7p9)
На первый вариант оугается той же ошибкой

На второй, ошибка: не могу найти функцию subs (с указанием на double(c7p8-c7p9))
san
Местный житель
Сообщения: 412
Зарегистрирован: 28 апр 2005, 11:34
Откуда: Галактика Млечный Путь

Сообщение san »

double(c7p8)-double(c7p9)
Lavs
Посетитель
Сообщения: 30
Зарегистрирован: 29 мар 2005, 17:49

Сообщение Lavs »

san писал(а):double(c7p8)-double(c7p9)
Cпасибо.
Все заработало.
Lavs
Посетитель
Сообщения: 30
Зарегистрирован: 29 мар 2005, 17:49

Сообщение Lavs »

еще одна загвоздка.

нужно проверять значение поля на содержание нулей.
их может быть три, два или один.

т.е. что-то типа:
0bla-blah
00blah-blah
000blah-blah

в отчете нулей быть не должно.

Хотелось бы что-то типа case сделать...
Есть ли какое-нить решение?

P.S. и где можно почитать доку по Атлантису (особенно интересует стиль программирования, операторы и пр.)

Спасибо всем откликнувшимся
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

vipprog.chm в стандартной доке
atlsdk.chm если кто поделиться
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

Lavs писал(а):еще одна загвоздка.

нужно проверять значение поля на содержание нулей.
их может быть три, два или один.

Спасибо всем откликнувшимся
Если нужно что бы в отчет не выводились нулевые суммы, то ставите в шаблон &&#&&&.&&
Тогда если значение равно нулю, то в шаблон ничего не попадает.

Если же речь идёт о строках, то разными вариантами нули нужно вырезать (как символы).
Lavs
Посетитель
Сообщения: 30
Зарегистрирован: 29 мар 2005, 17:49

Сообщение Lavs »

edward_K писал(а):vipprog.chm в стандартной доке
atlsdk.chm если кто поделиться
у меня только vipprog.pdf
Галактика 7.11

можно chm версию как-то на мыло скинуть?
и atlsdk.chm тоже.

Буду очень признателен.

lavs_k@mail.ru
Lavs
Посетитель
Сообщения: 30
Зарегистрирован: 29 мар 2005, 17:49

Сообщение Lavs »

Алексей писал(а):
Lavs писал(а):еще одна загвоздка.

нужно проверять значение поля на содержание нулей.
их может быть три, два или один.

Спасибо всем откликнувшимся
Если нужно что бы в отчет не выводились нулевые суммы, то ставите в шаблон &&#&&&.&&
Тогда если значение равно нулю, то в шаблон ничего не попадает.

Если же речь идёт о строках, то разными вариантами нули нужно вырезать (как символы).
Спасибо!
Разобрался!
Maverick
Абориген
Сообщения: 943
Зарегистрирован: 29 мар 2005, 17:49
Откуда: External Developer
Контактная информация:

Сообщение Maverick »

а вообще очень поможет ф-я Replace () :-))
Изображение
Знающий людей разумен.
Знающий себя просветлён.
Побеждающий людей силен.
Побеждающий самого себя могущественнен
Ответить