Запрос на передачу значений из записей, имеющих одинаковое значение Глобального списка

Все вопросы/проблемы по установке и использовании.
Аватара пользователя
alcompstudio
Спонсор
Спонсор
Сообщения: 1798
Зарегистрирован: 03 янв 2016, 20:42
Имя: Александр
Откуда: Мир

Запрос на передачу значений из записей, имеющих одинаковое значение Глобального списка

Сообщение alcompstudio »

Есть такая структура (примерно):

Заказы
- Детали
-- Виды работ
.....
Виды работ (норматив)

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

В сущности Виды работ (норматив) - есть поле Константа 1 (числовое). Т.е. эта сущность выступает неким справочником данных.

Какой запрос сделать в поле (MySQL формула, или MySQL запрос), чтобы значения из записей сущности Виды работ (норматив) автоматом подставлялись в записи сущности Виды работ, согласно "определяющего" поля с Раскрывающимся списком (Типов работ). Т.е. система "видела одинаковые значения" в обоих сущностях и передавала по ним данные других полей по настройкам.

Т.е. пример, в сущности Виды работ (норматив) есть запись с такими данными:

Поле (глоб.список) Тип работы - Сверловка.
Поле Константа 1 - 1,2

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

Т.е. условие такое: "поле Константа 1 для сущности Виды работ: если в записи 1 сущности Виды работ поле Типы работ=Сверловка, то подставить значения из сущности Виды работ (норматив), где поле Типы работ=Сверловка из поля Константа 1". Т.е. передать значение "1,2" в "формульное" поле сущности Виды работ.

Как построить запрос ?
olegikostiuk
Сообщения: 135
Зарегистрирован: 22 окт 2019, 10:47
Имя: Олег Костюк
Откуда: Россия
Организация: personal

Re: Запрос на передачу значений из записей, имеющих одинаковое значение Глобального списка

Сообщение olegikostiuk »

Может сделать не глобальный список, а отдельную сущность, в которую включить список работу, например Сверловка, константа 1,2, и связать эти поля в нужной сущности, по типу сущность Аякс или сущность многоуровневый список, чтобы при выборе нужной работы в поля автоматически попадали нормативы по этой работе.
Аватара пользователя
support
Техническая поддержка
Сообщения: 9494
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Запрос на передачу значений из записей, имеющих одинаковое значение Глобального списка

Сообщение support »

Нужно использовать поле MySQL запрос
https://docs.rukovoditel.net/ru/index.php?p=24

Выбрать из сущности: Виды работ (норматив)
Выбрать поле: [x] где x - id поля Константа 1
Условие: [x1]=[x2] где x - Типы работ из Виды работ (норматив) и Виды работ
Аватара пользователя
alcompstudio
Спонсор
Спонсор
Сообщения: 1798
Зарегистрирован: 03 янв 2016, 20:42
Имя: Александр
Откуда: Мир

Re: Запрос на передачу значений из записей, имеющих одинаковое значение Глобального списка

Сообщение alcompstudio »

olegikostiuk писал(а): 29 дек 2019, 05:32 Может сделать не глобальный список, а отдельную сущность, в которую включить список работу, например Сверловка, константа 1,2, и связать эти поля в нужной сущности, по типу сущность Аякс или сущность многоуровневый список, чтобы при выборе нужной работы в поля автоматически попадали нормативы по этой работе.
Да, так можно, спасибо за совет. Но тут нужно в каждую запись отдельно входить, чтобы такое действие сработало... А мне нужно, например, чтобы после импорта 1000 записей (их именно столько может быть) - сразу видеть результат, который "подтянется" в нужные поля. Заполнять отдельно поля через сущность аякс - очень долго будет.
Аватара пользователя
alcompstudio
Спонсор
Спонсор
Сообщения: 1798
Зарегистрирован: 03 янв 2016, 20:42
Имя: Александр
Откуда: Мир

Re: Запрос на передачу значений из записей, имеющих одинаковое значение Глобального списка

Сообщение alcompstudio »

support писал(а): 29 дек 2019, 05:48 Нужно использовать поле MySQL запрос
https://docs.rukovoditel.net/ru/index.php?p=24

Выбрать из сущности: Виды работ (норматив)
Выбрать поле: [x] где x - id поля Константа 1
Условие: [x1]=[x2] где x - Типы работ из Виды работ (норматив) и Виды работ
Спасибо, попробую составить запрос.
Аватара пользователя
alcompstudio
Спонсор
Спонсор
Сообщения: 1798
Зарегистрирован: 03 янв 2016, 20:42
Имя: Александр
Откуда: Мир

Re: Запрос на передачу значений из записей, имеющих одинаковое значение Глобального списка

Сообщение alcompstudio »

Данный способ работает, все выводится как нужно.

А как сделать такое же, но если вместо поля Глобального списка-справочника будет выступать поле с типом Сущность? Я попробовал сделать по вышеуказанному примеру, но в результате выводится "0". Может как-то по другому составляется конструкция запроса для поля с типом Сущность?
Аватара пользователя
support
Техническая поддержка
Сообщения: 9494
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Запрос на передачу значений из записей, имеющих одинаковое значение Глобального списка

Сообщение support »

А как сделать такое же, но если вместо поля Глобального списка-справочника будет выступать поле с типом Сущность?
Дайте больше подробностей, покажите структуру, связи и это поле сущность выбором одно значения?
Аватара пользователя
alcompstudio
Спонсор
Спонсор
Сообщения: 1798
Зарегистрирован: 03 янв 2016, 20:42
Имя: Александр
Откуда: Мир

Re: Запрос на передачу значений из записей, имеющих одинаковое значение Глобального списка

Сообщение alcompstudio »

Да, это поле с выбором одного значения. Я подготовлю вам информацию, скину в ЛС.
Аватара пользователя
Алексей Г
Сообщения: 68
Зарегистрирован: 05 мар 2024, 11:28
Имя: Furtado
Откуда: Москва

Re: Запрос на передачу значений из записей, имеющих одинаковое значение Глобального списка

Сообщение Алексей Г »

support писал(а): 29 дек 2019, 05:48 Нужно использовать поле MySQL запрос
https://docs.rukovoditel.net/ru/index.php?p=24

Выбрать из сущности: Виды работ (норматив)
Выбрать поле: [x] где x - id поля Константа 1
Условие: [x1]=[x2] где x - Типы работ из Виды работ (норматив) и Виды работ
Добрый день, спустя два дня признаю что сдаюсь, что то тут не так.

Есть следующие таблицы и связи:

Проект (37)
----Вложенная таблица: Лот (91)
--------Вложенная таблица: ИТС (137)
Поле: Цена (3920)
Поле:Вид работ (3919) - Выпадающий глобальный список

Заявка на сервис (128)
Поле: (3785) Проект, выпадающий список (ajax)
Поле: (3786) Лот Многоуровневый список сущностей
----Вложенная таблица: Отчет (94)
Поле:Вид работ (2178) - Выпадающий глобальный список
Поле: Номер лота (4028) MySQL запрос получающий id поля 3786 из родительской таблицы.

Мне нужно в отчет вывести поле Цена из таблицы ИТС, по условию где [3919]=[2178] AND msq.parent_item_id=[4028]

Вся проблема в поле 4028 и хотя оно точно числовое, так как пробовал с ним математические вычисления производить и оно правильно запрашивается, но в этом запросе на срабатывает, хотя если принудительно вставить значение с id лота, то запрос работает.

Помогите пожалуйста разобраться в чем дело.
запросуу.PNG
Пробовал через Mysql формулу, там ситуация наоборот, получить id лота через функции и сравнить удается, но вид работ не хочет сравнивать и выбирать по условию
цццц.PNG
Аватара пользователя
Алексей Г
Сообщения: 68
Зарегистрирован: 05 мар 2024, 11:28
Имя: Furtado
Откуда: Москва

Re: Запрос на передачу значений из записей, имеющих одинаковое значение Глобального списка

Сообщение Алексей Г »

И еще один вопрос,
почему MYSQL формулой невозможно получить значение поля 3945 (MYSQL формула)
(SELECT app_entity_138.field_3945 FROM app_entity_138 WHERE app_entity_138.parent_item_id = [4057] AND app_entity_138.field_3935 = 1)+123456
Ответить