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


z3dom

Регистрация: 06 нояб. 2018
Offline Активность: 17 авг. 2020 12:57
-----

Мои сообщения

В теме: Встроенное API

16 Август 2020 - 16:34

Т.е. если значение, явно заданное string, отправить через API - все норм,
если же его вытащить из $_GET, обработать и получить такой же в точности string и отправить через API - записывается и исчезает :ph34r:

В теме: Встроенное API

16 Август 2020 - 16:30

Сторонним скриптом через API пытаюсь изменить значения поля "ДАТА МЕРОПРИЯТИЯ" типа ДАТА-ВРЕМЯ в СДЕЛКЕ и вот что не получается:
если прямо в скрипте прописываю
$event_date = '2000-08-16 05:41:01';

то все прекрасно записывается через вот такой запрос API:
$command_data_read = array(
	"access_id" => $access_id,
	"table_id" => $table_id,
	"cals" => true,
	"data" => array(
		"row" => array(
		   "f5721" => "API_test",
		   "f5091"=> $event_date
		)
	),
	"filter" => array(
		"row" => array(
			"id" => array(
				"term" => "=",
				"value" => $line_id,
				"union" => "AND"	  
			)
		)
	)
  
);

Но как только я пытаюсь в сам сторонний скрипт передать дату и время через GET запрос:
$event_date=date('Y-m-d H:i:s',strtotime(htmlspecialchars($_GET['event_date'])));

(причем результирующее значение $event_date указанное напрямую и полученное через GET полностью совпадает :huh: )

то значение $event_date записывается в поле ДАТА МЕРОПРИЯТИЯ и исчезает оттуда. В логах КБ видно, что новое значение записалось, но оно потом почему-то исчезает. Как будто поле очищается... В логах КБ процесс очищения не отображается.


<!--IBF.ATTACHMENT_39200-->
			</div>
		</div>
	</div>
	<br />
</div><div class=

В теме: Отследить предыдущее значение поля

02 Декабрь 2019 - 15:49

Просмотр сообщенияz3dom (20 Ноябрь 2019 - 13:51) писал:

Столкнулся с проблемой, которая очень напоминает баг, но возможно что и я где-то туплю.
Есть таблички:
1) test1 (поле ID)
2) test2(поле связи test1 (f15351), ссылающееся на ID таблицы test1, поле comment)

Задача - в таблице test2 "отловить" изменение поля test1 и вытащить его старое значение.

Вычисление:

$line['comment']="";
if($event['changed'][15351]['old']) {
	$old=$event['changed'][15351]['old']['ID'];
	$line['comment']="Текущий ID ".$line['test1']['ID'].", старый ID ".$old;
}
	else
	{
	$old=$line['test1']['ID'];$line['comment']="Не изменено";
	}

Соответственно при изменении поля test1 постоянно видим в комментах сообщение:
Текущий ID 1, старый ID 3
Текущий ID 4, старый ID 1
и т.д.

ПРОБЛЕМА:
если ссылаться на диапазон полей таблицы test1 от 1 до 9 - то все работает отлично, но как только ссылаемся на двух или трехзначные ID шники - то в старом значении ID сохраняется только ПЕРВАЯ ЦИФРА от ID.

Вот пример:
(вот так работает нормально)
Текущий ID 1, старый ID 3
Текущий ID 5, старый ID 1
Текущий ID 9, старый ID 5
(пошли двузначные и трехзначные)
Текущий ID 15, старый ID 9
Текущий ID 10, старый ID 1
Текущий ID 16, старый ID 1
Текущий ID 923, старый ID 1
Текущий ID 14, старый ID 9
Текущий ID 12, старый ID 1

Баг или ошибка?
Мой косяк, надо было ссылаться на $event['changed'][15351]['old'], а не на $event['changed'][15351]['old']['ID']

В теме: Отследить предыдущее значение поля

20 Ноябрь 2019 - 13:51

Столкнулся с проблемой, которая очень напоминает баг, но возможно что и я где-то туплю.
Есть таблички:
1) test1 (поле ID)
2) test2(поле связи test1 (f15351), ссылающееся на ID таблицы test1, поле comment)

Задача - в таблице test2 "отловить" изменение поля test1 и вытащить его старое значение.

Вычисление:

$line['comment']="";
if($event['changed'][15351]['old']) {
    $old=$event['changed'][15351]['old']['ID'];
    $line['comment']="Текущий ID ".$line['test1']['ID'].", старый ID ".$old;
}
    else
    {
    $old=$line['test1']['ID'];$line['comment']="Не изменено";
    }

Соответственно при изменении поля test1 постоянно видим в комментах сообщение:
Текущий ID 1, старый ID 3
Текущий ID 4, старый ID 1
и т.д.

ПРОБЛЕМА:
если ссылаться на диапазон полей таблицы test1 от 1 до 9 - то все работает отлично, но как только ссылаемся на двух или трехзначные ID шники - то в старом значении ID сохраняется только ПЕРВАЯ ЦИФРА от ID.

Вот пример:
(вот так работает нормально)
Текущий ID 1, старый ID 3
Текущий ID 5, старый ID 1
Текущий ID 9, старый ID 5
(пошли двузначные и трехзначные)
Текущий ID 15, старый ID 9
Текущий ID 10, старый ID 1
Текущий ID 16, старый ID 1
Текущий ID 923, старый ID 1
Текущий ID 14, старый ID 9
Текущий ID 12, старый ID 1

Баг или ошибка?

В теме: Отследить предыдущее значение поля

20 Ноябрь 2019 - 12:10

Вопрос решился. Номер поля можно посмотреть в адресной строке при редактировании