Страница 1 из 1
EditInPlace + DIM
Добавлено: 12 Февраль 2012, 18:06
gopstop2007
Привет всем!
Есть Browse в него добавляю поле Users SHORT,DIM(20), поле(вернее поля [...]) используется как EditInPlace, при компиляции появляются ошибки. Если отключить EIP то все компилируется без ошибок, как-то можно это обойти? Ну не хочется плодить однотипные поля.
outwaresusers FILE,DRIVER('TOPSPEED'),NAME('outwaresusers.TPS')
OUT:WaresKey KEY(+OUT:WARES),DUP,NOCASE,OPT
RECORD RECORD
OUT:NWARES SHORT
OUT:WARES STRING(60)
OUT:PRICE DECIMAL(11,4)
OUT:PRICEOut DECIMAL(11,4)
OUT:EXPENSES DECIMAL(9,2)
OUT:SumGr DECIMAL(9,2)
OUT:Users SHORT,DIM(20)
END
END
Clarion 6.3 9058 ABC (Windows XP SP3)
Спасибо за внимание!
Re: EditInPlace + DIM
Добавлено: 13 Февраль 2012, 14:41
kreator
Я так понимаю, ругается на имя метода класса, не нравятся квадратные скобки. Что делать? В 'Column Specific' на закладке 'Class' измени 'Object Name' с EditInPlace::OUT:Users[1] на EditInPlace::OUT:Users1, например. И всё покатит.
Re: EditInPlace + DIM
Добавлено: 13 Февраль 2012, 15:51
gopstop2007
Спасибо, помогло!
Век живи-век учись, и все равно умрешь дураком.

А как сделать при подсчитывании Sum(Totaling) колонок в Browse используя массив LOC:Sum SHORT,DIM(20). Ситуация схожа с вышеуказанной, но к сожалению -
kreator писал(а):... измени 'Object Name' с EditInPlace::OUT:Users[1] на EditInPlace::OUT:Users1, ...
не проходит

Re: EditInPlace + DIM
Добавлено: 13 Февраль 2012, 16:26
kreator
В закладке 'Totaling' ставишь:
Total Target Field: LOC:Sum[1]
Total Type: Sum
Field To Total: OUT:Users[1]
Total Based On: Each Record Read
Такой вариант не проходит?
Re: EditInPlace + DIM
Добавлено: 13 Февраль 2012, 17:32
gopstop2007
нет не проходит
kreator писал(а):В закладке 'Totaling' ставишь:
Total Target Field: LOC:Sum[1]
Total Type: Sum
Field To Total: OUT:Users[1]
Total Based On: Each Record Read
с полем Field To Total: OUT:Users[1] проблем нет, а вот с итоговым Total Target Field: LOC:Sum[1] проблема
Re: EditInPlace + DIM
Добавлено: 14 Февраль 2012, 11:03
kreator
Ну исправь вручную файл с расширением *.clw, на который ругается. Найди процедуру ResetFromView.
Закоментируй - ! OUT:Users[1]:Sum REAL ! Sum variable for browse totals
Напиши своё - OUT:Users1:Sum REAL ! Sum variable for browse totals
Ну и дальше по тексту тоже исправь.
Вариант №2 - поправить шаблоны, чтобы генерилась переменная без квадратных скобок.
Вариант №3 - вставить текст выше в Embeds. Только проблема - как закоментировать ненужный блок. В Clarion# есть конструкция !~ ~!. Обычный Clarion это не поддерживает.
Re: EditInPlace + DIM
Добавлено: 14 Февраль 2012, 13:24
gopstop2007
Жаль, что только так. Мда ведь вроде как стандартная ситуация, или в кларионе не любят массивы. Понятно что в ручную можно ВСЕ написать, но зачем шаблоны? Насчет закоментировать, а OMIT не подойдет?
Re: EditInPlace + DIM
Добавлено: 14 Февраль 2012, 14:54
kreator
Посмотри, в какие точки в процедуре ResetFromView ставяться нужные тебе операторы. И вставь туда сделанные вручную коды циклов.
А, вообще, понятие массива в базах данных не нужно. Все равно в Appgen'е нужно написать 20 строчек.
И последний аргумент. Когда-нибудь придется переводить Вашу программу под SQL. А там массивов нет изначально.