Alexanderrrr когда сообщение пишите на панели есть кнопочка Х++.
Код будет смотрется лучше.
Сейчас он выглядит ужасно.
После
добавьте
Зачем мучить аксапту. Ведь вам интересно есть ли строки и что их больше 1.
А две или 10 вам уже без разницы.
Вот так же красивее.
X++:
void clicked()
{
QueryBuildDatasource pointTable;
query q;
queryBuildRange qbr;
RContractTable RContract;
ObjectTable object;
PointAccountTable pointAccount;
int c;
;
for (RContract = RContractTable_ds.getFirst(true) ? RContractTable_ds.getFirst(true) : RContractTable_ds.cursor();
RContract;
RContract = RContractTable_ds.getNext())
{
c++;
}
qbr=pointTable.findRange(FieldNum(ICLPointAccountTable,PointAccountId));
if (qbr)
{
for (RContract = RContractTable_ds.getFirst(true) ? RContractTable_ds.getFirst(true) : RContractTable_ds.cursor();
RContract;
RContract = RContractTable_ds.getNext())
{
object = RContract.joinChild();
pointAccount = object.joinChild();
qbr.value(qbr.value()+',!'+pointAccount.PointAccountId);
}
}
else
{
if (c==1)
{
qbr=pointTable.addRange(FieldNum(ICLPointAccountTable,PointAccountId));
qbr.value('!'+ICLPointAccountTable.PointAccountId);
}
else
{
qbr=pointTable.addRange(FieldNum(ICLPointAccountTable,PointAccountId));
for (RContract = RContractTable_ds.getFirst(true) ? RContractTable_ds.getFirst(true) : RContractTable_ds.cursor();
RContract;
RContract = RContractTable_ds.getNext())
{
object = RContract.joinChild();
pointAccount = object.joinChild();
qbr.value(qbr.value()+',!'+pointAccount.PointAccountId);
}
}
}
RContractTable_ds.research();
}
Раньше, когда я только начинал, ведущий у меня не принимал задачу, если отступления были не там где надо или их не было. Придирался к мелочам.
Но я с ним был согласен. Потом, смотреть как выглядит код когда уже всё готово, стало привычкой.