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


Номер договора только после сохранения


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

#1 Dinara

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

  • Пользователи
  • PipPipPip
  • 527 сообщений
  • Пол:Женщина
  • Город:Уфа

Отправлено 09 Сентябрь 2013 - 14:24

В данный момент следующая ситуация-если создавать договор из категории "Договора", то номер подставляется только после сохранения.
Если же из карточки контрагента доп.действием-то сразу проставляется.
Необходимо, чтобы при формировании договора из контрагента-номер не проставлялся.
Доп.действие следующее
$schet['Компания'] = $ID;
$schet['Сотрудник'] = $user['id'];
$schet['Группа доступа'] = $group_id['id'];
$new_id = insert_query($schet, "Договор");
echo "<script>location.href='".$config["site_root"]."/view_line.php?table=78&line=".$new_id."&edit_mode&back_url=".$base64_current_url."'</script>";
}
В тех.поддержке подсказали:
1. В доп. действии на создание договора необходимо вбить в массив пустое значение для поля "Номер договора" примерно так
$schet['Номер договора'] = '';

2. Необходимо создать вычисление с примерно следующим кодом

if ($event['is_new_line'])
{
код
}

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

С первой частью понятно, а кто-нибудь может подсказать как разобраться со второй?)

#2 Гость_Roman_*

  • Гости

Отправлено 10 Сентябрь 2013 - 10:30

Здесь вполне достаточно только первой части. Принудительно устанавливаете $schet['Номер договора'] = 0; и после этого автонумерация не должна сработать. Однако, при сохраниении договора, необходимо будет поменять номер вычислением.

#3 Dinara

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

  • Пользователи
  • PipPipPip
  • 527 сообщений
  • Пол:Женщина
  • Город:Уфа

Отправлено 10 Сентябрь 2013 - 10:51

Ну вот как поменять номер после сохранения,чтобы следующий по списку был?))

#4 Гость_Roman_*

  • Гости

Отправлено 10 Сентябрь 2013 - 11:44

if ($line['Номер'] == 0)
  {
    $max_num_res = data_select_field($table['id'], "MAX(`f1234`) AS `max_num`");
    $max_num_row = sql_fetch_assoc($max_num_res);
    $line['Номер'] = intval($max_num_row['max_num']) + 1;
  }
Где f1234 - id поля "Номер".





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

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