Минимальная дата
Автор Dinara, 14 марта 2014 11:25
Сообщений в теме: 8
#1
Отправлено 14 Март 2014 - 11:25
Есть подтаблица,куда заносятся данные
http://take.ms/y1keU
В самом контрагенте поле "первая оплата". Как его заполнить минимальным значением поля "дата п/п"?
То есть добавляются строки, идет проверка на минимальную дату..
http://take.ms/y1keU
В самом контрагенте поле "первая оплата". Как его заполнить минимальным значением поля "дата п/п"?
То есть добавляются строки, идет проверка на минимальную дату..
#2
Отправлено 14 Март 2014 - 12:13
Добавляете вычисление на изменение поля "дата п/п". В самом коде делаете запрос ко всем записям подтаблицы с фильтром по контрагенту, с выборкой минимального значения данного поля:
Затем помещаете результат в "первую оплату":
$result = data_select_field(111, "min(f222) as min_date", "f333=",$line['Поле связи с контрагентом']['ID']); // 111 - id подтаблицы, 222 - id поля "дата п/п", 333 - id поля связи с контрагентом $row = sql_fetch_assoc($result); $min_date = $row['min_date'];
Затем помещаете результат в "первую оплату":
$line['Поле связи с контрагентом']['дата п/п'] = $min_date;
#3
Отправлено 04 Апрель 2014 - 12:19
Это получилось)
А вот сделать так, чтобы при изменении поля "сумма" в подтаблице-в таблице поле "Итого" считалось как сумма этих сумм?)
Почему меня не очень устраивает вариант когда мы считаем из таблицы-потому что там он основан на "отображение поля". А если счет давнишний,на другой странице?а фильтр задают на первой?то сумма не обновится..
Такой код не подошел :
А вот сделать так, чтобы при изменении поля "сумма" в подтаблице-в таблице поле "Итого" считалось как сумма этих сумм?)
Почему меня не очень устраивает вариант когда мы считаем из таблицы-потому что там он основан на "отображение поля". А если счет давнишний,на другой странице?а фильтр задают на первой?то сумма не обновится..
Такой код не подошел :
$result = data_select_field(74, "SUM(`f2531`) AS sum", "f2681=",$line['Номер']['ID']); $row = sql_fetch_assoc($result); $line['Номер']['Итого оплачено']=$row['sum'];На изменение поля "Сумма"
#4
Отправлено 04 Апрель 2014 - 12:28
Чем именно не подошел, не понял? Вроде корректный код.
#5
Отправлено 04 Апрель 2014 - 12:29
Сейчас еще раз попытаюсь проверить и напишу
Сообщение отредактировал Dinara: 04 Апрель 2014 - 12:31
#6
Отправлено 04 Апрель 2014 - 12:33
В вычислении не учитывается отбор только активных: status=0 , возможно по этой причине (берет удаленную запись, к примеру)
#7
Отправлено 04 Апрель 2014 - 12:54
$result = data_select_field(74, "SUM(`f2531`) AS sum", "f2681=",$line['Номер']['ID']);
$row = sql_fetch_assoc($result);
$line['Номер']['Итого оплачено']=$row['sum'];
Как в таком коде корректно указать чтобы статус=0 был,подскажете?)
Или просто дописать в конце
$row = sql_fetch_assoc($result);
$line['Номер']['Итого оплачено']=$row['sum'];
Как в таком коде корректно указать чтобы статус=0 был,подскажете?)
Или просто дописать в конце
$result = data_select_field(74, "SUM(`f2531`) AS sum", "f2681=",$line['Номер']['ID'] and status=0); $row = sql_fetch_assoc($result); $line['Номер']['Итого оплачено']=$row['sum'];
Сообщение отредактировал Dinara: 04 Апрель 2014 - 13:01
#8
Отправлено 04 Апрель 2014 - 12:59
Вы правы,считает удаленные))
#9
Отправлено 04 Апрель 2014 - 13:18
$result = data_select_field(74, ' SUM(`f2531`) AS sum ', '`f2681`=',$line['Номер']['ID'],' and `status`=0'); $row = sql_fetch_assoc($result); $line['Номер']['Итого оплачено'] = $row['sum'];Все,вот так прописала))спасибо за правильную мысль!)
Количество пользователей, читающих эту тему: 3
0 пользователей, 3 гостей, 0 анонимных













