Приземлить динамические SQL запросы и формулы (решено)

Все вопросы/проблемы по установке и использовании.
nruslan2
Сообщения: 2435
Зарегистрирован: 14 окт 2020, 09:13
Имя: Ruslan
Откуда: Moscow

Re: Приземлить динамические SQL запросы и формулы

Сообщение nruslan2 »

alexinc писал(а): 02 июн 2023, 17:20 Ну так может и смотреть в сторону автоматизации. Сделать автоматизацию, и потом вызывать ее дополнительно по признаку изменения записи. нет?
Все зависит от того, что и как требуется.
Если это в отчетах будет - и данные динамические, тут надо подумать!!! потому что обновление по кнопке или при изменении записи - не работает при таком варианте (данные не актуальные!)
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Приземлить динамические SQL запросы и формулы

Сообщение support »

В пхп коде можно выбрать конкретную запись с помощью следующей конструкции:

Код: Выделить всё

$items_query = new items_query($entity_id,[
'fields_in_query'=>22,
'add_formula'=>true,
'where' => 'and id=' . $item_id,
]);
        
$item_query = db_query($items_query->get_sql());
$item = db_fetch_array($item_query );
22 - id поля с формулой (можно через запятую перечислить несколько)
alexinc
Сообщения: 422
Зарегистрирован: 03 мар 2022, 21:40
Имя: Alex
Откуда: Россия
Контактная информация:

Re: Приземлить динамические SQL запросы и формулы

Сообщение alexinc »

Где ж вы раньше были!!!!
nruslan2
Сообщения: 2435
Зарегистрирован: 14 окт 2020, 09:13
Имя: Ruslan
Откуда: Moscow

Re: Приземлить динамические SQL запросы и формулы

Сообщение nruslan2 »

support писал(а): 02 июн 2023, 20:38 В пхп коде можно выбрать конкретную запись с помощью следующей конструкции:

Код: Выделить всё

$items_query = new items_query($entity_id,[
'fields_in_query'=>22,
'add_formula'=>true,
'where' => 'and id=' . $item_id,
]);
        
$item_query = db_query($items_query->get_sql());
$item = db_fetch_array($item_query );
22 - id поля с формулой (можно через запятую перечислить несколько)
я правильно понял, что данная конструкция в итоге вытащит все данные из записи даже если поля динамические?
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Приземлить динамические SQL запросы и формулы

Сообщение support »

Да
nruslan2
Сообщения: 2435
Зарегистрирован: 14 окт 2020, 09:13
Имя: Ruslan
Откуда: Moscow

Re: Приземлить динамические SQL запросы и формулы

Сообщение nruslan2 »

support писал(а): 03 июн 2023, 10:39Да
Шикарно, правда надо не забывать: что при таком подходе мы все равно все механизмы пересчета запускаем!!! (ну эт так на всякий случай) - так что чтобы база не висла - все же приземлять надо, но в разумных пределах и в зависимости от задач)
Аватара пользователя
Antonyous99
Сообщения: 752
Зарегистрирован: 18 авг 2019, 09:22
Имя: Антон Владимирович
Откуда: Санкт-Петербург
Организация: ООО "РИКОМ-Сервис"
Контактная информация:

Re: Приземлить динамические SQL запросы и формулы

Сообщение Antonyous99 »

Спасибо, Сергей, и всем тоже за помощь!
Вопрос решен.
ПУЛЬТ УПРАВЛЕНИЯ БИЗНЕСОМ
ERP/CRM "под ключ"
nruslan2
Сообщения: 2435
Зарегистрирован: 14 окт 2020, 09:13
Имя: Ruslan
Откуда: Moscow

Re: Приземлить динамические SQL запросы и формулы

Сообщение nruslan2 »

Antonyous99 писал(а): 03 июн 2023, 11:37 Спасибо, Сергей, и всем тоже за помощь!
Вопрос решен.
в итоге какой вариант то выбрали?)
Аватара пользователя
Antonyous99
Сообщения: 752
Зарегистрирован: 18 авг 2019, 09:22
Имя: Антон Владимирович
Откуда: Санкт-Петербург
Организация: ООО "РИКОМ-Сервис"
Контактная информация:

Re: Приземлить динамические SQL запросы и формулы (решено)

Сообщение Antonyous99 »

Так, инструмент теперь есть, с ним - хоть куда.
Тем более, что несколько значений можно получить в массив за один запрос.
ПУЛЬТ УПРАВЛЕНИЯ БИЗНЕСОМ
ERP/CRM "под ключ"
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Приземлить динамические SQL запросы и формулы (решено)

Сообщение support »

Еще данный класс можно применить вот так

Код: Выделить всё

$items_query = new items_query($entity_id,[
'fields_in_query'=>22,
'add_formula'=>true,
'report_id' => 13,
'add_filters'=>true,
'add_order'=>true,
]);

$item_query = db_query($items_query->get_sql());
while($item = db_fetch_array($item_query ))
{
...
}
То есть передаем ID отчета (13) и выбираем все записи по заданным фильтрам. Может пригодится при какой то выборке или экспорте.
Ответить