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


Работа с под таблицей


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

#1 rarken

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

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

Отправлено 26 Февраль 2014 - 07:03

Всем привет такой вопрос подключил под таблицу, не работает добавление (то есть при добавлении записи нельзя сразу редактировать запись, приходиться обновлять браузер и после этого добавленная запись редактируется что не так сделал) спасибо.
IF m cool stay cool

#2 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 687 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 26 Февраль 2014 - 10:53

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

#3 rarken

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

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

Отправлено 26 Февраль 2014 - 13:23

Просмотр сообщенияCbCoder (26 Февраль 2014 - 10:53) писал:

Попробуйте отключить все вычисления в подтаблице, если они есть. Возможно, одно из них выдает ошибку. Если не поможет - отправьте заявку в техподдержку, мы проверим вашу конфигурацию.
Все проблемма решена спасиба
IF m cool stay cool

#4 rarken

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

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

Отправлено 05 Март 2014 - 09:37

Есть поле с суммой, я сделал это поле Считать итоговую сумму. и теперь мне нужно сделать что бы с этой итоговой суммы он брал значения и сравнивал его с другим полем если эти поля совпадают по значению то меняется значение у другого поля? Пример
Таблица2(это то поле где стоит значение суммы и считает итоговую сумму) и есть таблица1 (в ней есть поле с введенными суммами ) и есть в этой же таблице(таблица1) поле с значение (да/нет) при совпадении с таблице2 в поле итоговая сумма таблица1 поле сумма тогда меняется пол в таблице1 на значение(да). Как реализовать данное действие . Спасибо Заранее.
IF m cool stay cool

#5 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 687 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 05 Март 2014 - 10:06

"Взять" итоговую сумму нельзя, ее нужно самостоятельно считать в вычислении, независимо от того, включали ли вы ее в настройках поля или нет (это на вычисления никак не влияет). Подсчитать можно с помощью запроса к нужной таблице.

#6 rarken

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

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

Отправлено 05 Март 2014 - 10:42

Просмотр сообщенияCbCoder (05 Март 2014 - 10:06) писал:

"Взять" итоговую сумму нельзя, ее нужно самостоятельно считать в вычислении, независимо от того, включали ли вы ее в настройках поля или нет (это на вычисления никак не влияет). Подсчитать можно с помощью запроса к нужной таблице.
ну а как можно сделать, что бы программа определяла в таблице1 в поле сумма что с таблицы2 итоговая сумма равно полю сумма? ну или запрос?

Сообщение отредактировал rarken: 05 Март 2014 - 10:43

IF m cool stay cool

#7 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 687 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 05 Март 2014 - 12:23

Стандартный SQL запрос с агрегатной функцией sum:

SELECT sum(f111) as total FROM cb_data11 WHERE status=0

(сумма по полю 111 из таблицы 11 с выборкой по активным записям (status=0))

В КБ его можно реализовать через функцию data_select_field:

$result = data_select_field(11, "sum(f111) as total", "status=0"); // выполняем запрос
$row = sql_fetch_assoc($result); // извлекаем возвращенную запросом строку в массив $row
$total = $row['total']; // заносим значение поля total в переменную

Далее используете полученную переменную для нужных вам сравнений.

#8 rarken

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

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

Отправлено 05 Март 2014 - 14:43

А как вот сделать условие? если (в поле сумма со значение(Считать итоговую сумму)) = Таблица1(поле счет) тогда поле Таблыца1(поле статус="Оплачено")
IF m cool stay cool

#9 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 687 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 05 Март 2014 - 15:08

Опять же, стандартная конструкция if языка PHP, с использованием массива текущей строки в КБ $line:

if ($total==$line['Счет']) $line['Статус'] = "Оплачено";

Это ведь все есть в документациях.

#10 rarken

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

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

Отправлено 06 Март 2014 - 08:13

Просмотр сообщенияCbCoder (05 Март 2014 - 15:08) писал:

Опять же, стандартная конструкция if языка PHP, с использованием массива текущей строки в КБ $line:

if ($total==$line['Счет']) $line['Статус'] = "Оплачено";

Это ведь все есть в документациях.
Извиняюсь а как указать итоговоую сумму с другой таблицы я забыл вписть:
если (в поле сумма со значение Таблица2(Считать итоговую сумму)) = Таблица1(поле счет) тогда поле Таблыца1(поле статус="Оплачено")
IF m cool stay cool

#11 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 687 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 06 Март 2014 - 08:40

Я же выше вам написал готовый код подсчета итогов?

#12 rarken

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

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

Отправлено 06 Март 2014 - 14:52

Вопрос 2:
мне нужно было сделать есть поле счет куда я ввожу число любвое, и дата начло, программа должна выводить в поле дата окончания,
число (10)+(03.03.2014)=(13.03.2014) а выводит у меня 01.01.1970

пробовал: $line['Дата окончания'] = $line['Дата начало'] + $line['Счет']; выводит: 01.01.1970
что не так?
IF m cool stay cool

#13 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 687 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 06 Март 2014 - 16:00

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

Операции с датами должны вестись посредством функций работы с датами

#14 rarken

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

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

Отправлено 06 Март 2014 - 16:04

Просмотр сообщенияCbCoder (05 Март 2014 - 15:08) писал:

Опять же, стандартная конструкция if языка PHP, с использованием массива текущей строки в КБ $line:

if ($total==$line['Счет']) $line['Статус'] = "Оплачено";

Это ведь все есть в документациях.
почему то не работает
IF m cool stay cool

#15 rarken

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

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

Отправлено 07 Март 2014 - 06:40

Просмотр сообщенияCbCoder (06 Март 2014 - 16:00) писал:

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

Операции с датами должны вестись посредством функций работы с датами
Вычисление должно работать следующим путем: под таблица Отпуск берет с родительской таблицы с поля отгул данные, при вводе в поле (2) в поле (1) должно сокращаться число. Потом при вводе в поле(3) автоматический в поле (4) должно показывать дату.
Пример:
Поле1(Отгулы)-Поле2(Кол-во дней)=Поле1(Отгулы);
Потом
Поле2(Кол-во дней)+Поле3(Дата начала)=Поле4(Дата окончания)
___________________

Прикрепленные файлы


Сообщение отредактировал rarken: 07 Март 2014 - 11:24

IF m cool stay cool

#16 rarken

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

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

Отправлено 11 Март 2014 - 08:18

Просмотр сообщенияCbCoder (05 Март 2014 - 15:08) писал:

Опять же, стандартная конструкция if языка PHP, с использованием массива текущей строки в КБ $line:

if ($total==$line['Счет']) $line['Статус'] = "Оплачено";

Это ведь все есть в документациях.
Как та условие не срабатывает
и так пробовал:
if ($total['Итог']==$line['Счет']) $line['Статус'] = "Оплачено";
Что делать помогите.
Да и еще забыл написать кок можно сделать: у меня есть два поля;
Дата начало и дана конец нужно что бы в третьем поле показывал количество дней, то есть
Дата начало: 11.03.2014 и дата конец: 23.03.2014 в следующем поле колво дней должен показать : Кол-во дней: 12 (дней)

Сообщение отредактировал rarken: 11 Март 2014 - 11:11

IF m cool stay cool

#17 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 687 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 11 Март 2014 - 18:23

Цитата

Как та условие не срабатывает

Я же вам написал уже, что вычисление переменной $total было дано мною выше? В чем проблема то объединить 2 части в одно вычисление?

$result = data_select_field(11, "sum(f111) as total", "status=0"); // выполняем запрос
$row = sql_fetch_assoc($result); // извлекаем возвращенную запросом строку в массив $row
$total = $row['total']; // заносим значение поля total в переменную
if ($total==$line['Счет']) $line['Статус'] = "Оплачено";

11 заменяете на id таблицы с Итогом, 111 - на id поля Итог

#18 rarken

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

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

Отправлено 12 Март 2014 - 08:48

Не работает.
IF m cool stay cool

#19 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 687 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 12 Март 2014 - 10:15

Если у вас платная лицензия - отправьте заявку в техподдержку. Не работать может по куче причин, разбирать это без просмотра вашей конфигурации можно очень долго.

#20 rarken

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

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

Отправлено 12 Март 2014 - 11:36

У нас пока нет Лицензии Вот Мы и хотим в дальнейшем приобрести ее. И мы смотрим ее функционал. Мы в Данный момент работаем на демо версии.
IF m cool stay cool





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

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