12.08.2005, 15:24 | #1 |
MCTS
|
Здравствуйте,
Хочется иметь такую функцию: <div class='CALtop'>C/AL</div><div class='CAL'>ЗначениеПоляТаблицыТовар(НомерТовара,НазваниеПоля) //устанавливаем фильтр по коду Если товар найден Екзит(Товар.названиеПоля)</div> Проблема в том как предобразовать переменную НазваниеПоля типа текст в тип Фиелд, т.е. одинарные кавычки заменить на парные. Может есть механизм перебора полей в таблице? Например <div class='CALtop'>C/AL</div><div class='CAL'>Пока Поле.Следующее=1 Цикл Если Поле.Название=НазваниеПоля Тогда Возврат (поле);</div> АП |
|
12.08.2005, 15:36 | #2 |
NavAx
|
Есть конечно.
Есть такая табличка, называется Field (ID 2000000041). Фильтруете ее по нужной табличке и начинаете перебирать поля.
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
12.08.2005, 15:53 | #3 |
Участник
|
Участок кода вернет значение поля
<div class='CALtop'>C/AL</div><div class='CAL'> RecRef1.GETTABLE(Item); EXIT(RecRef1.FIELD(FldNom).VALUE) </div> где Item - переменная типа record::Item RecRef1 - переменная типа RecordRef FldNom - номер поля в таблице а вот номер поля в таблице действительно можно узнать так, как предложил Дуд. Проще в вашу функцию сразу передавать не название поля, а его номер ЗЫ не тестил, но должно работать
__________________
С уваженем, rootadmin |
|
12.08.2005, 16:14 | #4 |
Участник
|
Цитата:
Сообщение от rutadmeen
Проще в вашу функцию сразу передавать не название поля, а его номер
ЗЫ не тестил, но должно работать <div class='CALtop'>C/AL</div><div class='CAL'> PROCEDURE Foo(FldNo: Integer) BEGIN CASE FldNo OF FIELDNO(<поле1>): BEGIN ... // работаем с полем номер 1 END; FIELDNO(<поле2>): BEGIN ... // работаем с полем номер 2 END; FIELDNO(<полеN>): BEGIN ... // работаем с полем номер N END; END </div> И все в шоколаде |
|
12.08.2005, 16:35 | #5 |
MCTS
|
Спасибо,
все работает. Спасибо Дуд за таблицу 2000000041. Спасибо Rutadmin за подсказку, как использовать совет Дуда Спасибо johndoe за совет описать все поля вручную :-) Хотя так наверное работать будет быстрее всего. АП |
|