Хранилища Subversion OpenInventory

Редакция

Редакция 230 | Редакция 233 | К новейшей редакции | Весь файл | Не учитывать пробелы | Содержимое файла | Авторство | Последнее изменение | Открыть журнал | RSS

Редакция 230 Редакция 231
Строка 1217... Строка 1217...
1217
    icon_field_index = q.record().indexOf(tr("Icon"));
1217
    icon_field_index = q.record().indexOf(tr("Icon"));
1218
1218
1219
    int k=0;
1219
    int k=0;
1220
    QStringList fieldsNamesList;// ñïèñîê èì¸í ïîëåé òàáëèöû
1220
    QStringList fieldsNamesList;// ñïèñîê èì¸í ïîëåé òàáëèöû
1221
    QList<TField> FieldsList; //ñïèñîê ïîëåé êëàññà
1221
    QList<TField> FieldsList; //ñïèñîê ïîëåé êëàññà
1222
-
 
-
 
1222
    QMap<QString, TField> fieldsMap;// çäåñü áóäåì â êà÷åñòâå êëþ÷åé õðàíèòü èìåíà ïîëåé, à â êà÷åñòâå çíà÷åíèé - íåïîñðåäñòâåííî ñîîòâåòñòâóþùèå ïîëÿ
-
 
1223
    QMap <QString, QString> fieldsValues;// çäåñü áóäåì õðàíèòü çíà÷åíèÿ ïîëåé, êëþ÷àìè áóäóò ñëóæèòü èìåíà ïîëåé
1223
     FieldsList = getFieldList(classID); // ïîëó÷àåì ñïèñîê ïîëåé
1224
     FieldsList = getFieldList(classID); // ïîëó÷àåì ñïèñîê ïîëåé
1224
1225
1225
1226
-
 
1227
-
 
1228
-
 
1229
1226
     if(FieldsList.count()>0){
1230
     if(FieldsList.count()>0){
1227
                                for(int i=0; i < FieldsList.count(); i++){ //ñîñòàâèì ïàðû (èìÿ ïîëÿ-òèï ïîëÿ)
1231
                                for(int i=0; i < FieldsList.count(); i++){ //ñîñòàâèì ïàðû (èìÿ ïîëÿ-òèï ïîëÿ)
1228
                                                                            fieldsTypesList.insert(FieldsList.at(i).FieldName, FieldsList.at(i).FieldType);
1232
                                                                            fieldsTypesList.insert(FieldsList.at(i).FieldName, FieldsList.at(i).FieldType);
-
 
1233
                                                                            fieldsMap.insert(FieldsList.at(i).FieldName, FieldsList.at(i));
1229
                                                                         }
1234
                                                                         }
1230
1235
1231
                              // fieldsNamesList = fieldsTypesList.keys(); // ïîëó÷èì ñïèñîê èìåí ïîëåé
1236
                              // fieldsNamesList = fieldsTypesList.keys(); // ïîëó÷èì ñïèñîê èìåí ïîëåé
1232
                              }
1237
                              }
1233
1238
Строка 1331... Строка 1336...
1331
                    if(advanced && (fieldsNamesList.count()>0)){ // åñëè îò÷åò ðàñøèðåííûé
1336
                    if(advanced && (fieldsNamesList.count()>0)){ // åñëè îò÷åò ðàñøèðåííûé
1332
1337
1333
                        QString tmp_string;
1338
                        QString tmp_string;
1334
                        sql_str.clear();
1339
                        sql_str.clear();
1335
1340
-
 
1341
                    // // //    QTextTable *table = cursor->insertTable(fieldsNamesList.count()-2, 2);// ñîçäàäèì òàáëèöó äëÿ ïîëåé êëàññà, êðîìå ïåðâûõ äâóõ (ID è íàçâàíèå îáúåêòà)
-
 
1342
-
 
1343
-
 
1344
-
 
1345
                        /************************
1336
                        QTextTable *table = cursor->insertTable(fieldsNamesList.count()-2, 2);// ñîçäàäèì òàáëèöó äëÿ ïîëåé êëàññà, êðîìå ïåðâûõ äâóõ (ID è íàçâàíèå îáúåêòà)
1346
                        QTextTable *table = cursor->insertTable(fieldsNamesList.count(), 2);// ñîçäàäèì òàáëèöó äëÿ ïîëåé êëàññà, êðîìå ïåðâûõ äâóõ (ID è íàçâàíèå îáúåêòà)
-
 
1347

-
 
1348
                        ************************/
-
 
1349
-
 
1350
-
 
1351
-
 
1352
-
 
1353
-
 
1354
1337
1355
-
 
1356
-
 
1357
-
 
1358
1338
     //                   cursor->insertText(tr("Ïðîâåðêà òàáëèöû"));
1359
                        //                   cursor->insertText(tr("Ïðîâåðêà òàáëèöû"));
1339
1360
1340
1361
1341
                      //  *cursor = table->cellAt(0,1).firstCursorPosition();
1362
                      //  *cursor = table->cellAt(0,1).firstCursorPosition();
1342
                      //  cursor->insertText(tr("Ïðîâåðêà òàáëèöû 2"));
1363
                      //  cursor->insertText(tr("Ïðîâåðêà òàáëèöû 2"));
1343
                      //  *cursor = table->cellAt(1,1).lastCursorPosition();
1364
                      //  *cursor = table->cellAt(1,1).lastCursorPosition();
Строка 1354... Строка 1375...
1354
1375
1355
                        //table->cellAt(2,2).firstCursorPosition().insertText(tr("4"));
1376
                        //table->cellAt(2,2).firstCursorPosition().insertText(tr("4"));
1356
                   //     cursor->insertText(tr("1 \t 2"));
1377
                   //     cursor->insertText(tr("1 \t 2"));
1357
                   //      cursor->insertText(tr("3 \t 4"));
1378
                   //      cursor->insertText(tr("3 \t 4"));
1358
1379
-
 
1380
                        for(int i=0; i < fieldsNamesList.count(); i++)
-
 
1381
                                {
-
 
1382
-
 
1383
-
 
1384
                            if (fieldsNamesList.at(i)== tr("Icon") || fieldsNamesList.at(i)== tr("ID")) {   tmp_string = tr("íå âîçìîæíî îòîáðàçèòü");
-
 
1385
                                                                        continue;
-
 
1386
                                                                    }
-
 
1387
-
 
1388
                                        QString fieldType;
-
 
1389
                                        fieldType = fieldsTypesList.value(fieldsNamesList.at(i)); //îïðåäåëÿåì òèï ïîëÿ
-
 
1390
                                        if(fieldType == tr("pointer")) // åñëè òèï ïîëÿ - óêàçàòåëü
-
 
1391
                                                     {
-
 
1392
                                                        QSqlQuery q_tmp;
-
 
1393
                                                        QString sql_str;
-
 
1394
                                                 //       QString val_str;
-
 
1395
                                                         QString parent_class_id;// èäåíòèôèêàòîð êëàññà, íà îáúåêòû êîòîðîãî ññûëàåòñÿ ïîëå
-
 
1396
                                                         QString parent_class_inctance; // õðàíèëèùå îáúåêòîâ ðîäèòåëüñêîãî êëàññà
-
 
1397
                                                         bool ok;
-
 
1398
                                                         TField field_tmp;
-
 
1399
                                                         field_tmp = fieldsMap.value(fieldsNamesList.at(i));
-
 
1400
                                                         parent_class_id = field_tmp.DefaultValue;
-
 
1401
                                                         if  (parent_class_id.isEmpty()) continue; // íå ñìîãëè îïðåäåëèòü id ðîäèòåëüñêîãî êëàññà
-
 
1402
                                                         else parent_class_inctance = getClassInctance(parent_class_id);
-
 
1403
                                                         if  (parent_class_inctance.isEmpty()) continue; // íå ñìîãëè îïðåäåëèòü id ðîäèòåëüñêîãî êëàññà
-
 
1404
                                                         sql_str = tr("select * from `");
-
 
1405
                                                         sql_str.append(parent_class_inctance);
-
 
1406
                                                         sql_str.append(tr("` where `ID` = '"));
-
 
1407
                                                         sql_str.append(q.record().value(i).asString());
-
 
1408
                                                         sql_str.append(tr("'"));
-
 
1409
                                                         ok = q_tmp.prepare(sql_str);
-
 
1410
                                                         ok = q_tmp.exec();
-
 
1411
-
 
1412
                                                         if (!ok) {
-
 
1413
                                                                                 QString debug_str;
-
 
1414
                                                                                 debug_str.append(tr("ôóí showObjects(): Database Error "));
-
 
1415
                                                                                 debug_str.append(tr(" õð: "));
-
 
1416
                                                                                 debug_str.append(inctance);
-
 
1417
                                                                                 debug_str.append(tr(" ô: "));
-
 
1418
                                                                                 debug_str.append(filtr);
-
 
1419
                                                                                 debug_str.append(q.lastError().text());
-
 
1420
                                                                                 QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå.
-
 
1421
                                                                                                                                 this,                      // Ðîäèòåëüñêèé âèäæåò.
-
 
1422
                                                                                                                                 QObject::tr("ôóíêöèÿ showObjects(): Database Error"),   // Çàãîëîâîê.
-
 
1423
                                                                                                                                 debug_str
-
 
1424
                                                                                                                                // q.lastError().text()
-
 
1425
                                                                                                                                  );          // Òåêñò ñîîáùåíèÿ.
-
 
1426
                                                                                                                                 return;
-
 
1427
                                                                          }
-
 
1428
-
 
1429
                                                         tmp_string.clear();
-
 
1430
                                                         while (q_tmp.next()){
-
 
1431
                                                                            tmp_string = q_tmp.record().value(1).asString();
-
 
1432
-
 
1433
                                                                        }
-
 
1434
-
 
1435
                                                         fieldsValues.insert(fieldsNamesList.at(i), tmp_string);// äîáàâëÿåì çíà÷åíèå â ñïèñîê çíà÷åíèé
-
 
1436
-
 
1437
                                                         continue;// ïåðåõîäèì  ê ñëåäóþùåé èíòåðàöèè
-
 
1438
-
 
1439
                                                     } // äàëüøå åñëè òèï ïîëÿ íå pointer
-
 
1440
-
 
1441
                                        if(fieldType == tr("file")){ // åñëè òèï ïîëÿ - ôàéë, íå áóäåì îòîáðàæàòü
-
 
1442
-
 
1443
                                                                            tmp_string = tr("íå âîçìîæíî îòîáðàçèòü");
-
 
1444
                                                                            continue;
-
 
1445
-
 
1446
                                                                    }
-
 
1447
-
 
1448
                                        tmp_string = q.record().value(i).asString(); // ýòî íå èêîíêà, íå ôàéë è íå ïîëå-óêàçàòåëü, ïðîñòî îòîáðàæàåì çíà÷åíèå
-
 
1449
                                        fieldsValues.insert(fieldsNamesList.at(i), tmp_string);// äîáàâëÿåì çíà÷åíèå â ñïèñîê çíà÷åíèé
-
 
1450
-
 
1451
-
 
1452
                                    }
-
 
1453
-
 
1454
-
 
1455
-
 
1456
-
 
1457
-
 
1458
-
 
1459
                        QTextTable *table = cursor->insertTable(fieldsValues.count(), 2);// ñîçäàäèì òàáëèöó äëÿ ïîëåé êëàññà, êðîìå ïåðâûõ äâóõ (ID è íàçâàíèå îáúåêòà)
-
 
1460
                         for(int i=0; i < fieldsValues.count(); i++){ // ïðîïóñòèì ïîëÿ: ID è ïîëå, ñîäåðæàùåå èìÿ îáúåêòà (îíî è òàê óæå îòîáðàæåíî)
-
 
1461
                                                                         QStringList keys_list = fieldsValues.keys();
-
 
1462
                                                                         QStringList values_list = fieldsValues.values();
-
 
1463
                                                                        *cursor = table->cellAt(i,0).firstCursorPosition();// ñòðîêà i-òàÿ, ñòîëáåö ïåðâûé
-
 
1464
                                                                        cursor->insertText(keys_list.at(i));//ñþäà çàíîñèì èìÿ ïîëÿ
-
 
1465
                                                                        *cursor = table->cellAt(i,1).firstCursorPosition();// ñòðîêà i-òàÿ, ñòîëáåö âòîðîé
-
 
1466
                                                                        cursor->insertText(values_list.at(i));//ñþäà çàíîñèì èìÿ ïîëÿ
-
 
1467
                                                                    }
-
 
1468
-
 
1469
                         cursor->movePosition(QTextCursor::End);//âûõîäèì èç òàáëèöû
-
 
1470
                         cursor->insertText( tr("\n"));
-
 
1471
-
 
1472
-
 
1473
-
 
1474
/******************************
-
 
1475

-
 
1476
                        table = cursor->insertTable(fieldsNamesList.count(), 2);// ñîçäàäèì òàáëèöó äëÿ ïîëåé êëàññà, êðîìå ïåðâûõ äâóõ (ID è íàçâàíèå îáúåêòà)
1359
1477

1360
                        for(int i=2; i < fieldsNamesList.count(); i++){ // ïðîïóñòèì ïîëÿ: ID è ïîëå, ñîäåðæàùåå èìÿ îáúåêòà (îíî è òàê óæå îòîáðàæåíî)
1478
                        for(int i=2; i < fieldsNamesList.count(); i++){ // ïðîïóñòèì ïîëÿ: ID è ïîëå, ñîäåðæàùåå èìÿ îáúåêòà (îíî è òàê óæå îòîáðàæåíî)
1361
                    //    if (i !=icon_field_index) tmp_string = q.record().value(i).asString(); // åñëè ýòî íå èêîíêà, òî ñ÷èòûâàåì çíà÷åíèå êàê ñòðîêó
1479
                    //    if (i !=icon_field_index) tmp_string = q.record().value(i).asString(); // åñëè ýòî íå èêîíêà, òî ñ÷èòûâàåì çíà÷åíèå êàê ñòðîêó
1362
                        if (i !=icon_field_index) tmp_string = q.record().value(i).asString(); // åñëè ýòî íå èêîíêà, òî ñ÷èòûâàåì çíà÷åíèå êàê ñòðîêó
1480
                        if (i !=icon_field_index) tmp_string = q.record().value(i).asString(); // åñëè ýòî íå èêîíêà, òî ñ÷èòûâàåì çíà÷åíèå êàê ñòðîêó
1363
1481

Строка 1373... Строка 1491...
1373
                                                        cursor->insertText(tmp_string);//ñþäà çíà÷åíèå ïîëÿ
1491
                                                        cursor->insertText(tmp_string);//ñþäà çíà÷åíèå ïîëÿ
1374
                                                      //  cursor->insertText( tr("\n"));
1492
                                                      //  cursor->insertText( tr("\n"));
1375
                                                    }
1493
                                                    }
1376
1494

1377
                       ////     }
1495
                       ////     }
-
 
1496

-
 
1497

-
 
1498

-
 
1499

-
 
1500

-
 
1501

-
 
1502

-
 
1503

-
 
1504

-
 
1505

1378
                        cursor->movePosition(QTextCursor::End);//âûõîäèì èç òàáëèöû
1506
                        cursor->movePosition(QTextCursor::End);//âûõîäèì èç òàáëèöû
1379
                        cursor->insertText( tr("\n"));
1507
                        cursor->insertText( tr("\n"));
-
 
1508

-
 
1509
                        *********************************/
-
 
1510
1380
                    }
1511
                    }
1381
1512
1382
1513
1383
1514
1384
                    /********************************************************
1515
                    /********************************************************