Возникает проблема. Когда через портал выбираю запчасть, получаю ее ID по скрипту (см. скриншот). Автоматически заполняются Цена, Артикул и тд..
Но этот скрипт работает лишь для двух строк портала. Дальше начинает зависать.
Может можно сделать так, если запчасть уже выбрана, она не будет отображаться в выпадающем списке (вып.список формируется из таблицы Запчасти).
Или может есть другие варианты получения ID запчасти из привязанной таблицы.
Передать ID
Передать ID
- Вложения
-
- Снимок экрана 2018-04-02 в 2.01.40.png (77.91 КБ) 10515 просмотров
- mihalych_2017
- Сообщения: 39
- Зарегистрирован: 11 сен 2017, 15:36
- Откуда: Подольск
- Контактная информация:
Re: Передать ID
А почему бы не связать Строки накладной с таблицей Запчасти по наименованию запчасти?
Тогда можно получить id Запчасти напрямую.
Тогда можно получить id Запчасти напрямую.
-
- Сообщения: 106
- Зарегистрирован: 21 сен 2017, 18:48
- Откуда: Минск
Re: Передать ID
Для получения ID я бы порекомендовал сделать портал пикер вместо выпадающего списка.
Это позволит искать запчасти:
- по названию
- по артикулу
- по цене
- и т.п.
Здесь небольшой пример, как я себе это вижу
Re: Передать ID
Крутое решение. спасибо! Попробовала перенести его в свой проект, но к сожалению, не корректно все работает.
Так как в макете Диагностика я работаю через таблицу Заказы, здесь не позволяет выбирать и добавлять запчасти, как показано в Вашем примере.
Если макет Диагностика привязываю к Накладной, то все работает супер, но поля из таблицы "Диагностика и ремонт" не отображаются в макете Диагностики, в котором я работаю и там теряется вся связь. Надеюсь, понятно объяснила.
Как можно решить проблему, не ломая все собранное?
Как сделать так, чтобы была возможность поиска, но чтобы все сохранялось, а именно у Заказа был свой ДИАГ ЛИСТ, у ДИАГ ЛИСТА был свой СЧЕТ. Соответственно у счета множество своих строк с разными деталями.
Так как в макете Диагностика я работаю через таблицу Заказы, здесь не позволяет выбирать и добавлять запчасти, как показано в Вашем примере.
Если макет Диагностика привязываю к Накладной, то все работает супер, но поля из таблицы "Диагностика и ремонт" не отображаются в макете Диагностики, в котором я работаю и там теряется вся связь. Надеюсь, понятно объяснила.
Как можно решить проблему, не ломая все собранное?
Как сделать так, чтобы была возможность поиска, но чтобы все сохранялось, а именно у Заказа был свой ДИАГ ЛИСТ, у ДИАГ ЛИСТА был свой СЧЕТ. Соответственно у счета множество своих строк с разными деталями.
- Вложения
-
- Снимок экрана 2018-04-15 в 8.33.35.png (37.46 КБ) 10380 просмотров
-
- Снимок экрана 2018-04-15 в 8.25.10.png (35.41 КБ) 10380 просмотров
-
- Сообщения: 106
- Зарегистрирован: 21 сен 2017, 18:48
- Откуда: Минск
Re: Передать ID
Мария, добрый день. Рад, что пример подошел. Могу предложить привязать Пикер к тому Макету (таблице), в котором вы работаете (т.е. если это Макет Диагностика (основанный на Заказы), сделайте связку прямо из таблицы Заказы - правки отмечены маркером на вашей схеме) вместо привязки к Накладной.Maria писал(а): ↑15 апр 2018, 01:36
Так как в макете Диагностика я работаю через таблицу Заказы, здесь не позволяет выбирать и добавлять запчасти, как показано в Вашем примере.
Если макет Диагностика привязываю к Накладной, то все работает супер, но поля из таблицы "Диагностика и ремонт" не отображаются в макете Диагностики, в котором я работаю и там теряется вся связь. Надеюсь, понятно объяснила.
Re: Передать ID
Нет, не получается. В портале - пикере не отображаются Запчасти Возможно, он пытается найти связанные записи с таблицей запчастей, а их как бы нет, т.к. для начала мы должны их выбрать..
Re: Передать ID
Очень понравился данный поиск, не хочется его терять )
Конечно и по-другому все работает (если передавать ID), но без поиска уже не то
Конечно и по-другому все работает (если передавать ID), но без поиска уже не то
-
- Сообщения: 106
- Зарегистрирован: 21 сен 2017, 18:48
- Откуда: Минск
Re: Передать ID
Вы можете сделать самопроверку привязки Пикера к таблице Х (например, Заказ далее обозначается как таблица Х ) по такому списку.
1. В Таблице Х есть поле gПоискЗапчастиID - глобальное текстовое
2. В Таблице Х есть gПоискЗапчасти - глобальное текстовое
3. Между таблицей Х и Запчасти установлена связь Х_Запчасти по полю gПоискЗапчастиID = PartID
4. В скрипте SearchID ссылки заменены на поля Таблица Х::gПоискЗапчастиID (там где устанавливается поле и в последнем аргументе формулы ExecuteSQL там где подставляется поисковое значение -- Substitute (Lower( Таблица Х::gПоискЗапчасти ); " "; "%" )
5. Пикер вместе с поисковым полем скопирован на макет, основанный на таблице Х и изменены ссылки для поискового поля Пикера на поле Таблица Х::gПоискЗапчасти, а для всего портала для каждого поля в портале на созданную в п.3 связь с таблицей Запчасти - Х_Запчасти::Артикул, Название, PartID и т.д.
6. В кнопке (Плюсик) исправлен параметр с которым запускается привязанный к кнопке скрипт CreateOrderItem - ссылка на поле PartID через на созданную в п3. связь -- Х_Запчасти::PartID
7.Исправлены ссылки в скрипте CreateOrderItem так чтобы они работали с макета, основанного на Таблице Х
8. Исправлена формула в условном форматировании кнопки с плюсиком в портале
9. У поля для поиска gSearch есть триггер, скрипт SearchID
10. ОСТОРОЖНО при использовании кнопки удаление строки заказа в портале обязательно проверьте, что свойствах связи между OrderItem и Part сняты галки с каскадного удаление, иначе будут удаляться записи из справочника
Подсказать что-то более конкретное, можно было бы взглянув на файл. Я правильно понимаю, что вы описываете бизнес-модель Сервиса по ремонту чего-то ?
1. В Таблице Х есть поле gПоискЗапчастиID - глобальное текстовое
2. В Таблице Х есть gПоискЗапчасти - глобальное текстовое
3. Между таблицей Х и Запчасти установлена связь Х_Запчасти по полю gПоискЗапчастиID = PartID
4. В скрипте SearchID ссылки заменены на поля Таблица Х::gПоискЗапчастиID (там где устанавливается поле и в последнем аргументе формулы ExecuteSQL там где подставляется поисковое значение -- Substitute (Lower( Таблица Х::gПоискЗапчасти ); " "; "%" )
5. Пикер вместе с поисковым полем скопирован на макет, основанный на таблице Х и изменены ссылки для поискового поля Пикера на поле Таблица Х::gПоискЗапчасти, а для всего портала для каждого поля в портале на созданную в п.3 связь с таблицей Запчасти - Х_Запчасти::Артикул, Название, PartID и т.д.
6. В кнопке (Плюсик) исправлен параметр с которым запускается привязанный к кнопке скрипт CreateOrderItem - ссылка на поле PartID через на созданную в п3. связь -- Х_Запчасти::PartID
7.Исправлены ссылки в скрипте CreateOrderItem так чтобы они работали с макета, основанного на Таблице Х
8. Исправлена формула в условном форматировании кнопки с плюсиком в портале
9. У поля для поиска gSearch есть триггер, скрипт SearchID
10. ОСТОРОЖНО при использовании кнопки удаление строки заказа в портале обязательно проверьте, что свойствах связи между OrderItem и Part сняты галки с каскадного удаление, иначе будут удаляться записи из справочника
Подсказать что-то более конкретное, можно было бы взглянув на файл. Я правильно понимаю, что вы описываете бизнес-модель Сервиса по ремонту чего-то ?