Перейти к содержимому


Вычисление срабатывает два раза без явных причин

срабатывает вычисление два раза

В теме одно сообщение

#1 All_ex74

    Активный участник

  • Пользователи
  • PipPipPip
  • 138 сообщений
  • Пол:Мужчина
  • Город:Барнаул

Отправлено 13 Июнь 2014 - 11:05

Перенес "запрет" if (!$zvka) ниже выборки - ничего не поменялось, как копировалось по две записи даже при отсутствии результата в выборке, так и осталось. Залез в базу, посмотрел в таблицу cb_calc - все в порядке, код такой же. Пробовал ставить запрет рекурсива на данное вычисление - проблема пропадает, но создается куча ошибок при отработке связанных вычислений:

if ($line['Состояние'] == "Связана")
{
		$zvka = data_table("Заявки","`status`<>'2' AND `Статус`='Исполняемая' AND `Заказчик`=".$line['ID']);	
		$row = data_select_array(240, "`status`=0 AND `f3450`=", $line['Город']['ID'], " AND `f4690`=", $line['Связана по услуге']['ID'], " AND `f3530`='Свободна' AND `f6130`='0'");

		if (!$zvka)
		{
				if (!$row)
				{
						data_update(240, array('f6130'=>0), "`status`=0 AND `f3450`=", $line['Город']['ID'], " AND `f4690`=", $line['Связана по услуге']['ID']);
						$row = data_select_array(240, "`status`=0 AND `f3450`=", $line['Город']['ID'], " AND `f4690`=", $line['Связана по услуге']['ID'], " AND `f3530`='Свободна' AND `f6130`='0'");
				}
				$zvka['Город'] = $line['Город']['ID'];
				$zvka['Заказчик'] = $line['ID'];
				$zvka['Тип услуги'] = $line['Связана по услуге']['ID'];
				$zvka['Исполнитель'] = $row['id'];
				$zvka['ID'] = insert_query($zvka, "Заявки");
				data_update(240, array('f6130'=>1), "id=",$row['id']);
		}

		sendsms("Вами была сформирована заявка &#8470;".$zvka['ID']." на услугу ".$line['Связана по услуге']['ID'].". Ожидайте ответа.", $line['Телефон'], "ENU");
}


2. Мало того СМС, пришли скопом (проблема была не в коде, а со стороны агрегатора) и на каждую отправку тоже по две штуки...

#2 All_ex74

    Активный участник

  • Пользователи
  • PipPipPip
  • 138 сообщений
  • Пол:Мужчина
  • Город:Барнаул

Отправлено 14 Июнь 2014 - 12:25

Решил простановкой запрета рекурс. вызова на всех вычислениях - надолго ли. Вообще программа абсолютно сырая и живет своей жизнью. В один день вычисления срабатывают, на другой уже могут вывести ошибку, хотя изменений не проводилось. Редактор кода глючит без конца, то запишет в базу результат, то не запишет. Приходится использовать не его, а phpMyAdmin - так надёжнее. Говорю без преувеличений - почитал по форуму, понял что я не одинок во мнении..

Сообщение отредактировал All_ex74: 14 Июнь 2014 - 12:27






Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных