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


Вопрос по вычислениям


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

#121 CbCoder

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

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

Отправлено 21 Июнь 2012 - 15:39

Просмотр сообщенияAleksey (21 Июнь 2012 - 15:12) писал:

Компания->Улица по названию компании
Заявки-> Компания по названию компании
Заявки->Улица по названию улицы
Во-первых, вы похоже опечатались, не "Компания->Улица по названию компании", а "Улица->Компания по названию компании", судя по логике вашего же первого сообщения.
Во-вторых, как я уже писал выше, поменяйте связь в поле "Заявки-> Компания по названию компании" с "Компании.Название компании" на "Улицы.Название компании". Так понятнее?

#122 Aleksey

    Новичок

  • Пользователи
  • Pip
  • 8 сообщений

Отправлено 21 Июнь 2012 - 15:44

Да, спасибо. Разобрался :rolleyes:

Сообщение отредактировал Aleksey: 21 Июнь 2012 - 15:51


#123 smsbiz

    Новичок

  • Пользователи
  • Pip
  • 2 сообщений

Отправлено 23 Июнь 2012 - 18:29

Здравствуйте. Подскажите пожалуйста как сделать следующие вычисления, если действительно кто-то может помочь!

Исходные данные:
Таблица 1='Заявка'
Таблица 2='Досылка'
Таблица 2 подчиненная Таблице 1.
Поля таблицы 1:

ID, Компания, Досыл, Цена (коп.), Кл-во смс, Кл-во доставл., Приход (руб.), Остаток (руб.)
Поля таблицы 2:

ID, Заявка №, Остаток (руб.), Кл-во смс, Доставлено, Кто добавил, Время добавления, Ост.последосылки
Заявка № (тип связь с полем Таблица1.ID)
Хотелось бы при Изменении(заполнения) поля Таблица 2.Заявка №, чтобы происходили заполнения полей таблицы 2 из таблицы 1, а именно
Таблица2.Кл-во смс=Таблица 1.Кл-во смс-Таблица 1.Кл-во доставл.

Далее при изменении поля Таблица 2.Доставлено, вычислялось поле
Таблица 2.Ост.последосылки=Таблица 2.Доставлено*Таблица 1.Цена (коп.)

После сохранения строки таблицы 2, необходимо вычислить:
Таблица 1.Кл-во доставл.=Таблица 1.Кл-во доставл.-Таблица 2.Доставлено

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

#124 CbCoder

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

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

Отправлено 25 Июнь 2012 - 10:58

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

#125 smsbiz

    Новичок

  • Пользователи
  • Pip
  • 2 сообщений

Отправлено 25 Июнь 2012 - 16:24

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

#126 CbCoder

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

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

Отправлено 25 Июнь 2012 - 16:59

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

#127 Zver

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

  • Пользователи
  • PipPipPip
  • 80 сообщений

Отправлено 03 Июль 2012 - 11:12

Вопрос: Вычисление при изменении поля. Как в скрипте узнать старое значение поля?

#128 CbCoder

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

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

Отправлено 03 Июль 2012 - 11:46

$event['changed'][id поля]['old']

Например, $event['changed'][553]['old']

#129 Odio

    Новичок

  • Пользователи
  • Pip
  • 2 сообщений

Отправлено 10 Июль 2012 - 11:41

Добрый день.
У меня имеется две таблицы: Контрагенты и Заявки. В каждой из них есть поле "Менеджер" (пользователь). Нужно наладить связь между этими полями, чтобы при смене в Контрагентах менеджера, менялся менеджер и в Заявках. Онлайн-Консультант посоветовал использовать вычисление на примере #3. В моём случае, насколько я понимаю, я к Заявкам добавляю в графе Вычисления данную строку: $line['Менеджер'] = $line['Контрагенты']['Менеджер'];
Однако, в таком случае ничего не происходит. Меняю менеджера в Контрагентах, менеджер в Заявках остаётся прежний.

#130 CbCoder

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

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

Отправлено 10 Июль 2012 - 12:11

Неправильно понимаете. Советую прочитать тему полностью, так как вы очередной "наступатель-на-те-же-грабли", что и ваши предшественники.

Поясняю: в массиве $line никаких таблиц нет, только поля. Соответственно, конструкция $line['Контрагенты']['Менеджер'] никакого смысла не имеет (если только "Контрагенты" - это имя поля связи, а не таблицы, что вряд ли), т.к. обращение к полям другой таблицы идет только через поле связи с этой таблицей.

Например, в вашем случае: $line['Менеджер'] = $line['Поле связи с контрагентом в таблице Заявки']['Менеджер'];

Сообщение отредактировал CbCoder: 10 Июль 2012 - 14:21


#131 Odio

    Новичок

  • Пользователи
  • Pip
  • 2 сообщений

Отправлено 10 Июль 2012 - 13:28

Прочитал. И действительно неправильно понимаю, а точнее вообще не понимаю, потому что от кода далёк. По сей причине и пишу вам. Догадываюсь что мне нужно сделать извлечение из таблицы Контрагенты. if ($PS = data_table("Контрагенты" , а далее?

#132 CbCoder

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

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

Отправлено 10 Июль 2012 - 13:46

Отредактировал сообщение выше, иначе так долго будем размусоливать.

#133 teacs

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

  • Пользователи
  • PipPipPip
  • 80 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 20 Июль 2012 - 09:42

Добрый день!
Возможно ли вывести на печать все или определенные строки по доп. действию? Если, да то покажите пожалуйста пример вычисления. Спасибо

Сообщение отредактировал teacsrem: 20 Июль 2012 - 09:43


#134 CbCoder

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

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

Отправлено 20 Июль 2012 - 10:29

Зачем для этого доп. действие? Чем стандартная печать по шаблону не устраивает?

#135 teacs

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

  • Пользователи
  • PipPipPip
  • 80 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 20 Июль 2012 - 10:40

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

#136 CbCoder

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

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

Отправлено 20 Июль 2012 - 13:28

После печати вы статус никак не поменяете, можно лишь вначале сменить статус (по доп.действию) и затем автоматически перейти в печать шаблонов:

$sel = $_REQUEST['sel']; // массив из id выделенных строк
foreach ($sel as $id)
{ // проходим по всем выделенным строкам и меняем статус
  $cur_line = data_table("Ваша таблица", "id=$id");
  $cur_line['Статус'] = "новый статус";
  update_query($cur_line, "Ваша таблица", "id=$id");
}
$_SESSION[$ses_id]["sel".$table_id] = $sel; // заносим id в переменную сессии для передачи в шаблон печати
header("Location:forms.php?table=".$table_id."&mode=print"); // переходим в список шаблонов печати
exit;


#137 teacs

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

  • Пользователи
  • PipPipPip
  • 80 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 20 Июль 2012 - 14:12

ничего не происходит кнопка не нажимается, ошибок не вылетает

#138 CbCoder

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

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

Отправлено 20 Июль 2012 - 14:38

Что значит "не нажимается"? Вы случайно не засунули код вычисления в поле "Javascript"?

#139 teacs

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

  • Пользователи
  • PipPipPip
  • 80 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 20 Июль 2012 - 14:40

Нет, код в вычислениях находится.
Таблица называется заявки.

$sel = $_REQUEST['sel'];
foreach ($sel as $id)
{
$cur_line = data_table("Заявки", "id=$id");
$cur_line['Статус'] = "Замер распечатан";
update_query($cur_line, "Заявки", "id=$id");
}
$_SESSION[$ses_id]["sel".$table_id] = $sel;
header("Location:forms.php?table=".$table_id."&mode=print");
exit;

Сообщение отредактировал teacsrem: 20 Июль 2012 - 14:50


#140 CbCoder

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

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

Отправлено 20 Июль 2012 - 14:48

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

Это первое, во-вторых строка $cur_line['Статус'] = "новый статус" наверное в вашем случае должна быть немного иная? Нет?


Все остальное должно работать, я проверял код на стандартной конфигурации.





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

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