powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
25 сообщений из 136, страница 3 из 6
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
    #38914708
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSV,

С другой стороны конечно, если есть выборка договоров и нужно отобразить в лукапе только закрытые, то лень наследоваться и создовать выборку "Закрытые договоры", проще в фильтре прописать CloseDate is not null.
Но ведь не ровён час, выборка "Закрытые договоры" понадобится еще где-то, а значит выражение CloseDate is not null задублируется.
Потом вы решите что закрытые не по дате определяются, а по статусу и придется выпиливать все эти места.
...
Рейтинг: 0 / 0
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
    #38914716
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviarLSVплодит формы и их не может быть бесконечно много.
Если есть наследование, нехай себе будет их много. Эта произвольная форма может отличаться от предка парой символов и индивидуальным наименованием. Зато все разложено по полкам - вот конкретно выбрка для таких-то случаев, вот для таких-то.Возможность передачи параметра в лукап-форму все таки нужна, т.к. значений параметра может быть много. индивидуальных форм не напасешься.
...
Рейтинг: 0 / 0
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
    #38914740
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot LSV]Тоже задавался вопросом передачи доп. фильтра при лукапе.
Это может быть полезно, особенно если фильтр должен меняться у разных строк датасета.

Да, так и сделано: связь от "Источник значения параметра в правиле отборе" на "Реквизит в структуре данных".
При запуске выбора значение этого реквизита в форме будет взято как значение конкретного параметра критерия.

LSVУ меня в фреймворке есть возможность открывать разные формы в завис. от условия. Но это решает проблему лишь частично, т.к. плодит формы и их не может быть бесконечно много.
То бишь количество форм соттветствует количеству параметризованных критериев отбора?
Если да, то роде не страшно, и их количество таки поддаётся пересчёту комбинаторикой :).
А при подходе "выборка из перечня" сама есть новый "перечень" ещё и оценивается +- количеством узлов сбалансированного дерева с глубиной в количество реквизитов из перечня.

И, по-моему, dma_caviar так и предлагал делать (с наследованием).
Вопрос в следующем:
- какие комбинации фильтров "востребованы"? (это зависит в том числе и от конретного внедрения);
- что нужно сделать (настроить или разработать+перекомпилировать), если нужной комбинации фильтров нет.
...
Рейтинг: 0 / 0
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
    #38914742
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVdma_caviarпропущено...

Если есть наследование, нехай себе будет их много. Эта произвольная форма может отличаться от предка парой символов и индивидуальным наименованием. Зато все разложено по полкам - вот конкретно выбрка для таких-то случаев, вот для таких-то.Возможность передачи параметра в лукап-форму все таки нужна, т.к. значений параметра может быть много. индивидуальных форм не напасешься.
Для лукапа тоже надо все сделать настраиваемой и при этом надо думать что лукапы тоже попадают под действия разграничение прав
Делается это так
...
Рейтинг: 0 / 0
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
    #38914746
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛойiscrafmЛишнее все то, что сверх банальной выборки с передаваемой в нее параметром, какой тип записей отбирать в нее. Подумайте сами, если все это можно сделать банально "where st = <значение параметра> ", к тому же индексированное и т.д., то в чем смысл делать столько лишнего? Что бы кому-то показать что каким то образом домайн все же может заработать, просто нужно смирится с кучей непонятно чего.
Боюсь сделать много лишних домыслов, чтобы от "настройки банальной выборки с передаваемой в нее параметром, какой тип записей отбирать в нее" перейти к "хранения этих настроек в РСУБД". Вас не затруднит простенькую структуру набросать?
не совсем понимаю какой набросок Вы хотите...
есть таблица документов, есть таблица контрагентов. У контрагента есть поле состояния, допустим поле с именем st. Это поле содержит значение 0 или 1, в простейшем случае. Для выбора возможных значений из таблицы контрагентов используется банальная выборка с условием "where st = <нужное значение передаваемого параметра>".
...
Рейтинг: 0 / 0
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
    #38914756
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

при том это только один из способов лукапа (жесткого)
механизм лукап воще то должен быть интеллектуальным, в ВИПРОС встроен 4 алгоритма ранжированных по приоритетам (тоже настраивается)
...
Рейтинг: 0 / 0
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
    #38914763
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos...лукапы тоже попадают под действия разграничение прав...
..Делается это так..
Вот ещё интересные требования/фичи всплыли в топике:
1. Право видеть значение из перечня независимо от реквизита, для которого выполняется выбор
2. Право видеть значение из перечня при выборе в этот реквизит (т.е. в зависимости от пользователя, результат предлагаемой выборки разный)
3. Тип значения реквизита может быть неким множеством, которое есть объединение нескольких множеств-перечней (в терминологии ViPRos - нескольких макротипов :).
...
Рейтинг: 0 / 0
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
    #38914769
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос в следующем:
- какие комбинации фильтров "востребованы"? (это зависит в том числе и от конретного внедрения);
- что нужно сделать (настроить или разработать+перекомпилировать), если нужной комбинации фильтров нет. Лукап-форма должна иметь вх.параметры для фильтра.
Например:
Справочник контрагентов. Его производные: список заказчиков, список поставщиков, список "наших ЮЛ" и т.д.
Сложность выборки может быть довольно сложной. Например, "список заказчиков-юрлиц, у кот. задолженность выше ХХХ".

На каждую "ступеньку усложнения" нужен отдельный параметр. По умолчанию параметр =0 (т.е. не фильтруется).

Я уже представляю, как передавать фильтры в лукап-форму. Со временем сделаю.
...
Рейтинг: 0 / 0
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
    #38914774
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosLSVпропущено...
Возможность передачи параметра в лукап-форму все таки нужна, т.к. значений параметра может быть много. индивидуальных форм не напасешься.
Для лукапа тоже надо все сделать настраиваемой и при этом надо думать что лукапы тоже попадают под действия разграничение прав
Делается это так
По поводу разграничения прав "построчно для выборки"... ну это можно средстваи sql решить в каком-то конкретном случае.
Например есть список договоров, у кого-то есть доступ к одним договорам, у кого-то в другим, эта инфа хранится в отдельной таблице, что-то типа "AgreementRoles" с полями AgreementID и RoleID (или UserID). Делаем джоин или другой финт. А в скрипт передаем текущую сессию или текущего юзера.

Я к тому что на эту тему не обязательно усложнять метаданные иначе есть риск перемешать метаданные с данными, что очень плохо в нашем деле.
...
Рейтинг: 0 / 0
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
    #38914777
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosViPRos,

при том это только один из способов лукапа (жесткого)
механизм лукап воще то должен быть интеллектуальным, в ВИПРОС встроен 4 алгоритма ранжированных по приоритетам (тоже настраивается)
"Ранжирование" в вашем случае сильно отличается от некоего правила сортировки перечня, где поле для сортировки заполняется как некая функция: от простого значения реквизитов перечня до "сначала те, у которых остатки есть " и даже до "первыми идут те, которые данный пользователь в этом месте сегодня уже выбирал"?
...
Рейтинг: 0 / 0
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
    #38914779
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.е. в зависимости от пользователя, результат предлагаемой выборки разныйЭто решается довольно просто: по юзерИД в запросе есть фильтр а-ля WHERE GetUserRight('ICanSeeIt', USER_ID() )=1
...
Рейтинг: 0 / 0
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
    #38914782
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmАнатоЛойпропущено...

Боюсь сделать много лишних домыслов, чтобы от "настройки банальной выборки с передаваемой в нее параметром, какой тип записей отбирать в нее" перейти к "хранения этих настроек в РСУБД". Вас не затруднит простенькую структуру набросать?
не совсем понимаю какой набросок Вы хотите...
есть таблица документов, есть таблица контрагентов. У контрагента есть поле состояния, допустим поле с именем st. Это поле содержит значение 0 или 1, в простейшем случае. Для выбора возможных значений из таблицы контрагентов используется банальная выборка с условием "where st = <нужное значение передаваемого параметра>".

Смотрим условие в первом посте "настройка хранится в реляционной СУБД".
Можете нарисовать таблицы и внешние ключи, обеспечивающие хранение этой настройки?
...
Рейтинг: 0 / 0
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
    #38914786
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosViPRos,

при том это только один из способов лукапа (жесткого)
механизм лукап воще то должен быть интеллектуальным, в ВИПРОС встроен 4 алгоритма ранжированных по приоритетам (тоже настраивается)
Вот это как раз потому что у вас немного другой класс системы. В которой такие вещи настраиваются не написанием sql, а через декларативное перечисление правил отбора (могу ошибаться) и тут понятное дело, нужны приоритеты.
...
Рейтинг: 0 / 0
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
    #38914789
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

А можно ли кстати, в ВИПРОСе вот таким вот наглым образом взять и прописать sql скрипт?

[quot LSV]WHERE GetUserRight('ICanSeeIt', USER_ID() )=1
...
Рейтинг: 0 / 0
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
    #38914794
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛойViPRosViPRos,

при том это только один из способов лукапа (жесткого)
механизм лукап воще то должен быть интеллектуальным, в ВИПРОС встроен 4 алгоритма ранжированных по приоритетам (тоже настраивается)
"Ранжирование" в вашем случае сильно отличается от некоего правила сортировки перечня, где поле для сортировки заполняется как некая функция: от простого значения реквизитов перечня до "сначала те, у которых остатки есть " и даже до "первыми идут те, которые данный пользователь в этом месте сегодня уже выбирал"?
ранжируются эти алгоритмы
предлагается лукап по первому (обычно это полностью устраивает), дальше другие
сбор всего массива по всем алгоритмам может быть затратным
...
Рейтинг: 0 / 0
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
    #38914812
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot dma_caviar]ViPRos,

А можно ли кстати, в ВИПРОСе вот таким вот наглым образом взять и прописать sql скрипт?

LSVпропущено...

нет нужды
а так можно
...
Рейтинг: 0 / 0
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
    #38914813
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛойiscrafmпропущено...

не совсем понимаю какой набросок Вы хотите...
есть таблица документов, есть таблица контрагентов. У контрагента есть поле состояния, допустим поле с именем st. Это поле содержит значение 0 или 1, в простейшем случае. Для выбора возможных значений из таблицы контрагентов используется банальная выборка с условием "where st = <нужное значение передаваемого параметра>".

Смотрим условие в первом посте "настройка хранится в реляционной СУБД".
Можете нарисовать таблицы и внешние ключи, обеспечивающие хранение этой настройки?
я не сторонник хранения каких-то настроек в реляционных БД, поэтому не могу нарисовать такое.
...
Рейтинг: 0 / 0
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
    #38914816
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
иногда для пивотов отчетов и т.д. легче писать скл чем настраивать виртуальные типы и т.д. механизмы
...
Рейтинг: 0 / 0
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
    #38914822
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosиногда для пивотов отчетов и т.д. легче писать скл чем настраивать виртуальные типы и т.д. механизмы
С этим не поспоришь. По идее и по выборкам и по скриптам сохранения и т.д. тоже. SQL ведь знает любой студент.
...
Рейтинг: 0 / 0
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
    #38914823
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тут скл не страшен
а вот в логике - скл запрещен
админы имею дебильное правило "оптимизировать" СКЛ :)
...
Рейтинг: 0 / 0
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
    #38914830
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviarViPRosиногда для пивотов отчетов и т.д. легче писать скл чем настраивать виртуальные типы и т.д. механизмы
С этим не поспоришь. По идее и по выборкам и по скриптам сохранения и т.д. тоже. SQL ведь знает любой студент.
нет, в ВИПРОС СКЛ сложный, так как обычно ссылочный тип = множество типов, там нужы куча юнион по совпадающим совйствам типов, джойнов через все эти типы, если они сами куда то ссылаются, есть механизм персистентной/неперсистентной миграции свойств типов автоматически и т.д.
мало кто может писать СКЛ для ВИПРОС вручную
...
Рейтинг: 0 / 0
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
    #38914847
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosа вот в логике - скл запрещен
в логике его родное место. Вот хранить настройки (фактически реляционные данные преобразовать туда-обратно) - sql лишний
...
Рейтинг: 0 / 0
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
    #38914849
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosdma_caviarпропущено...

С этим не поспоришь. По идее и по выборкам и по скриптам сохранения и т.д. тоже. SQL ведь знает любой студент.
нет, в ВИПРОС СКЛ сложный, так как обычно ссылочный тип = множество типов, там нужы куча юнион по совпадающим совйствам типов, джойнов через все эти типы, если они сами куда то ссылаются, есть механизм персистентной/неперсистентной миграции свойств типов автоматически и т.д.
мало кто может писать СКЛ для ВИПРОС вручную
А эти скрипты динамические? Или генерятся процедуры, а из системы дергается вызов этой процедуры?
...
Рейтинг: 0 / 0
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
    #38914856
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm,

да какая логика на скл, когда можешь писать select 'ишак' человек from море
если бы СКЛ был умным то другое дело
ВИПРОС в принципе только для тго и сделан что бы загнать СКЛ в рамки теории множеств, выкинув все лишнее творчество народа
...
Рейтинг: 0 / 0
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
    #38914859
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviar,

полу динамические :)
при изменении метаданных генерятся основные части скл предложений и хранятся до следующих изменений
а всякие там предикаты и т.д. генеряртся налету по контексту и объединяется с полудинамичсескими и получается динамичсекий запрос
...
Рейтинг: 0 / 0
25 сообщений из 136, страница 3 из 6
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]