Добавление контрагента
#1
Отправлено 05 Август 2014 - 10:22
#2
Отправлено 05 Август 2014 - 10:55
#3
Отправлено 05 Август 2014 - 15:12
CbCoder (05 Август 2014 - 10:55) писал:
#4
Отправлено 05 Август 2014 - 15:20
Mouse (05 Август 2014 - 15:12) писал:
Любая автоматизация (включая автоматическое заполнение полей) в программе КБ происходит с помощью вычислений. В данном случае, необходимо добавить вычисление в таблицу Контрагенты на событие изменения поля Кто добавил (т.к. заполнение организации напрямую зависит от этого поля). В самом вычислении пишется код, согласно приведенному мною алгоритму. Под "обращением к таблице" подразумевается запрос к ней. Информации о том как писать запросы полно в документации и на этом форуме.
#5
Отправлено 08 Август 2014 - 14:40
#6
Отправлено 08 Август 2014 - 14:58
CbCoder (08 Август 2014 - 12:59) писал:
// извлекаем с помощью запроса нужную запись: $data = data_table("Работа по заявке", "`Заявка №`=".$line['ID']." ORDER BY `Дата` DESC") // копируем значения нужных полей: $line['След.действие'] = $data['Действие']; $line['Исполнить до'] = $data['Дата'];
Это вычисление должно быть в родительской записи на условие "отображение поля След.действие" или "отображение поля Исполнить до" .
#7
Отправлено 08 Август 2014 - 15:44
Mouse (08 Август 2014 - 14:40) писал:
Причем тут фильтр то? О фильтрах в моем сообщении ни слова не было. О каких-то дополнительных полях тоже. Я же вам расписал весь алгоритм, ваш код должен полностью ему соответствовать:
CbCoder (05 Август 2014 - 10:55) писал:
// обращаемся к таблице Наши сотрудники, чтобы получить нужного сотрудника по полю Кто добавил: $sotr = data_table("Наши сотрудники", "`Пользователь`='".$line['Кто добавил']."'") // копируем значение поля Организация: $line['Наша компания'] = $sotr['Организация '];
Как видите все достаточно просто. Не нужно самостоятельно придумывать что-то, о чем я не писал.
#8
Отправлено 08 Август 2014 - 16:44
#9
Отправлено 08 Август 2014 - 16:55
#10
Отправлено 08 Август 2014 - 18:02
#11
Отправлено 09 Август 2014 - 14:21
#12
Отправлено 11 Август 2014 - 09:21
#13
Отправлено 11 Август 2014 - 09:23
Ошибка в вычислении.
Контрагенты.Добавление контактного лица
Контрагенты.Добавление партнера из склада
Контрагенты.Отображение поля: Наша компания :
3: // копируем значение поля Организация:
4: $line['f1088'] = $sotr['Организация '];
syntax error, unexpected T_VARIABLE
При попытки добавить компанию вот такая ошибка выпадает
#14
Отправлено 11 Август 2014 - 09:29
#15
Отправлено 11 Август 2014 - 10:47
#16
Отправлено 11 Август 2014 - 10:53
#17
Отправлено 11 Август 2014 - 11:26
#18
Отправлено 11 Август 2014 - 12:18
#19
Отправлено 03 Октябрь 2016 - 00:10
$sotr = data_table("Наши сотрудники", "`Пользователь`='".$line['Кто добавил']."'"); $line['Компания'] = $sotr['Организация'];пробовал ставить чтобы вычисление срабатывало на сохранение в таблице, изменение поля Кто добавил, Компания, отображение поля Компания, все равно вместо компании выводится "1"
#20
Отправлено 05 Октябрь 2016 - 16:43
Аlex Jet (03 Октябрь 2016 - 00:10) писал:
$sotr = data_table("Наши сотрудники", "`Пользователь`='".$line['Кто добавил']."'"); $line['Компания'] = $sotr['Организация'];пробовал ставить чтобы вычисление срабатывало на сохранение в таблице, изменение поля Кто добавил, Компания, отображение поля Компания, все равно вместо компании выводится "1"
Лучше использовать для таких вычислений код вида
$result = data_select(46, "f1400 = ", $line['Кто добавил']); $row = sql_fetch_assoc($result); $line['Компания'] = $row['f711'];
Проверили работу аналогичного вычисления - оно работает корректно. Возможно проблема в том, что некоторые поля ,участвующие в вычислении не заполнены.
Для дебага используйте код
echo "<pre>"; print_r($line); print_r($sotr); echo "</pre>"; exit;
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных