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


Формирование номера заказа из даты +

номер дата

Сообщений в теме: 27

#21 max3z

    Участник

  • Пользователи
  • PipPip
  • 14 сообщений
  • Пол:Мужчина
  • Город:Balts
  • Интересы:Дизайн

Отправлено 24 Май 2013 - 20:59

Просмотр сообщенияRoman (24 Май 2013 - 11:55) писал:

Данная строка вставляет новый счёт в соответствующую таблицу. Тут необходимо поменять код доп.действия, чтобы номер счёта добавлялся сразу без участия вычисления.

Имеется ввиду перепись кода доп.действий с удалением вычислений для таблицы?
Если так, то не всегда же создается счет из доп.действия. Или я чего-то не понял?

#22 Гость_Roman_*

  • Гости

Отправлено 25 Май 2013 - 09:42

Нет, необходимо в код доп. действия добавить добавление номера. Тогда вычисление при выполнении доп. действия срабатывать не будет, а при вставке обычным способом сработает.

#23 max3z

    Участник

  • Пользователи
  • PipPip
  • 14 сообщений
  • Пол:Мужчина
  • Город:Balts
  • Интересы:Дизайн

Отправлено 25 Май 2013 - 11:12

Просмотр сообщенияRoman (25 Май 2013 - 09:42) писал:

Нет, необходимо в код доп. действия добавить добавление номера. Тогда вычисление при выполнении доп. действия срабатывать не будет, а при вставке обычным способом сработает.

Как уж я не извращался, ничего не получается. срабатывают оба вычисления :(

-доп действие "компании"
$schet['На кого'] = $ID;
$new_id = insert_query($schet, "Счета");
echo "<script>location.href='".$config["site_root"]."/view_line.php?table=43&line=".$new_id."&edit_mode&back_url=".$base64_current_url."'</script>";

if (!$line['Номер'])
  {
    $result = data_select_field(43, "COUNT(*) AS `cnt`", "`status`=0 and `add_time`>='",date("Y-m-d 00:00:00"),"' and `add_time`<='" ,date("Y-m-d 23:59:59"),"'");
    $row = sql_fetch_assoc($result);
    $new_cnt = $row['cnt'];
   
    if ($new_cnt == $row['cnt']) $new_cnt = $row['cnt'] + 1;
    if (strlen($new_cnt) < 2) $new_cnt = "0".$new_cnt;
   
    $line['Номер'] = date("ymd").$new_cnt;
  }

и почти то же - вычисление в счетах
if (!$line['Номер'])
  {
    $result = data_select_field(43, "COUNT(*) AS `cnt`", "`status`=0 and `add_time`>='",date("Y-m-d 00:00:00"),"' and `add_time`<='" ,date("Y-m-d 23:59:59"),"'");
    $row = sql_fetch_assoc($result);
    $new_cnt = $row['cnt']+1;
    if ($new_cnt == $row['cnt']) $new_cnt = $row['cnt'] + 1;
    if (strlen($new_cnt) < 2) $new_cnt = "0".$new_cnt;
   
    $line['Номер'] = date("ymd").$new_cnt;
  }


#24 Гость_Roman_*

  • Гости

Отправлено 25 Май 2013 - 11:18

Решение в доп. действии не совсем верное.
$schet['На кого'] = $ID;
$result = data_select_field(43, "COUNT(*) AS `cnt`", "`status`=0 and `add_time`>='",date("Y-m-d 00:00:00"),"' and `add_time`<='" ,date("Y-m-d 23:59:59"),"'");
$row = sql_fetch_assoc($result);
$new_cnt = $row['cnt'];
if ($new_cnt == $row['cnt']) $new_cnt = $row['cnt'] + 1;
if (strlen($new_cnt) < 2) $new_cnt = "0".$new_cnt;
$schet['Номер'] = date("ymd").$new_cnt;
$new_id = insert_query($schet, "Счета");

echo "<script>location.href='".$config["site_root"]."/view_line.php?table=43&line=".$new_id."&edit_mode&back_url=".$base64_current_url."'</script>";


#25 max3z

    Участник

  • Пользователи
  • PipPip
  • 14 сообщений
  • Пол:Мужчина
  • Город:Balts
  • Интересы:Дизайн

Отправлено 25 Май 2013 - 11:24

Просмотр сообщенияRoman (25 Май 2013 - 11:18) писал:

Решение в доп. действии не совсем верное.
$schet['На кого'] = $ID;
$result = data_select_field(43, "COUNT(*) AS `cnt`", "`status`=0 and `add_time`>='",date("Y-m-d 00:00:00"),"' and `add_time`<='" ,date("Y-m-d 23:59:59"),"'");
$row = sql_fetch_assoc($result);
$new_cnt = $row['cnt'];
if ($new_cnt == $row['cnt']) $new_cnt = $row['cnt'] + 1;
if (strlen($new_cnt) < 2) $new_cnt = "0".$new_cnt;
$schet['Номер'] = date("ymd").$new_cnt;
$new_id = insert_query($schet, "Счета");

echo "<script>location.href='".$config["site_root"]."/view_line.php?table=43&line=".$new_id."&edit_mode&back_url=".$base64_current_url."'</script>";

и действительно, сработало!


Спасибо!

#26 Андрей Гуляев

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

  • Пользователи
  • PipPipPip
  • 94 сообщений
  • Пол:Мужчина

Отправлено 29 Май 2013 - 01:06

Решил не создавать новую тему. У меня есть доп действие
$line['Позиция в счете'] = "Услуги звукозаписи. Заказ №".$line['ID']." от ".$line['Заказ принят']." Название ".$line['Название'];
И результат такой:
Услуги звукозаписи. Заказ №1852 от 2013-05-07 00:00:00 Название Стройпластсервис.
Как скрыть время? 00:00:00 А еще желательно перевернуть дату в привычный вид дд.мм.гггг
Спасибо!

#27 Гость_Roman_*

  • Гости

Отправлено 29 Май 2013 - 08:20

$line['Позиция в счете'] = "Услуги звукозаписи. Заказ №".$line['ID']." от ".date("d.m.Y", strtotime($line['Заказ принят']))." Название ".$line['Название'];


#28 Андрей Гуляев

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

  • Пользователи
  • PipPipPip
  • 94 сообщений
  • Пол:Мужчина

Отправлено 31 Май 2013 - 16:26

Абсолютная победа, спасибо всё чётко работает. с двойной перепроверкой. Огромное спасибо!





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

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