0
На рассмотрении

Скриптовый счетчик строк в таблице

Игорь Шалдин 4 года назад в Прочее обновлен 4 года назад 4

Здравствуйте.

В таблицу загружено некоторое количество строк.

Пытаюсь пронумеровать строки с помощью функции расчёта. Для этого:

1. В загружаемом модуле прописал функцию:

Counter()
{
      var CTabl=CreateObject("CurPrnTbl"); 
      int zap=CTabl.Count_Rcr();  

for(int i=0; i<zap; i++)
  {
   return i;
  }
}

2. Функция расчёта для столбца с номером строки:

 #return Counter();

При расчёте таблицы по Alt+F4 весь столбец с номерами строк заполняется начальным значением переменной i (в данном случае - нулями).

Что делаю не так?

-1
На рассмотрении

Добрый день.

Вы пишете - верни мне  значение ф-ции Counter()

Функция у вас всегда возвращает 0, т.к. в начале цикла for переменной i присваивается значение 0 -  0  и возвращается. 

Все "законно", но бессмысленно...

Чем не устроил поставочный столбец "Номер по порядку"?

Чем не устроил поставочный столбец "Номер по порядку"?

Всем устроил. Это просто пример, чтобы не тащить "в студию" то, что я на самом деле пытаюсь сваять. 

Спасибо за помощь.

На самом деле задача стоит такая:

Из внешнего источника в таблицу загружаются данные:

Столбец "Код вида работ" должен заполняться таким образом (по Alt+F4):

Если "ВС" = Cessna и "ВП" != 0, "Код вида работ" = 19

Если "ВС" = Ми-8 и "БМ" != 0, "Код вида работ" = 12

Если "ВС" = R-44 и "КВС" != 0, "Код вида работ" = 20

Далее автоматически заполнятся столбцы "Вид работ" и "Расценка": 

Т.е. мне надо определить значения полей ВС, КВС, ВП, БМ для каждой строки.

Пытаюсь сделать так:

      string vs;
double kvs, vp, bm;

var CTabl=CreateObject("CurPrnTbl");
int zap=CTabl.Count_Rcr();

for(int i=0; i<zap; i++) {
vs=CTabl.TextS("vs",i);
kvs=CTabl.TextS("kvs",i);
vp=CTabl.TextS("vp",i);
bm=CTabl.TextS("bm",i);

}

но не взлетело...

Как надо сделать правильно?

Можно закрывать тему.

Сервис поддержки клиентов работает на платформе UserEcho