Проблема в табличной части

Общий форум

Модератор: app

Re: Проблема в табличной части

Сообщение Шалопай » Вт дек 01, 2009 3:07 pm

Ё поролон менеджер выписывает счет в 30-40 позиций и ананас подсчитывает не правильно сумму. ХХХХХХХЕЕЕЕЕЕЕЕЕЕЕЕЕЕЛЛЛЛЛЛЛЛЛЛЛЛЛПППППППППППППП
где чего глючит. Проблемму с адресацией строк не решили до сих пор!!!!!!!!!!!
Шалопай
 
Сообщения: 14
Зарегистрирован: Ср фев 25, 2009 8:23 am

Re: Проблема в табличной части

Сообщение anton » Вт дек 01, 2009 9:31 pm

Шалопай писал(а):Ё поролон менеджер выписывает счет в 30-40 позиций и ананас подсчитывает не правильно сумму. ХХХХХХХЕЕЕЕЕЕЕЕЕЕЕЕЕЕЛЛЛЛЛЛЛЛЛЛЛЛЛПППППППППППППП
где чего глючит. Проблемму с адресацией строк не решили до сих пор!!!!!!!!!!!

Не кричите, юноша.
Очевидно разработчикам некогда.
Давайте разберёмся. Я вот из ваших путаных описаний таки не понял. Подсчитывается сумма колонки или сумма есть произведение цены на количество??
Скачал БС, сегодня гляну.
anton
 
Сообщения: 137
Зарегистрирован: Сб фев 28, 2009 9:00 pm
Откуда: Иркутск

Re: Проблема в табличной части

Сообщение anton » Вт дек 01, 2009 9:54 pm

Не могу воспроизвести проблему, просьба описать пошагово действия приводящие к неверному результату
anton
 
Сообщения: 137
Зарегистрирован: Сб фев 28, 2009 9:00 pm
Откуда: Иркутск

Re: Проблема в табличной части

Сообщение anton » Вт дек 01, 2009 10:00 pm

Да, возможно проблема воспроизводится только на той версии Ананаса, которая установлена у Вас, так что и её (дистрибутив ананаса прикрепите). Как вариант можно посоветовать для начала обновиться. Естественно предварительно забакапив базы.
anton
 
Сообщения: 137
Зарегистрирован: Сб фев 28, 2009 9:00 pm
Откуда: Иркутск

Re: Проблема в табличной части

Сообщение Шалопай » Ср дек 02, 2009 9:01 am

По поводу отсутствия времени отмазка не выглядит убедительной пишу с 5ого июня.

Основная проблема состоит в неправильной адресации строк. Данную проблему я описывал в предыдущих постах: сумма по товару выводится в строке выше или ниже. Данная проблема возникает при редактировании и удалении строк счета.
В офисе стоят 7 компов с ананасом с разными версиями ананаса и разными система как линукс, так и винда.

В последнее время начала возникать ошибка с подсчетом общей суммы по счету. Воспроизвести пока мне лично не удалось(но ошибка имеет место быть).
Шалопай
 
Сообщения: 14
Зарегистрирован: Ср фев 25, 2009 8:23 am

Re: Проблема в табличной части

Сообщение anton » Ср дек 02, 2009 7:04 pm

Шалопай писал(а):По поводу отсутствия времени отмазка не выглядит убедительной пишу с 5ого июня.

Это свободное программное обеспечение и вам никто не мешает исправить проблему самому, разработчики ничего вам не должны. Впрочем я не разработчик (по крайней мере не официальный).

Шалопай писал(а):Основная проблема состоит в неправильной адресации строк. Данную проблему я описывал в предыдущих постах: сумма по товару выводится в строке выше или ниже. Данная проблема возникает при редактировании и удалении строк счета.
В офисе стоят 7 компов с ананасом с разными версиями ананаса и разными система как линукс, так и винда.

В последнее время начала возникать ошибка с подсчетом общей суммы по счету. Воспроизвести пока мне лично не удалось(но ошибка имеет место быть).

Ещё раз прошу пошагово описать как возникает ошибка. Пример:
1. Открываю сохранённый документ.
2. Меняю количество в строке 2, нажимаю ентер
3. Сумма меняется в строке 1

Вот это пошаговое описание проблемы (и то лажовое), а то что вы пишите - галиматья. Для того чтобы получить ответ - надо уметь задать вопрос.
anton
 
Сообщения: 137
Зарегистрирован: Сб фев 28, 2009 9:00 pm
Откуда: Иркутск

Re: Проблема в табличной части

Сообщение SergS » Чт дек 03, 2009 12:39 am

Шалопай писал(а):По поводу отсутствия времени отмазка не выглядит убедительной пишу с 5ого июня.

Основная проблема состоит в неправильной адресации строк. Данную проблему я описывал в предыдущих постах: сумма по товару выводится в строке выше или ниже. Данная проблема возникает при редактировании и удалении строк счета.
В офисе стоят 7 компов с ананасом с разными версиями ананаса и разными система как линукс, так и винда.

В последнее время начала возникать ошибка с подсчетом общей суммы по счету. Воспроизвести пока мне лично не удалось(но ошибка имеет место быть).


Возможно проблема в сервере БД.
http://www.mysql.ru/docs/man/OPTIMIZE_TABLE.html
решается так:
после удаления выполнить:
Код: Выделить всё
var sql = new SQL();
sql.ExecQuery(" OPTIMIZE TABLE `имя_таблицы_в_базе_данных`");

тогда последующие вставки пройдут корректно.
Обратите внимание: во время работы OPTIMIZE TABLE таблица заблокирована!
Сергей
SergS
 
Сообщения: 15
Зарегистрирован: Вт фев 24, 2009 7:00 pm

Re: Проблема в табличной части

Сообщение Шалопай » Пн дек 07, 2009 9:18 am

memberlist.php?mode=viewprofile&u=92

Проблема возникает после последовательности: добавление строки , добавление строки, добавление строки, удаление строки 2, добавление строки , удаление строки 1 итд итп
Точного алгоритма описать нельзя ибо ошибка возникает каждый раз в разное время.

memberlist.php?mode=viewprofile&u=56

Спасибо скорее всего возникает как раз из-за этого.

добавил данный код в функцию, но пока ничего не изменилось! Ихмо эта функция должна распологаться в описании события происходящего при нажатии кнопки del. Подскажите где оно располагается? Или где лучше расположить данную функцию?
Код: Выделить всё
function on_tabupdate(row,col,tname) // вызывается при изменении значения ячейки (row,col) таблицы с именем tname 
{
    var sql = new SQL();
      sql.ExecQuery(" OPTIMIZE TABLE tname");
    if(tname!="wDBTable1" )
             return;

    var count = TabCount(tname);
    var i;
    var sum_zakup = 0;
    var zakup= 0;
    var kol_vo_idx = ColIndex(tname,"Кол-во"); // индекс столбца `Кол-во'
    var cena_idx = ColIndex(tname,"Цена"); // индекс столбца `Цена закуп.'
    var cena_prod_idx = ColIndex(tname,"Цена отпуск.");// индекс столбца `Цена отпуск.'
    zakup = parseFloat(TabValue(tname,row,kol_vo_idx))*parseFloat(TabValue(tname,row,cena_idx)); // подсчет суммы закуп.
 
    SetTabValue(tname,"Сумма", row, ConvertNumber2MoneyFormat(zakup)); // запись значения суммы закуп. в таблицу cуммы отпуск.
   
    for(i=0; i<count;i++) // расчет общих сумм по таблице
    {
                sum_zakup+= parseFloat(TabValue(tname,i,ColIndex(tname,"Сумма")));
    }
    SetValue("lineEdit1",sum_zakup); // запись общей суммы закупленных товаров в lineEdit, расположенный под таблицей
}
Шалопай
 
Сообщения: 14
Зарегистрирован: Ср фев 25, 2009 8:23 am

Re: Проблема в табличной части

Сообщение SergS » Пн дек 07, 2009 10:33 pm

sql.ExecQuery(" OPTIMIZE TABLE `имя_таблицы_в_базе_данных`"); - это SQL запрос. Вы должны указать имя таблицы в БД SQL сервера, а не обращаться к объекту. Как получить имя таблицы с помощью скрипта почитайте http://ananas.su/docs/api/index.html (сразу не скажу, не очень помню), но можно просто посмотреть и в БД. Примерно это выглядит так (ЭТО ПРИМЕР):
Код: Выделить всё
sql.ExecQuery(" OPTIMIZE TABLE `dt588_722`");
имя таблицы должно быть в кавычках.
При удаления строки wDBTable посылает сигнал deleteLine (QSqlRecord *rec )
http://ananas.su/docs/api/classwDBTable.html#89b953c06bdcf0a998dfbbba1f0b07fa , можно отловить его.
Сергей
SergS
 
Сообщения: 15
Зарегистрирован: Вт фев 24, 2009 7:00 pm

Re: Проблема в табличной части

Сообщение Шалопай » Вт дек 08, 2009 9:18 am

Нашел вот такой метод, только не могу понять чего писать в аргументах помогите:

QString aDatabase::tableDbName ( aCfg & md,
aCfgItem context
) [static]

Вспомогательный метод. Возвращает имя sql таблицы для объекта метаданных.

См. также:
tableDbName( aCfg &md, aCfgItem context, long * tid )

Аргументы:
md (in) - дерево метаданных.
context (in) - объект метаданных

Возвращает:
имя таблицы в базе данных

Перекрестные ссылки tableDbName().
Шалопай
 
Сообщения: 14
Зарегистрирован: Ср фев 25, 2009 8:23 am

Пред.След.

Вернуться в Общий форум

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

cron