Страница 1 из 2
Запрос на передачу значений из записей, имеющих одинаковое значение Глобального списка
Добавлено: 28 дек 2019, 23:42
alcompstudio
Есть такая структура (примерно):
Заказы
- Детали
-- Виды работ
.....
Виды работ (норматив)
в сущностях Виды работ и Виды работ (норматив) имеются поля с типом Раскрывающийся список, которые берут значения из оного и того же Глобального списка (назовем его Типы работ).
В сущности Виды работ (норматив) - есть поле Константа 1 (числовое). Т.е. эта сущность выступает неким справочником данных.
Какой запрос сделать в поле (MySQL формула, или MySQL запрос), чтобы значения из записей сущности Виды работ (норматив) автоматом подставлялись в записи сущности Виды работ, согласно "определяющего" поля с Раскрывающимся списком (Типов работ). Т.е. система "видела одинаковые значения" в обоих сущностях и передавала по ним данные других полей по настройкам.
Т.е. пример, в сущности Виды работ (норматив) есть запись с такими данными:
Поле (глоб.список) Тип работы - Сверловка.
Поле Константа 1 - 1,2
Нужно чтобы при добавлении новой записи (или импорта записей) в сущность Виды работ автоматически подставлялись эти значения в указанные поля в настройках каждого при условии совпадения значения в том поле Раскрывающийся (Глобальный) список и в сущности Виды работ (норматив) и в сущности Виды работ.
Т.е. условие такое: "поле Константа 1 для сущности Виды работ: если в записи 1 сущности Виды работ поле Типы работ=Сверловка, то подставить значения из сущности Виды работ (норматив), где поле Типы работ=Сверловка из поля Константа 1". Т.е. передать значение "1,2" в "формульное" поле сущности Виды работ.
Как построить запрос ?
Re: Запрос на передачу значений из записей, имеющих одинаковое значение Глобального списка
Добавлено: 29 дек 2019, 05:32
olegikostiuk
Может сделать не глобальный список, а отдельную сущность, в которую включить список работу, например Сверловка, константа 1,2, и связать эти поля в нужной сущности, по типу сущность Аякс или сущность многоуровневый список, чтобы при выборе нужной работы в поля автоматически попадали нормативы по этой работе.
Re: Запрос на передачу значений из записей, имеющих одинаковое значение Глобального списка
Добавлено: 29 дек 2019, 05:48
support
Нужно использовать поле MySQL запрос
https://docs.rukovoditel.net/ru/index.php?p=24
Выбрать из сущности: Виды работ (норматив)
Выбрать поле: [x] где x - id поля Константа 1
Условие: [x1]=[x2] где x - Типы работ из
Виды работ (норматив) и
Виды работ
Re: Запрос на передачу значений из записей, имеющих одинаковое значение Глобального списка
Добавлено: 29 дек 2019, 14:26
alcompstudio
olegikostiuk писал(а): 29 дек 2019, 05:32
Может сделать не глобальный список, а отдельную сущность, в которую включить список работу, например Сверловка, константа 1,2, и связать эти поля в нужной сущности, по типу сущность Аякс или сущность многоуровневый список, чтобы при выборе нужной работы в поля автоматически попадали нормативы по этой работе.
Да, так можно, спасибо за совет. Но тут нужно в каждую запись отдельно входить, чтобы такое действие сработало... А мне нужно, например, чтобы после импорта 1000 записей (их именно столько может быть) - сразу видеть результат, который "подтянется" в нужные поля. Заполнять отдельно поля через сущность аякс - очень долго будет.
Re: Запрос на передачу значений из записей, имеющих одинаковое значение Глобального списка
Добавлено: 29 дек 2019, 14:27
alcompstudio
support писал(а): 29 дек 2019, 05:48
Нужно использовать поле MySQL запрос
https://docs.rukovoditel.net/ru/index.php?p=24
Выбрать из сущности: Виды работ (норматив)
Выбрать поле: [x] где x - id поля Константа 1
Условие: [x1]=[x2] где x - Типы работ из
Виды работ (норматив) и
Виды работ
Спасибо, попробую составить запрос.
Re: Запрос на передачу значений из записей, имеющих одинаковое значение Глобального списка
Добавлено: 19 янв 2020, 21:01
alcompstudio
Данный способ работает, все выводится как нужно.
А как сделать такое же, но если вместо поля Глобального списка-справочника будет выступать поле с типом Сущность? Я попробовал сделать по вышеуказанному примеру, но в результате выводится "0". Может как-то по другому составляется конструкция запроса для поля с типом Сущность?
Re: Запрос на передачу значений из записей, имеющих одинаковое значение Глобального списка
Добавлено: 20 янв 2020, 16:53
support
А как сделать такое же, но если вместо поля Глобального списка-справочника будет выступать поле с типом Сущность?
Дайте больше подробностей, покажите структуру, связи и это поле сущность выбором одно значения?
Re: Запрос на передачу значений из записей, имеющих одинаковое значение Глобального списка
Добавлено: 20 янв 2020, 17:38
alcompstudio
Да, это поле с выбором одного значения. Я подготовлю вам информацию, скину в ЛС.
Re: Запрос на передачу значений из записей, имеющих одинаковое значение Глобального списка
Добавлено: 30 янв 2025, 17:09
Алексей Г
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 лота, то запрос работает.
Помогите пожалуйста разобраться в чем дело.
Пробовал через Mysql формулу, там ситуация наоборот, получить id лота через функции и сравнить удается, но вид работ не хочет сравнивать и выбирать по условию
Re: Запрос на передачу значений из записей, имеющих одинаковое значение Глобального списка
Добавлено: 31 янв 2025, 14:01
Алексей Г
И еще один вопрос,
почему 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