1
Вычмсления в одной таблице.
Автор Feaire, 15 нояб. 2015 14:43
Сообщений в теме: 11
#1
Отправлено 15 Ноябрь 2015 - 14:43
Добрый день.
Создаю таблицы где я вывожу связсь с раздела счета -оплаченно (она у меня включает НДС.), так вот это связь хотим выводить как оплаченно без НДС а так же сделать дополнительую ячейку где будем переодится смма в ЕВРО по курсу скажим который мы укажем.
Каким образом это сделать?
Создаю таблицы где я вывожу связсь с раздела счета -оплаченно (она у меня включает НДС.), так вот это связь хотим выводить как оплаченно без НДС а так же сделать дополнительую ячейку где будем переодится смма в ЕВРО по курсу скажим который мы укажем.
Каким образом это сделать?
#2
Отправлено 15 Ноябрь 2015 - 14:50
Так тут понял, вопрос теперь в дргом.
Как сделать ячеку которая будет считать сумму всех записией из подченной таблицы?
К примеры я вывел пять счетов в поддеченную таблицу и хочу в главную вывести общею сумму?
Как сделать ячеку которая будет считать сумму всех записией из подченной таблицы?
К примеры я вывел пять счетов в поддеченную таблицу и хочу в главную вывести общею сумму?
Сообщение отредактировал Feaire: 15 Ноябрь 2015 - 15:20
#3
Отправлено 15 Ноябрь 2015 - 22:20
Для того что бы было понятно, что нужно, прилогаю скрин.
У меня есть две так сказать табоицы
Первая отчет финансовый а в ней открыте счета.
В таблице открыте счета я вывожу счета те кторые мне нужно выбирая по номеру счета и вывожу связи.
Далее в главное таблице я хочу сделать что бы в граффе Всего оплаченно выводилась сумма ЕВРО ОПЛАЧЕННО.
И конечно при добавлении или удалии записей сумма менялось в зависимости от кличесвто.
У меня есть две так сказать табоицы
Первая отчет финансовый а в ней открыте счета.
В таблице открыте счета я вывожу счета те кторые мне нужно выбирая по номеру счета и вывожу связи.
Далее в главное таблице я хочу сделать что бы в граффе Всего оплаченно выводилась сумма ЕВРО ОПЛАЧЕННО.
И конечно при добавлении или удалии записей сумма менялось в зависимости от кличесвто.
#4
Отправлено 16 Ноябрь 2015 - 09:32
Примеры такого вычисления есть в документации и в стандартной конфигурации, например в таблице Позиции счета, если не ошибаюсь.
#5
Отправлено 16 Ноябрь 2015 - 10:32
Добрый день, я это нашел но не получается сделать.:
// Получаем сумму содержимого полей "Сумма" таблицы "Позиции счета", где поле "Счет" равно номеру счета.
$sqlQuery = "SELECT sum(f810) as summa FROM ".DATA_TABLE."74 WHERE status=0 AND f807='".$line['Счет']['ID']."'";
$res = sql_query($sqlQuery);
$row = sql_fetch_array($res);
$summa = $row['summa'];
// Заносим полученную сумму в поле "Сумма" родительской таблицы, обращаясь через поле связи "Счет"
$line['Счет']['Сумма'] = $summa ;
Вот это было в документации. Но как применить к моей таблице я так и не понял.
f810 - Это я так понимаю в моем случаю будет Всего оплаченно
Далее 74 это я так и непонял где посмотерть относительно моей таблицы которую я вывел.
f807 - (поле связь указывающее на счет в таблице "Позиции счета".) - вот это я тоже не понял что указвать в моем случаи, уазывать ячейку номера счета?
.$line['Счет']['ID']."'";
так же в моем случаи что именно тут заменять?
// Получаем сумму содержимого полей "Сумма" таблицы "Позиции счета", где поле "Счет" равно номеру счета.
$sqlQuery = "SELECT sum(f810) as summa FROM ".DATA_TABLE."74 WHERE status=0 AND f807='".$line['Счет']['ID']."'";
$res = sql_query($sqlQuery);
$row = sql_fetch_array($res);
$summa = $row['summa'];
// Заносим полученную сумму в поле "Сумма" родительской таблицы, обращаясь через поле связи "Счет"
$line['Счет']['Сумма'] = $summa ;
Вот это было в документации. Но как применить к моей таблице я так и не понял.
f810 - Это я так понимаю в моем случаю будет Всего оплаченно
Далее 74 это я так и непонял где посмотерть относительно моей таблицы которую я вывел.
f807 - (поле связь указывающее на счет в таблице "Позиции счета".) - вот это я тоже не понял что указвать в моем случаи, уазывать ячейку номера счета?
.$line['Счет']['ID']."'";
так же в моем случаи что именно тут заменять?
#6
Отправлено 16 Ноябрь 2015 - 11:28
f810 - Это я так понимаю в моем случаю будет Всего оплаченно
Нет, это поле в подтаблице, по которому идет суммирование, т.е. в вашем случае "Евро оплачено", как я понял. 810 - это id данного поля.
Далее 74 это я так и непонял где посмотерть относительно моей таблицы которую я вывел
А это id подтаблицы (точнее, таблицы по которой создана подтаблица, т.е. "Открытие счета"), увидеть можно в адресной строке (параметр table), когда переходите в настройки или отображение таблицы.
f807 - (поле связь указывающее на счет в таблице "Позиции счета".) - вот это я тоже не понял что указвать в моем случаи, уазывать ячейку номера счета?
Опять же, переходите в настройки таблицы "Открытие счета", и смотрите поле связи (как правило оно идет первым по порядку). 807 - это его id, а вместо 'Счет' в $line['Счет']['ID'] указываете его имя.
Нет, это поле в подтаблице, по которому идет суммирование, т.е. в вашем случае "Евро оплачено", как я понял. 810 - это id данного поля.
Далее 74 это я так и непонял где посмотерть относительно моей таблицы которую я вывел
А это id подтаблицы (точнее, таблицы по которой создана подтаблица, т.е. "Открытие счета"), увидеть можно в адресной строке (параметр table), когда переходите в настройки или отображение таблицы.
f807 - (поле связь указывающее на счет в таблице "Позиции счета".) - вот это я тоже не понял что указвать в моем случаи, уазывать ячейку номера счета?
Опять же, переходите в настройки таблицы "Открытие счета", и смотрите поле связи (как правило оно идет первым по порядку). 807 - это его id, а вместо 'Счет' в $line['Счет']['ID'] указываете его имя.
#7
Отправлено 16 Ноябрь 2015 - 12:14
Спасибо, стало более мение понятно. Однако выдает ошибку все равно.
И так вот такой код у меня теперь стал:
Но выдает такую ошибку:
Ошибка системы.
Error generated:
/home/asahyd/base.asahyd.ru/docs/include/functions1.php(549) : data_update()
/home/asahyd/base.asahyd.ru/docs/include/functions1.php(629) : form_event_recurs()
/home/asahyd/base.asahyd.ru/docs/fields.php(1916) : calc_line()
Ошибка SQL запроса:
UPDATE cb_data340 SET №='' WHERE id=1
Unknown column '№' in 'field list'
В приложении скрины из таблиц
И так вот такой код у меня теперь стал:
// Получаем сумму содержимого полей "ЕВРО ОПЛАЧЕННО" таблицы "Открытие счета", где поле "№" равно номеру счета. $sqlQuery = "SELECT sum(f5350) as summa FROM ".DATA_TABLE."350 WHERE status=0 AND f5290='".$line['№']['ID']."'"; $res = sql_query($sqlQuery); $row = sql_fetch_array($res); $summa = $row['summa']; // Заносим полученную сумму в поле "Сумма" родительской таблицы, обращаясь через поле связи "Счет" $line['№']['Всего оплаченно'] = $summa ;
Но выдает такую ошибку:
Ошибка системы.
Error generated:
/home/asahyd/base.asahyd.ru/docs/include/functions1.php(549) : data_update()
/home/asahyd/base.asahyd.ru/docs/include/functions1.php(629) : form_event_recurs()
/home/asahyd/base.asahyd.ru/docs/fields.php(1916) : calc_line()
Ошибка SQL запроса:
UPDATE cb_data340 SET №='' WHERE id=1
Unknown column '№' in 'field list'
В приложении скрины из таблиц
#8
Отправлено 16 Ноябрь 2015 - 12:38
А что за поле "№" ? По логике это должно быть поле "Связь с "Отчет финансовый"", оно и по названию подходит (такое имя генерируется автоматически при создании подтаблицы), и по порядку оно первое. Замените "№" на него.
PS: к тому же у вас в запросе стоит именно f5290, т.е. поле "Связь с "Отчет финансовый"", что правильно. Странно что потом вы используете "№".
PS: к тому же у вас в запросе стоит именно f5290, т.е. поле "Связь с "Отчет финансовый"", что правильно. Странно что потом вы используете "№".
#9
Отправлено 16 Ноябрь 2015 - 12:48
// Получаем сумму содержимого полей "ЕВРО ОПЛАЧЕННО" таблицы "Открытие счета", где поле "№" равно номеру счета. $sqlQuery = "SELECT sum(f5350) as summa FROM ".DATA_TABLE."350 WHERE status=0 AND f5290='".$line['Связь с "Отчет финансовый"']['ID']."'"; $res = sql_query($sqlQuery); $row = sql_fetch_array($res); $summa = $row['summa']; // Заносим полученную сумму в поле "Сумма" родительской таблицы, обращаясь через поле связи "Счет" $line['Связь с "Отчет финансовый"']['Всего оплаченно'] = $summa;
Однако все равно ошибка, видимо, что то не так опять идет.
Error generated:
/home/asahyd/base.asahyd.ru/docs/include/functions1.php(549) : data_update()
/home/asahyd/base.asahyd.ru/docs/include/functions1.php(629) : form_event_recurs()
/home/asahyd/base.asahyd.ru/docs/fields.php(1916) : calc_line()
Ошибка SQL запроса:
UPDATE cb_data340 SET Связь с \Отчет финансовый\='' WHERE id=1
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'с \Отчет финансовый\='' WHERE id=1' at line 1
#10
Отправлено 16 Ноябрь 2015 - 12:53
Вы вычисление в какой таблице разместили? Ошибка явственно говорит о том, что в данной таблице таких полей нет (что "№", что "Связь с "Отчет финансовый"").
Подозреваю что засунули его в таблицу "Отчет финансовый", тогда подобное вычисление должно быть в подтаблице (что очевидно, исходя из используемых в коде полей), т.е. в данном случае - в "Открытии счета".
Подозреваю что засунули его в таблицу "Отчет финансовый", тогда подобное вычисление должно быть в подтаблице (что очевидно, исходя из используемых в коде полей), т.е. в данном случае - в "Открытии счета".
#11
Отправлено 16 Ноябрь 2015 - 13:04
Могу ли я вам дать доспут что бы глянули?
Все равно, не работает, теперь ошибок нет но не сумирет.
Все равно, не работает, теперь ошибок нет но не сумирет.
#12
Отправлено 16 Ноябрь 2015 - 13:21
Я не занимаюсь проверкой вычислений, только консультацией. Проверьте еще раз все поля, суть я уже всю подсказал.
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных