Запрос на передачу значений из записей, имеющих одинаковое значение Глобального списка
- alcompstudio
- Спонсор
- Сообщения: 1798
- Зарегистрирован: 03 янв 2016, 20:42
- Имя: Александр
- Откуда: Мир
Запрос на передачу значений из записей, имеющих одинаковое значение Глобального списка
Есть такая структура (примерно):
Заказы
- Детали
-- Виды работ
.....
Виды работ (норматив)
в сущностях Виды работ и Виды работ (норматив) имеются поля с типом Раскрывающийся список, которые берут значения из оного и того же Глобального списка (назовем его Типы работ).
В сущности Виды работ (норматив) - есть поле Константа 1 (числовое). Т.е. эта сущность выступает неким справочником данных.
Какой запрос сделать в поле (MySQL формула, или MySQL запрос), чтобы значения из записей сущности Виды работ (норматив) автоматом подставлялись в записи сущности Виды работ, согласно "определяющего" поля с Раскрывающимся списком (Типов работ). Т.е. система "видела одинаковые значения" в обоих сущностях и передавала по ним данные других полей по настройкам.
Т.е. пример, в сущности Виды работ (норматив) есть запись с такими данными:
Поле (глоб.список) Тип работы - Сверловка.
Поле Константа 1 - 1,2
Нужно чтобы при добавлении новой записи (или импорта записей) в сущность Виды работ автоматически подставлялись эти значения в указанные поля в настройках каждого при условии совпадения значения в том поле Раскрывающийся (Глобальный) список и в сущности Виды работ (норматив) и в сущности Виды работ.
Т.е. условие такое: "поле Константа 1 для сущности Виды работ: если в записи 1 сущности Виды работ поле Типы работ=Сверловка, то подставить значения из сущности Виды работ (норматив), где поле Типы работ=Сверловка из поля Константа 1". Т.е. передать значение "1,2" в "формульное" поле сущности Виды работ.
Как построить запрос ?
Заказы
- Детали
-- Виды работ
.....
Виды работ (норматив)
в сущностях Виды работ и Виды работ (норматив) имеются поля с типом Раскрывающийся список, которые берут значения из оного и того же Глобального списка (назовем его Типы работ).
В сущности Виды работ (норматив) - есть поле Константа 1 (числовое). Т.е. эта сущность выступает неким справочником данных.
Какой запрос сделать в поле (MySQL формула, или MySQL запрос), чтобы значения из записей сущности Виды работ (норматив) автоматом подставлялись в записи сущности Виды работ, согласно "определяющего" поля с Раскрывающимся списком (Типов работ). Т.е. система "видела одинаковые значения" в обоих сущностях и передавала по ним данные других полей по настройкам.
Т.е. пример, в сущности Виды работ (норматив) есть запись с такими данными:
Поле (глоб.список) Тип работы - Сверловка.
Поле Константа 1 - 1,2
Нужно чтобы при добавлении новой записи (или импорта записей) в сущность Виды работ автоматически подставлялись эти значения в указанные поля в настройках каждого при условии совпадения значения в том поле Раскрывающийся (Глобальный) список и в сущности Виды работ (норматив) и в сущности Виды работ.
Т.е. условие такое: "поле Константа 1 для сущности Виды работ: если в записи 1 сущности Виды работ поле Типы работ=Сверловка, то подставить значения из сущности Виды работ (норматив), где поле Типы работ=Сверловка из поля Константа 1". Т.е. передать значение "1,2" в "формульное" поле сущности Виды работ.
Как построить запрос ?
-
- Сообщения: 135
- Зарегистрирован: 22 окт 2019, 10:47
- Имя: Олег Костюк
- Откуда: Россия
- Организация: personal
Re: Запрос на передачу значений из записей, имеющих одинаковое значение Глобального списка
Может сделать не глобальный список, а отдельную сущность, в которую включить список работу, например Сверловка, константа 1,2, и связать эти поля в нужной сущности, по типу сущность Аякс или сущность многоуровневый список, чтобы при выборе нужной работы в поля автоматически попадали нормативы по этой работе.
- support
- Техническая поддержка
- Сообщения: 9494
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Запрос на передачу значений из записей, имеющих одинаковое значение Глобального списка
Нужно использовать поле MySQL запрос
https://docs.rukovoditel.net/ru/index.php?p=24
Выбрать из сущности: Виды работ (норматив)
Выбрать поле: [x] где x - id поля Константа 1
Условие: [x1]=[x2] где x - Типы работ из Виды работ (норматив) и Виды работ
https://docs.rukovoditel.net/ru/index.php?p=24
Выбрать из сущности: Виды работ (норматив)
Выбрать поле: [x] где x - id поля Константа 1
Условие: [x1]=[x2] где x - Типы работ из Виды работ (норматив) и Виды работ
- alcompstudio
- Спонсор
- Сообщения: 1798
- Зарегистрирован: 03 янв 2016, 20:42
- Имя: Александр
- Откуда: Мир
Re: Запрос на передачу значений из записей, имеющих одинаковое значение Глобального списка
Да, так можно, спасибо за совет. Но тут нужно в каждую запись отдельно входить, чтобы такое действие сработало... А мне нужно, например, чтобы после импорта 1000 записей (их именно столько может быть) - сразу видеть результат, который "подтянется" в нужные поля. Заполнять отдельно поля через сущность аякс - очень долго будет.olegikostiuk писал(а): ↑29 дек 2019, 05:32 Может сделать не глобальный список, а отдельную сущность, в которую включить список работу, например Сверловка, константа 1,2, и связать эти поля в нужной сущности, по типу сущность Аякс или сущность многоуровневый список, чтобы при выборе нужной работы в поля автоматически попадали нормативы по этой работе.
- alcompstudio
- Спонсор
- Сообщения: 1798
- Зарегистрирован: 03 янв 2016, 20:42
- Имя: Александр
- Откуда: Мир
Re: Запрос на передачу значений из записей, имеющих одинаковое значение Глобального списка
Спасибо, попробую составить запрос.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: Запрос на передачу значений из записей, имеющих одинаковое значение Глобального списка
Данный способ работает, все выводится как нужно.
А как сделать такое же, но если вместо поля Глобального списка-справочника будет выступать поле с типом Сущность? Я попробовал сделать по вышеуказанному примеру, но в результате выводится "0". Может как-то по другому составляется конструкция запроса для поля с типом Сущность?
А как сделать такое же, но если вместо поля Глобального списка-справочника будет выступать поле с типом Сущность? Я попробовал сделать по вышеуказанному примеру, но в результате выводится "0". Может как-то по другому составляется конструкция запроса для поля с типом Сущность?
- support
- Техническая поддержка
- Сообщения: 9494
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Запрос на передачу значений из записей, имеющих одинаковое значение Глобального списка
Дайте больше подробностей, покажите структуру, связи и это поле сущность выбором одно значения?А как сделать такое же, но если вместо поля Глобального списка-справочника будет выступать поле с типом Сущность?
- alcompstudio
- Спонсор
- Сообщения: 1798
- Зарегистрирован: 03 янв 2016, 20:42
- Имя: Александр
- Откуда: Мир
Re: Запрос на передачу значений из записей, имеющих одинаковое значение Глобального списка
Да, это поле с выбором одного значения. Я подготовлю вам информацию, скину в ЛС.
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 лота, то запрос работает.
Помогите пожалуйста разобраться в чем дело. Пробовал через Mysql формулу, там ситуация наоборот, получить id лота через функции и сравнить удается, но вид работ не хочет сравнивать и выбирать по условию
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
почему 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