|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
Вход: В системе имеются: - некий перечень организаций, с которыми мы имели или имеем сношения (например, "Контрагенты"); - перечень договоров поставки контрагентам с признаком действия на текущий момент. - некие формы ввода документов (например, "Создание заявки на отпуск товара клиенту", "Создание именной рекламы бывшему клиенту"); - обе формы в заголовке содержат реквизит "Контрагент" (т.е. клиент/бывший клиент); - в заявке нужно выбирать только текущих клиентов (у которых есть действующий договор); - в рекламе нужно выбирать только клиентов, у которых нет действующего договора. Задача: спроектировать в системе возможность настройки удобного выбора клиента в зависимости от формы. Условие: настройка хранится в реляционной СУБД. Формат решения: диаграмма E/R. Вариант решения №1 на рисунке (2-ой дан :) Комментарии, предложения? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2015, 20:56 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
АнатоЛой- в заявке нужно выбирать только текущих клиентов (у которых есть действующий договор); - в рекламе нужно выбирать только клиентов, у которых нет действующего договора. Анатолий, а в чем сложность в первом случае выбирать контрагентов со значением в каком-то поле 1, а во втором - 0? Т.е. в запрос списка клиентов передавать параметром статус клиентов, в зависимости от того, в каком документе этот запрос вызывается. Или есть какие-то скрытые особенности? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2015, 21:33 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
iscrafmАнатоЛой- в заявке нужно выбирать только текущих клиентов (у которых есть действующий договор); - в рекламе нужно выбирать только клиентов, у которых нет действующего договора. Анатолий, а в чем сложность в первом случае выбирать контрагентов со значением в каком-то поле 1, а во втором - 0? Т.е. в запрос списка клиентов передавать параметром статус клиентов, в зависимости от того, в каком документе этот запрос вызывается. Или есть какие-то скрытые особенности? "Спасибо за вопрос" (с) набившие оскомину знатоки правильного диалога. В предложенном решении №1 как раз явно присутствует недостаток: не выполняются эти самые условия. Вход задачи- в заявке нужно выбирать только текущих клиентов (у которых есть действующий договор); - в рекламе нужно выбирать только клиентов, у которых нет действующего договора. Предлагаю уточнение к варианту №1 (вариант №2) (см. рисунок, 3-ий дан :). Выгоды по сравнению с "передавать параметром статус клиентов" следующие: - имеем "русскоговорящее название" критерия отбора данных; - имеем учёт реквизитов, в формах которых используют тот или иной алгоритм отбора; - не привязываемся к текущему способу получения/хранения реквизита "имеет действующий договор". Комментарии/предложения принимаются. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2015, 21:48 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
У варианта №2 есть важный момент: если необходимые критерии можно реализовать на уровне SQL, то "Алгоритм отбора" - это обычные предикаты WHERE к Код: sql 1.
. Например: "is_client = 0" или "OrgIsClient(id_organization, TODAY) = 0", или "( Код: sql 1.
) > 0". Т.е. есть возможность использовать "SQL-скрипты" без подключения: - интерпретатора скриптов на языке ООП; - впиливания в сервер приложений case/switch, который в зависимости от "названия" алгоритма будет вызывать некий метод; - впиливания в сервер приложений динамического вызова функции по названию и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2015, 22:14 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
Недостаток варианта №2 - "безусловные" критерии. Как показано в примерах-коментариях, критерии работают без входных данных... Ждите варианта №3... :) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2015, 22:16 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
АнатоЛойНедостаток варианта №2 - "безусловные" критерии. Как показано в примерах-коментариях, критерии работают без входных данных... А почему бы в них не передать входные данные? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2015, 22:57 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
dma_caviarАнатоЛойНедостаток варианта №2 - "безусловные" критерии. Как показано в примерах-коментариях, критерии работают без входных данных... А почему бы в них не передать входные данные? Например вот так как на скриншоте ниже. В данном примере есть общий справочник Сотрудники, в нем есть поле OfficeID. Мы хотим отфильтровать сотрудников только определенного офиса (пока не рассматриваем какого именно, это может быть "текущий" офис или параметр прибинденный к полю документа в котором и лежит собственно поле "Курьер"). ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2015, 23:25 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
dma_caviar, Но вообще-то это жутко фиговый подход. Какие-то обрывистые sql запросы. Совсем не очевидно с первого взгляда что тут происходит. Нужно лезть в скрипт справочника Сотрудников и догонять смысл (хотя можно визуально подсвечивать). А ведь платформы для того и создаются чтобы удешевлять разработку и повышать управляемость проектов. Я хочу у себя эту фичу прикрыть. Гораздо лучше унаследовать от Сотрудников еще один справочник, например "Сотрудники текущего офиса" или "Сотрудники", но с фильтрацией по офису, куда необходимо передавать обязательный параметр "Офис". ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2015, 23:26 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
dma_caviarНо вообще-то это жутко фиговый подход. Какие-то обрывистые sql запросы. Совсем не очевидно с первого взгляда что тут происходит. Хотели настраиваемую систему, а получили плохо управляемые метаданные. Куски кода, разбросанные по интерфейсу и без IDE для компиляции/поиска ошибок/рефакторинга... Предлагаю вариант №3 на рисунке (уже дан на 6-ой тянет :)... Сохраняем логику в реляционном виде: и совсем не проблема собрать запросом всё необходимое для анализа в кучу. И куча эта будет анализируема ровно настолько, насколько была декомпозирована изначально... :) Вариант №2: входные параметры + использование в качестве значений параметров: - констант, - констант из перечней, - переменных из текущих значений в форме. Комментарии/предложения/замечания/апплодисменты? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2015, 23:40 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
АнатоЛойСохраняем логику в реляционном виде: и совсем не проблема собрать запросом всё необходимое для анализа в кучу. И куча эта будет анализируема ровно настолько, насколько была декомпозирована изначально... :) Вот я как раз это имел в виду авторхотя можно визуально подсвечивать Это можно и к варианту 2 применить. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2015, 23:49 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
dma_caviarГораздо лучше унаследовать от Сотрудников еще один справочник, например "Сотрудники текущего офиса" или "Сотрудники", но с фильтрацией по офису, куда необходимо передавать обязательный параметр "Офис". 1. О! Спасибо, добавлю реквизит "Обязательный" во "Входной параметр критерия" 2. а) Переименуйте мои "Критерии отбора с фильтрацией" в "Подмножество перечня" или б) 1. Архитектуру реализации хранения настроек выберите не РСУБД, а язык ООП. 2. Для каждой сущности/реквизита/связи укажите альтернативу хранения в новой архитектуре 2.1. "Перечень" в "Тип/Класс" Domain Model, 2.2. "Критерии отбора с фильтрацией" в "Подтип/Наследник" Domain Model. 2.3. "Форму" в класс "UI View" ... Получим "тот же вид сбоку" (с)... :) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2015, 23:53 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
АнатоЛой2.3. "Форму" в класс "UI View" Вот тут не соглашусь. Форма и Представление, это все же разные вещи. Форма это сугубо разметка элементов управления и ничего более. А представление это фактически UI логика. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2015, 23:56 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
dma_caviarНо вообще-то это жутко фиговый подход. Какие-то обрывистые sql запросы. Совсем не очевидно с первого взгляда что тут происходит. Нужно лезть в скрипт справочника Сотрудников и догонять смысл (хотя можно визуально подсвечивать). А ведь платформы для того и создаются чтобы удешевлять разработку и повышать управляемость проектов. Очень хочу себя перепроверить. Если не затруднит, можно примеры проблем в вашей реализации, а я проверю и отпишусь, может ли это "проблема" быть реализаована как "рутинная задача" на моём варианте №3? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2015, 23:57 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
dma_caviarАнатоЛой2.3. "Форму" в класс "UI View" Вот тут не соглашусь. Форма и Представление, это все же разные вещи. Форма это сугубо разметка элементов управления и ничего более. А представление это фактически UI логика. Пардон, я использовал "UI View" из плохого паттерна "батонобросательной 2-х-звенки" :). Да, конечно, же тут "Форма" = "Представление/View", если брать паттерн MVP. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 00:01 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
АнатоЛой1. Архитектуру реализации хранения настроек выберите не РСУБД, а язык ООП. 2. Для каждой сущности/реквизита/связи укажите альтернативу хранения в новой архитектуре 2.1. "Перечень" в "Тип/Класс" Domain Model, 2.2. "Критерии отбора с фильтрацией" в "Подтип/Наследник" Domain Model. 2.3. "Форму" в класс "UI View" ... Получим "тот же вид сбоку" (с)... :) Т.е. получим вместо "хранения настроек функционала (настройка выбора значения из перечня в реквизит) " в виде "кода реализации настройки...на языке ООП" :). Мы правильно поняли друг-друга? :). ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 00:07 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
АнатоЛой, Собственно основная проблема тут одна, это разрыв sql кода, который будет в рантайме единым скрипитом. Т.е. скрипт вроде как единый, но конфигурится он в двух разных местах. Например автор"is_client = 0" или "OrgIsClient(id_organization, TODAY) = 0", Открываем и видим нечто непонятное. Ну в общем да... согласен, что можно в конфигураторе автоматом считать скрипт загрузки самого справочника, затем взять "is_client = 0", слить их оба и показать настройщику как единый скрипт (при этом можно даже заблокировать редактирование первой части и разрешить только вот эту часть править - "is_client = 0". Есть контролы с подсветкой синтаксиса, позволяющие это делать. И это, если я правильно понял и есть смысл "Варианта №3". Я даже было загорелся этой идеей сначала. Но потом прикинул, что все это маскировка проблемы. По идее, если настройщику требуется наложить фильтр на какой-то существующий справочник, значит ему просто не хватает еще одного справочника (точнее выборки на основе этого справочника). К тому же эта выборка может еще где-нибудь понадобится, так уж лучше пусть этот код будет описан в одном месте, например в "Сотрудники текущего офиса", и будет использоваться потом в нескольких местах безо всяких фильтров. В противном случае все эти фильтры придется дублировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 00:08 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
АнатоЛойАнатоЛой1. Архитектуру реализации хранения настроек выберите не РСУБД, а язык ООП. 2. Для каждой сущности/реквизита/связи укажите альтернативу хранения в новой архитектуре 2.1. "Перечень" в "Тип/Класс" Domain Model, 2.2. "Критерии отбора с фильтрацией" в "Подтип/Наследник" Domain Model. 2.3. "Форму" в класс "UI View" ... Получим "тот же вид сбоку" (с)... :) Т.е. получим вместо "хранения настроек функционала (настройка выбора значения из перечня в реквизит) " в виде "кода реализации настройки...на языке ООП" :). Мы правильно поняли друг-друга? :). Наверное да)) Хотя разговор получился настолько абстрактным, что я уже слабо догоняю. Только не понятно зачем все это заменять. Реализация левых частей перечисленных пунктов (архитектура реализации хранения метаданных в СУБД) более гибче, чем правых (язык ООП и т.п.) :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 00:14 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
dma_caviarНаверное да)) Хотя разговор получился настолько абстрактным, что я уже слабо догоняю. Забудь... По-крайней мере, пока... :). ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 00:18 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
dma_caviar, ты потихоньку ВИПРОС будешь делать :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 01:10 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
dma_caviarАнатоЛой, Собственно основная проблема тут одна, это разрыв sql кода, который будет в рантайме единым скрипитом. Т.е. скрипт вроде как единый, но конфигурится он в двух разных местах. Например автор"is_client = 0" или "OrgIsClient(id_organization, TODAY) = 0", Открываем и видим нечто непонятное. Ну в общем да... согласен, что можно в конфигураторе автоматом считать скрипт загрузки самого справочника, затем взять "is_client = 0", слить их оба и показать настройщику как единый скрипт (при этом можно даже заблокировать редактирование первой части и разрешить только вот эту часть править - "is_client = 0". Есть контролы с подсветкой синтаксиса, позволяющие это делать. И это, если я правильно понял и есть смысл "Варианта №3". Это можно сделать как в вариенте №3, так и в варианте №2. "Алгоритм отбора" появился уже в №2. Смысл вариант №3: есть описание выделенных входных параметров скрипта и описание правил заполенния параметров при вызове "критерия отбора" в рантайме... dma_caviarЯ даже было загорелся этой идеей сначала. Но потом прикинул, что все это маскировка проблемы. По идее, если настройщику требуется наложить фильтр на какой-то существующий справочник, значит ему просто не хватает еще одного справочника (точнее выборки на основе этого справочника). Вот же она, эта "выборка" - запись в "Критерии отбора из перечня". - описываешь один раз (например, "Актуальный клиент"); - алгоритм отбора описываешь один раз (настройщик сам или по чьей-то наводке - всё с наворотами из первой цитаты); - используешь везде, где требуется "актуальный клиент"; - видишь по связям (FK для РСУБД), где используется; ... dma_caviar К тому же эта выборка может еще где-нибудь понадобится, так уж лучше пусть этот код будет описан в одном месте, например в "Сотрудники текущего офиса", и будет использоваться потом в нескольких местах безо всяких фильтров. В противном случае все эти фильтры придется дублировать. Хорошо, если "Текущий офис" и "Отв.сотрудник текущего офиса" в "Заявке на канцтовары" - реквизит заголовка документа. А если "Офис" и "Отв.сотрудник офиса" в "Бюджете заказа канцтоваров по офисам" - связанные реквизиты в строке документа? На рисунке вариант №4: Явно разделены сторона "Форма" с настройками реквизита (слева) и описание перечней и критериев отбора (справа), водораздел между ними: 3 отношения, левые части которых выделены жирным. Задавайте конкретные вопросы, устану расписывать :( :). ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 01:11 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
ViPRos, ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 01:19 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
АнатоЛойХорошо, если "Текущий офис" и "Отв.сотрудник текущего офиса" в "Заявке на канцтовары" - реквизит заголовка документа. А если "Офис" и "Отв.сотрудник офиса" в "Бюджете заказа канцтоваров по офисам" - связанные реквизиты в строке документа? В смысле, что делать если нужного поля нет в документе? Тогда или добавляем это поле в этот документ как "виртуальное поле", ну чисто для наших нужд, т.е. в таблице документа его конечно нет. Или второй вариант - ну что-то же есть в документе, например ID заявки. А справочник тогда может называться "Справочник чего-то там... для заказа канцтоваров" и в нем обязательный параметр "ID заявки на канц. товары". ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 01:21 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
ViPRos, Во-во)) Макротипы и т.п. Не, у меня свой лисапед)) Я понимаю что в ВИПРОСе даже sql не нужно знать, но я все-таки придерживаюсь золотой середины по уровню сложности конфигуратора - кодить не нужно вообще, но сложные конфигурации можно наваять только зная sql, хотя бы основы. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 01:25 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
ViPRos, Кстати вижу, Вы все-таки кнопочки в тулбаре слева сделали?)) Давно хотел предложить, справа как-то не удобно. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 01:26 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
dma_caviar, о чем ты? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 01:29 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
ViPRosdma_caviar, о чем ты? Что именно? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 01:31 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
ViPRos, аа ты наверное про это слева кнопки обращения к макроклассификатору и классификатору, а справа инфраструктурные, лень другой тулбар делать ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 01:33 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
dma_caviarАнатоЛойХорошо, если "Текущий офис" и "Отв.сотрудник текущего офиса" в "Заявке на канцтовары" - реквизит заголовка документа. А если "Офис" и "Отв.сотрудник офиса" в "Бюджете заказа канцтоваров по офисам" - связанные реквизиты в строке документа? В смысле, что делать если нужного поля нет в документе? Тогда или добавляем это поле в этот документ как "виртуальное поле", ну чисто для наших нужд, т.е. в таблице документа его конечно нет. Или второй вариант - ну что-то же есть в документе, например ID заявки. А справочник тогда может называться "Справочник чего-то там... для заказа канцтоваров" и в нем обязательный параметр "ID заявки на канц. товары". нет, я вот про это: dma_caviarесли настройщику требуется наложить фильтр на какой-то существующий справочник, значит ему просто не хватает еще одного справочника (точнее выборки на основе этого справочника). К тому же эта выборка может еще где-нибудь понадобится, так уж лучше пусть этот код будет описан в одном месте, например в "Сотрудники текущего офиса", и будет использоваться потом в нескольких местах безо всяких фильтров. В противном случае все эти фильтры придется дублировать. В варианте №4: - перечень "Офисы"; - перечень "Сотрудники" с реквизитом "Офис". - выбор значения в реквизит "Сотрудник текущего офиса" может быть реализован несколькими вариантами: - а) Критерий "Сотрудник текущего офиса" без передачи входных параметров, текущий офис определяется внутри "Алгоритма отбора" (допустим эта переменная в сессии пользователя); - б) если БД в каждом офисе своя, то текущий офис может быть прописан в критерии Критерий "Сотрудник текущего офиса" без передачи входных параметров, но с параметром-константой: значение из перечня - указан нужній офис; без возможности смены значения при вызове. в) критерий "Сотрудник офиса" c параметром "Офис". Если "Офис" и "Сотрудник этого офиса" реквизиты одной строки в перечне строк документа, то для реквизита "Сотрудник этого офиса" в правиле для параметра критерия "Офис" будет указан реквизит "Офис" из этой же структуры.... ф-у-у-у-у-ф. Всё, спать :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 01:37 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 01:41 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
dma_caviar, а там слева динамические дропдоун меню (это методы макротипа сгруппированы по какому то приципу), а справа опять же инфраструктурные статические кнопки для всех форм), опять же нажо бы их разделить на хотя бы 2 тулбара, но так же лень ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 01:46 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
dma_caviar, а проект на 76 миллионов :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 01:47 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
ViPRosdma_caviar, а проект на 76 миллионов :) Круто, что тут скажешь. А команда большая? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 01:48 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
dma_caviar, я разве выгляжу маленьким? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 01:49 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
ну тестируют, пишут отчеты на ВИПРОСе ж, есть несколько человек неплохо так пристроились ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 01:50 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
приходи к нам работать ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 01:50 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
ViPRosну тестируют, пишут отчеты на ВИПРОСе ж, есть несколько человек неплохо так пристроились А аналитеги там всякие, ТЗшники, ПМы? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 02:21 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
ViPRos, меня возьмёте? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 04:47 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
dma_caviarПо идее, если настройщику требуется наложить фильтр на какой-то существующий справочник, значит ему просто не хватает еще одного справочника (точнее выборки на основе этого справочника). К тому же эта выборка может еще где-нибудь понадобится, так уж лучше пусть этот код будет описан в одном месте, например в "Сотрудники текущего офиса", и будет использоваться потом в нескольких местах безо всяких фильтров. В противном случае все эти фильтры придется дублировать. Я провтыкал основную идею: выборка есть именованное подмножество, которым неплохо бы оперировать ка цельным новым перечнем :) Ждите вариант N5.. :) И где LSV, я из-за кого тут распинаюсь !? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 05:13 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
dma_caviarViPRosну тестируют, пишут отчеты на ВИПРОСе ж, есть несколько человек неплохо так пристроились А аналитеги там всякие, ТЗшники, ПМы? это я ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 10:40 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
АнатоЛойViPRos, меня возьмёте? :) ты далеко и только начинаешь трудный путь к обобщениям :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 10:45 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
ViPRosприходи к нам работать Вот с ипотекой расквитаюсь... а там кто его знает как все обернется, еще и сам буду напрашиваться чтобы взяли) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 11:02 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
dma_caviar, ок ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 11:04 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
ViPRosАнатоЛойViPRos, меня возьмёте? :) ты далеко и только начинаешь трудный путь к обобщениям :) Если далеко еще могу принять за аргумент, то с обобщениями не соглашусь. В этом топике я изначально затевал процесс проектирования, а не показать некую свою наработку. У каждого в наработках есть оригинальные решения и не очень, плюсы и минусы. Вопрос этого топика для меня был актуален лет 15 назад. Решение, в разработке ядра которого я кчааствовал, живет до сих пор. Вот только я уже лет 5 как аналитик в основном, и в других областях и с другими решениями. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 11:19 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
АнатоЛойЕсли далеко еще могу принять за аргумент, то с обобщениями не соглашусь. В этом топике я изначально затевал процесс проектирования, а не показать некую свою наработку множество лишнего вместо банальной выборки с параметром. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 11:23 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
iscrafmАнатоЛойЕсли далеко еще могу принять за аргумент, то с обобщениями не соглашусь. В этом топике я изначально затевал процесс проектирования, а не показать некую свою наработку множество лишнего вместо банальной выборки с параметром. Может быть.... А может и нет! :). 1. Что конкретно лишнее и почему? или 2. "Вот конкретный вариант от меня, в нём меньше того и этого, а результат тот же!" ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 11:36 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
АнатоЛойiscrafmпропущено... множество лишнего вместо банальной выборки с параметром. Может быть.... А может и нет! :). 1. Что конкретно лишнее и почему? или 2. "Вот конкретный вариант от меня, в нём меньше того и этого, а результат тот же!" Лишнее все то, что сверх банальной выборки с передаваемой в нее параметром, какой тип записей отбирать в нее. Подумайте сами, если все это можно сделать банально "where st = <значение параметра> ", к тому же индексированное и т.д., то в чем смысл делать столько лишнего? Что бы кому-то показать что каким то образом домайн все же может заработать, просто нужно смирится с кучей непонятно чего. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 11:45 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
И где LSV, я из-за кого тут распинаюсь !? :) В 5 утра ? Ты шутишь ? :) зы: я тут, бро... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 11:45 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
Тоже задавался вопросом передачи доп. фильтра при лукапе. Это может быть полезно, особенно если фильтр должен меняться у разных строк датасета. У меня в фреймворке есть возможность открывать разные формы в завис. от условия. Но это решает проблему лишь частично, т.к. плодит формы и их не может быть бесконечно много. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 11:50 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
iscrafmЛишнее все то, что сверх банальной выборки с передаваемой в нее параметром, какой тип записей отбирать в нее. Подумайте сами, если все это можно сделать банально "where st = <значение параметра> ", к тому же индексированное и т.д., то в чем смысл делать столько лишнего? Что бы кому-то показать что каким то образом домайн все же может заработать, просто нужно смирится с кучей непонятно чего. Боюсь сделать много лишних домыслов, чтобы от "настройки банальной выборки с передаваемой в нее параметром, какой тип записей отбирать в нее" перейти к "хранения этих настроек в РСУБД". Вас не затруднит простенькую структуру набросать? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 11:52 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
LSVплодит формы и их не может быть бесконечно много. Если есть наследование, нехай себе будет их много. Эта произвольная форма может отличаться от предка парой символов и индивидуальным наименованием. Зато все разложено по полкам - вот конкретно выбрка для таких-то случаев, вот для таких-то. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 11:55 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
LSV, С другой стороны конечно, если есть выборка договоров и нужно отобразить в лукапе только закрытые, то лень наследоваться и создовать выборку "Закрытые договоры", проще в фильтре прописать CloseDate is not null. Но ведь не ровён час, выборка "Закрытые договоры" понадобится еще где-то, а значит выражение CloseDate is not null задублируется. Потом вы решите что закрытые не по дате определяются, а по статусу и придется выпиливать все эти места. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 11:59 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
dma_caviarLSVплодит формы и их не может быть бесконечно много. Если есть наследование, нехай себе будет их много. Эта произвольная форма может отличаться от предка парой символов и индивидуальным наименованием. Зато все разложено по полкам - вот конкретно выбрка для таких-то случаев, вот для таких-то.Возможность передачи параметра в лукап-форму все таки нужна, т.к. значений параметра может быть много. индивидуальных форм не напасешься. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 12:00 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
[quot LSV]Тоже задавался вопросом передачи доп. фильтра при лукапе. Это может быть полезно, особенно если фильтр должен меняться у разных строк датасета. Да, так и сделано: связь от "Источник значения параметра в правиле отборе" на "Реквизит в структуре данных". При запуске выбора значение этого реквизита в форме будет взято как значение конкретного параметра критерия. LSVУ меня в фреймворке есть возможность открывать разные формы в завис. от условия. Но это решает проблему лишь частично, т.к. плодит формы и их не может быть бесконечно много. То бишь количество форм соттветствует количеству параметризованных критериев отбора? Если да, то роде не страшно, и их количество таки поддаётся пересчёту комбинаторикой :). А при подходе "выборка из перечня" сама есть новый "перечень" ещё и оценивается +- количеством узлов сбалансированного дерева с глубиной в количество реквизитов из перечня. И, по-моему, dma_caviar так и предлагал делать (с наследованием). Вопрос в следующем: - какие комбинации фильтров "востребованы"? (это зависит в том числе и от конретного внедрения); - что нужно сделать (настроить или разработать+перекомпилировать), если нужной комбинации фильтров нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 12:07 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
LSVdma_caviarпропущено... Если есть наследование, нехай себе будет их много. Эта произвольная форма может отличаться от предка парой символов и индивидуальным наименованием. Зато все разложено по полкам - вот конкретно выбрка для таких-то случаев, вот для таких-то.Возможность передачи параметра в лукап-форму все таки нужна, т.к. значений параметра может быть много. индивидуальных форм не напасешься. Для лукапа тоже надо все сделать настраиваемой и при этом надо думать что лукапы тоже попадают под действия разграничение прав Делается это так ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 12:08 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
АнатоЛойiscrafmЛишнее все то, что сверх банальной выборки с передаваемой в нее параметром, какой тип записей отбирать в нее. Подумайте сами, если все это можно сделать банально "where st = <значение параметра> ", к тому же индексированное и т.д., то в чем смысл делать столько лишнего? Что бы кому-то показать что каким то образом домайн все же может заработать, просто нужно смирится с кучей непонятно чего. Боюсь сделать много лишних домыслов, чтобы от "настройки банальной выборки с передаваемой в нее параметром, какой тип записей отбирать в нее" перейти к "хранения этих настроек в РСУБД". Вас не затруднит простенькую структуру набросать? не совсем понимаю какой набросок Вы хотите... есть таблица документов, есть таблица контрагентов. У контрагента есть поле состояния, допустим поле с именем st. Это поле содержит значение 0 или 1, в простейшем случае. Для выбора возможных значений из таблицы контрагентов используется банальная выборка с условием "where st = <нужное значение передаваемого параметра>". ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 12:10 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
ViPRos, при том это только один из способов лукапа (жесткого) механизм лукап воще то должен быть интеллектуальным, в ВИПРОС встроен 4 алгоритма ранжированных по приоритетам (тоже настраивается) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 12:14 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
ViPRos...лукапы тоже попадают под действия разграничение прав... ..Делается это так.. Вот ещё интересные требования/фичи всплыли в топике: 1. Право видеть значение из перечня независимо от реквизита, для которого выполняется выбор 2. Право видеть значение из перечня при выборе в этот реквизит (т.е. в зависимости от пользователя, результат предлагаемой выборки разный) 3. Тип значения реквизита может быть неким множеством, которое есть объединение нескольких множеств-перечней (в терминологии ViPRos - нескольких макротипов :). ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 12:15 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
Вопрос в следующем: - какие комбинации фильтров "востребованы"? (это зависит в том числе и от конретного внедрения); - что нужно сделать (настроить или разработать+перекомпилировать), если нужной комбинации фильтров нет. Лукап-форма должна иметь вх.параметры для фильтра. Например: Справочник контрагентов. Его производные: список заказчиков, список поставщиков, список "наших ЮЛ" и т.д. Сложность выборки может быть довольно сложной. Например, "список заказчиков-юрлиц, у кот. задолженность выше ХХХ". На каждую "ступеньку усложнения" нужен отдельный параметр. По умолчанию параметр =0 (т.е. не фильтруется). Я уже представляю, как передавать фильтры в лукап-форму. Со временем сделаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 12:16 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
ViPRosLSVпропущено... Возможность передачи параметра в лукап-форму все таки нужна, т.к. значений параметра может быть много. индивидуальных форм не напасешься. Для лукапа тоже надо все сделать настраиваемой и при этом надо думать что лукапы тоже попадают под действия разграничение прав Делается это так По поводу разграничения прав "построчно для выборки"... ну это можно средстваи sql решить в каком-то конкретном случае. Например есть список договоров, у кого-то есть доступ к одним договорам, у кого-то в другим, эта инфа хранится в отдельной таблице, что-то типа "AgreementRoles" с полями AgreementID и RoleID (или UserID). Делаем джоин или другой финт. А в скрипт передаем текущую сессию или текущего юзера. Я к тому что на эту тему не обязательно усложнять метаданные иначе есть риск перемешать метаданные с данными, что очень плохо в нашем деле. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 12:18 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
ViPRosViPRos, при том это только один из способов лукапа (жесткого) механизм лукап воще то должен быть интеллектуальным, в ВИПРОС встроен 4 алгоритма ранжированных по приоритетам (тоже настраивается) "Ранжирование" в вашем случае сильно отличается от некоего правила сортировки перечня, где поле для сортировки заполняется как некая функция: от простого значения реквизитов перечня до "сначала те, у которых остатки есть " и даже до "первыми идут те, которые данный пользователь в этом месте сегодня уже выбирал"? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 12:19 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
т.е. в зависимости от пользователя, результат предлагаемой выборки разныйЭто решается довольно просто: по юзерИД в запросе есть фильтр а-ля WHERE GetUserRight('ICanSeeIt', USER_ID() )=1 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 12:21 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
iscrafmАнатоЛойпропущено... Боюсь сделать много лишних домыслов, чтобы от "настройки банальной выборки с передаваемой в нее параметром, какой тип записей отбирать в нее" перейти к "хранения этих настроек в РСУБД". Вас не затруднит простенькую структуру набросать? не совсем понимаю какой набросок Вы хотите... есть таблица документов, есть таблица контрагентов. У контрагента есть поле состояния, допустим поле с именем st. Это поле содержит значение 0 или 1, в простейшем случае. Для выбора возможных значений из таблицы контрагентов используется банальная выборка с условием "where st = <нужное значение передаваемого параметра>". Смотрим условие в первом посте "настройка хранится в реляционной СУБД". Можете нарисовать таблицы и внешние ключи, обеспечивающие хранение этой настройки? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 12:22 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
ViPRosViPRos, при том это только один из способов лукапа (жесткого) механизм лукап воще то должен быть интеллектуальным, в ВИПРОС встроен 4 алгоритма ранжированных по приоритетам (тоже настраивается) Вот это как раз потому что у вас немного другой класс системы. В которой такие вещи настраиваются не написанием sql, а через декларативное перечисление правил отбора (могу ошибаться) и тут понятное дело, нужны приоритеты. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 12:26 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
ViPRos, А можно ли кстати, в ВИПРОСе вот таким вот наглым образом взять и прописать sql скрипт? [quot LSV]WHERE GetUserRight('ICanSeeIt', USER_ID() )=1 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 12:28 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
АнатоЛойViPRosViPRos, при том это только один из способов лукапа (жесткого) механизм лукап воще то должен быть интеллектуальным, в ВИПРОС встроен 4 алгоритма ранжированных по приоритетам (тоже настраивается) "Ранжирование" в вашем случае сильно отличается от некоего правила сортировки перечня, где поле для сортировки заполняется как некая функция: от простого значения реквизитов перечня до "сначала те, у которых остатки есть " и даже до "первыми идут те, которые данный пользователь в этом месте сегодня уже выбирал"? ранжируются эти алгоритмы предлагается лукап по первому (обычно это полностью устраивает), дальше другие сбор всего массива по всем алгоритмам может быть затратным ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 12:30 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
[quot dma_caviar]ViPRos, А можно ли кстати, в ВИПРОСе вот таким вот наглым образом взять и прописать sql скрипт? LSVпропущено... нет нужды а так можно ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 12:37 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
АнатоЛойiscrafmпропущено... не совсем понимаю какой набросок Вы хотите... есть таблица документов, есть таблица контрагентов. У контрагента есть поле состояния, допустим поле с именем st. Это поле содержит значение 0 или 1, в простейшем случае. Для выбора возможных значений из таблицы контрагентов используется банальная выборка с условием "where st = <нужное значение передаваемого параметра>". Смотрим условие в первом посте "настройка хранится в реляционной СУБД". Можете нарисовать таблицы и внешние ключи, обеспечивающие хранение этой настройки? я не сторонник хранения каких-то настроек в реляционных БД, поэтому не могу нарисовать такое. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 12:39 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
иногда для пивотов отчетов и т.д. легче писать скл чем настраивать виртуальные типы и т.д. механизмы ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 12:40 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
ViPRosиногда для пивотов отчетов и т.д. легче писать скл чем настраивать виртуальные типы и т.д. механизмы С этим не поспоришь. По идее и по выборкам и по скриптам сохранения и т.д. тоже. SQL ведь знает любой студент. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 12:42 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
тут скл не страшен а вот в логике - скл запрещен админы имею дебильное правило "оптимизировать" СКЛ :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 12:42 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
dma_caviarViPRosиногда для пивотов отчетов и т.д. легче писать скл чем настраивать виртуальные типы и т.д. механизмы С этим не поспоришь. По идее и по выборкам и по скриптам сохранения и т.д. тоже. SQL ведь знает любой студент. нет, в ВИПРОС СКЛ сложный, так как обычно ссылочный тип = множество типов, там нужы куча юнион по совпадающим совйствам типов, джойнов через все эти типы, если они сами куда то ссылаются, есть механизм персистентной/неперсистентной миграции свойств типов автоматически и т.д. мало кто может писать СКЛ для ВИПРОС вручную ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 12:45 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
ViPRosа вот в логике - скл запрещен в логике его родное место. Вот хранить настройки (фактически реляционные данные преобразовать туда-обратно) - sql лишний ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 12:54 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
ViPRosdma_caviarпропущено... С этим не поспоришь. По идее и по выборкам и по скриптам сохранения и т.д. тоже. SQL ведь знает любой студент. нет, в ВИПРОС СКЛ сложный, так как обычно ссылочный тип = множество типов, там нужы куча юнион по совпадающим совйствам типов, джойнов через все эти типы, если они сами куда то ссылаются, есть механизм персистентной/неперсистентной миграции свойств типов автоматически и т.д. мало кто может писать СКЛ для ВИПРОС вручную А эти скрипты динамические? Или генерятся процедуры, а из системы дергается вызов этой процедуры? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 12:56 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
iscrafm, да какая логика на скл, когда можешь писать select 'ишак' человек from море если бы СКЛ был умным то другое дело ВИПРОС в принципе только для тго и сделан что бы загнать СКЛ в рамки теории множеств, выкинув все лишнее творчество народа ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 12:58 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
dma_caviar, полу динамические :) при изменении метаданных генерятся основные части скл предложений и хранятся до следующих изменений а всякие там предикаты и т.д. генеряртся налету по контексту и объединяется с полудинамичсескими и получается динамичсекий запрос ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 13:00 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
ViPRosiscrafm, да какая логика на скл, когда можешь писать select 'ишак' человек from море все завит от того, как логика построена, спроектирована. Все раскладывается на простейшие предложения ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 13:01 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
iscrafm, ну вот я эти простейшие предложение вывел в структуры (метаданные множеств) и связи (возможные джой) и классификаторы (возможные юнион) и СКЛ стал действительно структурированным языком :) нельзя теперь ловит в море ишака и манованием руки студента превратить в человека ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 13:03 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
ну вот я эти простейшие предложение вывел в структуры (метаданные множеств) и связи (возможные джой) и классификаторы (возможные юнион) и СКЛ стал действительно структурированным языком А как быть в сложных случаях, когда нужен реально сложный запрос с подзапросами, вьюхами, функциями или ХП на десять страниц ? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 13:09 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
LSV, а зачем такие запросы - обычно это означает кривую архитектуру, а ВИПРОС не дает строить кривую архитектуру по определению (так как все в рамках встроенных правил) ну бывает иногда, какой то козел хочет получит особую инфу аналитическго характера, а построить для этого специальную архитетуру лень, или нужна очень большая скорость, или надо делать именно на СКЛ сервере, вот и пишешь метод на СКЛ методы можно писать на СКЛ ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 13:15 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
ViPRos, вот их скоко встроено ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 13:17 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
а зачем такие запросы - обычно это означает кривую архитектуруСпорно. Обычно в отчетах нужны сложные запросы, переливка во временные таблицы, сложные апдейты с выводом результата в неск. десятков колонок. При этом структура таблиц проста и лаконична. Ради одного простого отчета никто не будет переделывать процедуры пересчетов в журналах или прочих таблицах, созданных для упрощения выборок. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 13:26 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
LSV, ну я и сказал, что в первичных требованиях к системе этот отчет не фигурировал, потому и архитектура кривая сначала должны быть определены возможно полные требования ( а отчеты главнейшие требования), а потом уже строится модель или подстравивается но иногда надо делать и такие которые работают с нетипизированной информацией, тут то и нужен сразу СКЛ с его кастом конвертом сабстриенг и т.д. белибердой, которая джойнить по первым букавам слов и т.д. гадость приходится, что поделаешь, жрать то хотся ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 13:31 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
LSVОбычно в отчетах нужны сложные запросы, переливка во временные таблицы, сложные апдейты с выводом результата в неск. десятков колонок. обычно отчеты - это простые запросы. А вот для того, чтобы в итоге получились простые и прозрачные данные для отчетов - необходима работа логики, которая в свою очередь тоже состоит из простейших вычислений. Это математика, где сложные алгоритмы раскладываются на цепочку простейших. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 13:38 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
сначала должны быть определены возможно полные требования Это невозможно. Система может эволюционировать много лет. У меня функционирует большая система с 2001 г. Иногда появляются запросы на отчеты разной степени паранойи. И чо ? Сказать что "требования изначально были не полны, поэтому отчет будет слишком сложным, т.е. невыполнимым" ??? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 13:41 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
iscrafm, а принципе в ВИПРОС можно формировать любой запрос структурно (если типизация не нарушается) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 13:41 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
LSVХП на десять страниц что-то не так. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 13:42 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
LSV, ну я ж сказал, где то новый отчет приводит к перенастроке модели, где то просто пишешь безумный СКЛ (благо безумство хватает с гаком), ХП, да что угодно делаешь лишь бы получить результат и послать нафиг ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 13:44 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
я мог бы решить задачу Анатлой ну за час (ну не читал полностью может еще часок другой) максимум на ВИПРОС а как на Искре? у фрейморка ЛСВ? Димы? делать не буду :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 13:47 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
ViPRosя мог бы решить задачу Анатлой ну за час (ну не читал полностью может еще часок другой) максимум на ВИПРОС а как на Искре? у фрейморка ЛСВ? Димы? делать не буду :) Я если честно, не понял в чем задача, если вот это: автор- в заявке нужно выбирать только текущих клиентов (у которых есть действующий договор); - в рекламе нужно выбирать только клиентов, у которых нет действующего договора. То думаю что это на любой вышеперечисленной платформе за меньше чем минуту делается) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 13:58 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
dma_caviar, ну, я всю его задачу имел ввиду - как готовое приложение ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 14:02 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
ViPRosа как на Искре? из "вызывающей формы" в "вызываемый справочник" передается параметр, по значению которого ограничивается выборка справочника. Это может быть значение поля вызывающей формы, значение входящего параметра, просто фиксированное значение и т.д. (см рис.) сам справочник - это простейшая форма со скриптом Код: sql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 14:21 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
ViPRosdma_caviar, ну, я всю его задачу имел ввиду - как готовое приложение Не особо заметил какой-то конкретной задачи. Вроде просто беседовали про фильтры. Я вообще время разработки перестал считать. По сравнению с временем понимания что требуется сделать и проработкой требований оно очень мало. Часто это происходит в перемешку, думаешь и параллельно накидываешь что должно получиться. Самое долгое и муторное это прописать заголовки к полям и написать sql скрипты выборок. Еще у меня нет автоматического каскадного удаления, приходится кодить руками вот такое Код: sql 1. 2. 3. 4.
Ну и еще я люблю вручную вылизывать структуру в SSMS, поля переименовывать если вдруг оно приобрело немного иной смысл после обдумывания)) Короче меньше чем за час тоже не выкачу)) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 14:22 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
iscrafmViPRosа как на Искре? из "вызывающей формы" в "вызываемый справочник" передается параметр, по значению которого ограничивается выборка справочника. Это может быть значение поля вызывающей формы, значение входящего параметра, просто фиксированное значение и т.д. (см рис.) сам справочник - это простейшая форма со скриптом Код: sql 1. 2. 3. 4. 5. 6. 7.
Если поля переименуются что-то произойдет или в рантайме будет ошибка? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 14:24 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
dma_caviariscrafmпропущено... из "вызывающей формы" в "вызываемый справочник" передается параметр, по значению которого ограничивается выборка справочника. Это может быть значение поля вызывающей формы, значение входящего параметра, просто фиксированное значение и т.д. (см рис.) сам справочник - это простейшая форма со скриптом Код: sql 1. 2. 3. 4. 5. 6. 7.
Если поля переименуются что-то произойдет или в рантайме будет ошибка? Хотел скриншот процитировать)) Я имею в виду - в фильтре прописано выражение с полями. Есть ли конртоль на стадии разработки на тему существования этих полей? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 14:25 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
dma_caviariscrafmпропущено... из "вызывающей формы" в "вызываемый справочник" передается параметр, по значению которого ограничивается выборка справочника. Это может быть значение поля вызывающей формы, значение входящего параметра, просто фиксированное значение и т.д. (см рис.) сам справочник - это простейшая форма со скриптом Код: sql 1. 2. 3. 4. 5. 6. 7.
Если поля переименуются что-то произойдет или в рантайме будет ошибка? естественно. Правда выражение "в рантайме" не корректно, по отношению к Искре. Когда в редакторе SQL вводите неправильное поле это рантаймом считается? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 14:30 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
dma_caviardma_caviarпропущено... Если поля переименуются что-то произойдет или в рантайме будет ошибка? Хотел скриншот процитировать)) Я имею в виду - в фильтре прописано выражение с полями. Есть ли конртоль на стадии разработки на тему существования этих полей? У редактора SQL есть контроль на стадии разработки скрипта? Начнем с главного: в Искре нет этих стадий. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 14:32 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
iscrafmViPRosа как на Искре? из "вызывающей формы" в "вызываемый справочник" передается параметр, по значению которого ограничивается выборка справочника. Это может быть значение поля вызывающей формы, значение входящего параметра, просто фиксированное значение и т.д. (см рис.) сам справочник - это простейшая форма со скриптом Код: sql 1. 2. 3. 4. 5. 6. 7.
ну иногда (часто) нет логики или не хочется ввести логику, которой нет в предметной области допустим есть Поставщики - Основные, Альтернативные, Потенциальные можно конечно в Поставщики добавить три признака и передать фильтр можно сделать 3 вью (подтип) и передать имя Подтипа это простые случаи но надо учитывать, что у Альтернативного есть особые поля, а у Потенциального их еще больше тут лучше эти типы унаследовать от Поставщика и передать имя типа .... вот, много у модельщика возможностей определить контекст (это касается только жесткого лукапа, интеллектуалный ищет и собирает по разному) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 14:33 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
dma_caviarХотел скриншот процитировать)) а тебе что-то сложное нужно? Да, "Разумно и просто" у Искры был слоган еще до Филлипса ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 14:36 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
iscrafmdma_caviarпропущено... Хотел скриншот процитировать)) Я имею в виду - в фильтре прописано выражение с полями. Есть ли конртоль на стадии разработки на тему существования этих полей? У редактора SQL есть контроль на стадии разработки скрипта? Начнем с главного: в Искре нет этих стадий. Так или иначе, SQL умеет свои метаданные валидировать и компилировать. Можно при желании запустить такую валидацию. Мне кажется нормальная платформа должна предоставлять такой же сервис по своим метаданным. Метаданных дофига и больше. Их нужно контролировать. Иначе это ведь головная боль, когда нужно что-то поменять, а хз где оно там в дебрях настроек прошито. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 14:36 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
iscrafmУ редактора SQL есть контроль на стадии разработки скрипта? Начнем с главного: в Искре нет этих стадий. ладно со стадиями есть все же контроль над скриптом (ну там имена полей , таблиц и т.д.)? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 14:36 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
iscrafmdma_caviarХотел скриншот процитировать)) а тебе что-то сложное нужно? Да, "Разумно и просто" у Искры был слоган еще до Филлипса Я грю скриншот хотел процитировать, а он не процитировался))) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 14:44 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
ViPRosiscrafmУ редактора SQL есть контроль на стадии разработки скрипта? Начнем с главного: в Искре нет этих стадий. ладно со стадиями есть все же контроль над скриптом (ну там имена полей , таблиц и т.д.)? ты как разработчик нажимая исполнить в Server Man., допустим, получаешь текст о том, что поля такого нет. Точно так же и в Искре, ругнется "исполнитель скрипта", что поля нет такого. Просто Искра не является какой-то средой разработки, которая на выходе дает какую-то программу. Это все равно что Excel, редактируется файл, определенного формата. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 14:45 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
iscrafmViPRosпропущено... ладно со стадиями есть все же контроль над скриптом (ну там имена полей , таблиц и т.д.)? ты как разработчик нажимая исполнить в Server Man., допустим, получаешь текст о том, что поля такого нет. Точно так же и в Искре, ругнется "исполнитель скрипта", что поля нет такого. Просто Искра не является какой-то средой разработки, которая на выходе дает какую-то программу. Это все равно что Excel, редактируется файл, определенного формата. В Server Man я могу удалить не нужно поле и получить список всех процедур/функций где оно используется и вычистить. А вот если оно используется в платформе, то начинается кромешный ужос. Если конечно там нет средств такого же контроля. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 14:48 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
dma_caviarТак или иначе, SQL умеет свои метаданные валидировать и компилировать. Можно при желании запустить такую валидацию. так валидируй, компилируй... Никто же не запрещает ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 14:48 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
iscrafmdma_caviarТак или иначе, SQL умеет свои метаданные валидировать и компилировать. Можно при желании запустить такую валидацию. так валидируй, компилируй... Никто же не запрещает Тогда я не понял. Вот тот фильтр, он хранится в метаданных платформы или это генерится процедура какая-то? ....ну хотя даже если и генерится. Я же не могу поправить автогенеренный код, он перетрется при следующей генерации. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 14:52 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
ViPRosiscrafmУ редактора SQL есть контроль на стадии разработки скрипта? Начнем с главного: в Искре нет этих стадий. ладно со стадиями есть все же контроль над скриптом (ну там имена полей , таблиц и т.д.)? конечно, сразу же ругнется ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 15:05 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
iscrafm Смотрим условие в первом посте "настройка хранится в реляционной СУБД". Можете нарисовать таблицы и внешние ключи, обеспечивающие хранение этой настройки? Я не сторонник хранения каких-то настроек в реляционных БД, поэтому не могу нарисовать такое.[/quot] Э-э-э, "не сторонник" и поэтому "не могу" странно как-то звучит. Вы же умеете проектировать реляционные БД? Как бы вы решили задачу, если бы она вам была поставлена как в стартовом посте? Если "не хотите", я ж заставить не могу. Если "не умею"... Нет, тут вроде и предположения быть не может... :) Может вопрос ко мне "Зачем их хранить именно в БД?". Ну по-хорошему, не обязательно хранить в БД. Спроектированную реляционную структуру типов можно и в архитектуре ООП реализовать, уже обсуждали... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 15:12 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
dma_caviariscrafmпропущено... а тебе что-то сложное нужно? Да, "Разумно и просто" у Искры был слоган еще до Филлипса Я грю скриншот хотел процитировать, а он не процитировался))) а понял... они не цитируются ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 15:13 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
dma_caviariscrafmпропущено... ты как разработчик нажимая исполнить в Server Man., допустим, получаешь текст о том, что поля такого нет. Точно так же и в Искре, ругнется "исполнитель скрипта", что поля нет такого. Просто Искра не является какой-то средой разработки, которая на выходе дает какую-то программу. Это все равно что Excel, редактируется файл, определенного формата. В Server Man я могу удалить не нужно поле и получить список всех процедур/функций где оно используется и вычистить. А вот если оно используется в платформе, то начинается кромешный ужос. Если конечно там нет средств такого же контроля. ты наверно о какой-то другой платформе говоришь? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 15:14 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
Сорри, цитирование поломалось. Правильная версия: АнатоЛойСмотрим условие в первом посте "настройка хранится в реляционной СУБД". Можете нарисовать таблицы и внешние ключи, обеспечивающие хранение этой настройки? iscrafmЯ не сторонник хранения каких-то настроек в реляционных БД, поэтому не могу нарисовать такое. Э-э-э, "не сторонник" и поэтому "не могу" странно как-то звучит. Вы же умеете проектировать реляционные БД? Как бы вы решили задачу, если бы она вам была поставлена как в стартовом посте? Если "не хотите", я ж заставить не могу. Если "не умею"... Нет, тут вроде и предположения быть не может... :) Может вопрос ко мне "Зачем их хранить именно в БД?". Ну по-хорошему, не обязательно хранить в БД. Спроектированную реляционную структуру типов можно и в архитектуре ООП реализовать, уже обсуждали...[/quot] ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 15:15 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
dma_caviarТогда я не понял. Вот тот фильтр, он хранится в метаданных платформы или это генерится процедура какая-то? зависит от автора приложения. Может в файле сохранить, а может просто вызвать объект того же MS SQL, кому как нравится ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 15:16 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
АнатоЛойiscrafm Смотрим условие в первом посте "настройка хранится в реляционной СУБД". Можете нарисовать таблицы и внешние ключи, обеспечивающие хранение этой настройки? Я не сторонник хранения каких-то настроек в реляционных БД, поэтому не могу нарисовать такое. Э-э-э, "не сторонник" и поэтому "не могу" странно как-то звучит. Вы же умеете проектировать реляционные БД? Как бы вы решили задачу, если бы она вам была поставлена как в стартовом посте? Если "не хотите", я ж заставить не могу. Если "не умею"... Нет, тут вроде и предположения быть не может... :) Может вопрос ко мне "Зачем их хранить именно в БД?". Ну по-хорошему, не обязательно хранить в БД. Спроектированную реляционную структуру типов можно и в архитектуре ООП реализовать, уже обсуждали...[/quote] Вы же спросили мнение со стороны, я его высказал. Оно заключается в том, что эта задача решается намного элементарнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 15:19 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
iscrafmВы же спросили мнение со стороны, я его высказал. Оно заключается в том, что эта задача решается намного элементарнее. Покажите, КАК вы решаете эту элементарную задачу? Ок, подозреваю, что на ООП. UML диаграмму классов в достаточном объёме покажите что-ли. Или покажите, что нужно в вашей системе сделать, чтобы "настроить выбор значения из справочника". И что нужно сделать, если условия выбора поменяются (ну, например "Бышие клиенты" - это не только нет действующего договора, но и последний закрылся больше месяца назад). ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 15:28 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
АнатоЛойiscrafmВы же спросили мнение со стороны, я его высказал. Оно заключается в том, что эта задача решается намного элементарнее. Покажите, КАК вы решаете эту элементарную задачу? Ок, подозреваю, что на ООП. UML диаграмму классов в достаточном объёме покажите что-ли. чуть ранее 17424888 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 15:32 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
ViPRos, отклоняемся от задачи. Задача: спроектировать в системе возможность настройки удобного выбора клиента в зависимости от формы. Условие: настройка хранится в реляционной СУБД. Формат решения задачи: диаграмма E/R (ну или UML-диаграмма, разница-то....). Или может "спроектировать и реализовать" за час? :)... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 15:32 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
АнатоЛой Задача: спроектировать в системе возможность настройки удобного выбора клиента в зависимости от формы. Условие: настройка хранится в реляционной СУБД. Формат решения задачи: диаграмма E/R (ну или UML-диаграмма, разница-то....). если работы нет, то придумаем ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 15:34 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
iscrafmчуть ранее 17424888 Спасибо, пропустил. Вот теперь начинается любопытство. По интерфейсу не всегда понятен как минимум способ хранения настройки, соответственно, доступные инструменты её обработки. На экране строка данных с одним параметром и источником его заполнения. 1) как будет выглядеть передача двух параметров (с условием по "И"). 2) при заполнение значения "Параметры" может ли система: - показать допустимые параметры; - проверить совпадение/приводимость типов у параметра и реквизита; 3) что нужно сделать с "Параметрами" во всех местах вызова, если у справочника название параметра поменяется (или он пропадёт)? и как найти эти места? 4) как передать в качестве значения параметра некое значение не из формы, а константу из перечня? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 15:42 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
iscrafmАнатоЛой Задача: спроектировать в системе возможность настройки удобного выбора клиента в зависимости от формы. Условие: настройка хранится в реляционной СУБД. Формат решения задачи: диаграмма E/R (ну или UML-диаграмма, разница-то....). если работы нет, то придумаем Возможно, я ввёл в заблуждение "простотой" названия темы и прикладной формулировкой задачи в стартовом сообщении. Ноги вопроса растут из темы http://www.sql.ru/forum/1148360/podhody-i-resheniya-pri-sozdanii-bolshih-kis-erp-crm-i-pr]"Подходы и решения при создании больших КИС" . Прошу рассматривать задачу именно в ключе "Больших КИС" :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 15:53 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
АнатоЛой1) как будет выглядеть передача двух параметров (с условием по "И"). условия - это не атрибут параметров. Все условия определяются по месту, т.е. в запросе на выборку данных. Много параметров передаются так же как и один, только через запятую, классически ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 16:00 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
АнатоЛойiscrafmпропущено... если работы нет, то придумаем Возможно, я ввёл в заблуждение "простотой" названия темы и прикладной формулировкой задачи в стартовом сообщении. Ноги вопроса растут из темы http://www.sql.ru/forum/1148360/podhody-i-resheniya-pri-sozdanii-bolshih-kis-erp-crm-i-pr]"Подходы и решения при создании больших КИС" . Прошу рассматривать задачу именно в ключе "Больших КИС" :) я в этом ключе и рассматривал ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 16:01 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
АнатоЛойчто нужно сделать с "Параметрами" во всех местах вызова, если у справочника название параметра поменяется (или он пропадёт)? можно конечно оставить неиспользуемый мусор, зависит от "чистоплотности" разработчика приложения. Я бы удалил, все же файл приложения меньше будет ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 16:04 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
iscrafm, ещё вот эти вопросы: 1) как будут вести себя вызовы справочника, если у справочника название параметра поменяется (или он пропадёт) 2) как найти все места вызовов с использованием конкретного параметра? 2) как передать в качестве значения параметра некое значение не из формы, а константу из перечня? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 16:10 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
АнатоЛойiscrafm, ещё вот эти вопросы: 1) как будут вести себя вызовы справочника, если у справочника название параметра поменяется (или он пропадёт) 2) как найти все места вызовов с использованием конкретного параметра? 2) как передать в качестве значения параметра некое значение не из формы, а константу из перечня? 1) так же как в любой документ с ошибкой: сообщит что в документе ошибка 2) воспользоваться поиском, хотя сама постановка вопроса непонятна. Предполагается такой список параметров компонента, что глазами не получится найти? 3) Вариантов много, начиная от простого написания константы и заканчивая определением константы в качестве значения какого-нибудь параметра. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 16:17 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
АнатоЛой, Вам бы составить опросник для платформ)) Я кстати давно такую идею толкал. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 16:17 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
АнатоЛой, авторкак найти эти места? просмотрел бегло что под руками было. Пять, ну пусть 10 параметров у компонента. Для этого поиск не нужен, кроме "глаз". ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 16:44 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
iscrafmАнатоЛойiscrafm, ещё вот эти вопросы: ... 2) как найти все места вызовов с использованием конкретного параметра? ... 2) воспользоваться поиском, хотя сама постановка вопроса непонятна. Предполагается такой список параметров компонента, что глазами не получится найти? Приведу пример: У вас в системе один справочник "Клиенты", у него есть параметр "Текущий" со значениями "Да (есть действующий договор)/Нет (нет действующего договора)". И есть 100500 форм ("Большая КИСа!"), в которых этот справочник вызывается. Теперь бизнес просит: 1. Добавить в справочник новое состояние, растолковывающее детальнее состояние "Текущий"="Нет": Состояние "2 степень близости": "Окольцованный" - действующего договора нет, но договор находится в процессе заключения. "Бывший" - действующего договора нет, договор не находится в процессе заключения, на раньше договор таки был. 2. Помочь ему найти подмножество из 100500 форм, в которых справочник клиента вызывался со значением "Текущий"="Нет", чтобы принять решение, добавлять ли в каждой из этих форм фильтрацию по значению параметра "2 степень близости". Как будете делать вторую задачу? П.С.: Все совпадения с чьей-то интимной жизнью прошу считать случайными. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 16:56 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
АнатоЛойViPRos, отклоняемся от задачи. Задача: спроектировать в системе возможность настройки удобного выбора клиента в зависимости от формы. Условие: настройка хранится в реляционной СУБД. Формат решения задачи: диаграмма E/R (ну или UML-диаграмма, разница-то....). Или может "спроектировать и реализовать" за час? :)... да я тебе уже показал :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 17:20 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
АнатоЛойiscrafmпропущено... 2) воспользоваться поиском, хотя сама постановка вопроса непонятна. Предполагается такой список параметров компонента, что глазами не получится найти? Приведу пример: У вас в системе один справочник "Клиенты", у него есть параметр "Текущий" со значениями "Да (есть действующий договор)/Нет (нет действующего договора)". И есть 100500 форм ("Большая КИСа!"), в которых этот справочник вызывается. Теперь бизнес просит: 1. Добавить в справочник новое состояние, растолковывающее детальнее состояние "Текущий"="Нет": Состояние "2 степень близости": "Окольцованный" - действующего договора нет, но договор находится в процессе заключения. "Бывший" - действующего договора нет, договор не находится в процессе заключения, на раньше договор таки был. 2. Помочь ему найти подмножество из 100500 форм, в которых справочник клиента вызывался со значением "Текущий"="Нет", чтобы принять решение, добавлять ли в каждой из этих форм фильтрацию по значению параметра "2 степень близости". Как будете делать вторую задачу? П.С.: Все совпадения с чьей-то интимной жизнью прошу считать случайными. :) не обсуждая саму схему про множество форм, остановлюсь только на том, о чем уже говорил: воспользуюсь поиском ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 17:21 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
если не помнишь что изменял в последнее время, то можно так, например. p.s. это все к тому, что эти операции ничтожны при нормальной организации процесса редактирования содержания приложения. Понятно что комфорт того, кто редактирует содержание задача приоритетная, но избавится от проблем можно другими способами, например не повторять много раз одно и тоже, а поискать способ избежать необходимости в 100500 форм дублировать что-то ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 17:39 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
А вот допустим есть две формы, одну форму делает один настройщик, вторую другой. Первый разобрал свою форму и у второго она посути смломалась. Первый пилит, второй курит. Кто-нибудь заморачивался на тему CheckIn, CheckOut? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 18:00 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
iscrafm, тот же метод поиска использует оракл в APEX. Особености: - модуль по дате - отсутствует - есть галка - искать только в текущей страничке (по вашему - модуль) Помогает то, что все имена переменных\параметры включают префикс с ID странички "123". P123_ITEMS Другой вариант и невозможен, т.к. ищется в JS\SQL\PL коде сразу ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 18:02 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
dma_caviarПервый разобрал свою форму и у второго она посути смломалась есть же контракты. При веб программировании жёсткая проверка невозможна. Пили свою форму, но контракт передачи парам в урл сохрани. В десктопе возможно можно прикрутить строгую типизацию-контрактизацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 18:06 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
Petro123iscrafm, тот же метод поиска использует оракл в APEX. Особености: - модуль по дате - отсутствует - есть галка - искать только в текущей страничке (по вашему - модуль) Помогает то, что все имена переменных\параметры включают префикс с ID странички "123". P123_ITEMS Другой вариант и невозможен, т.к. ищется в JS\SQL\PL коде сразу Petro123, в станица это не модуль в терминах ISCRA, страница - это как файл содержания (svr), но сильно не похоже, сравнивать смысла нет. Больше похоже на файл Excel, наполняемый различными страницами и компонентами ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 18:10 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
iscrafm, не знаю.... Форма(delphi) = страница (APEX-web) = модуль (PAS Delphi). Мне кажется разумно. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 18:31 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
iscrafmВоспользуюсь поиском Угумс, то есть поиск "Найти места передачи значений для выбранного пользователем параметра" уже есть, либо наконфигурировать его несложно... Попробую утолить любопытство до конца :) iscrafmне обсуждая саму схему про множество форм Почему? Ну, допустим, 100500 я загнул. Но 20 среди 1500 форм - найдётся :). И запросто - в разных подсистемах. И не по памяти же их искать... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 18:40 |
|
Выбор данных в значение реквизита из перечня ("справочника") в разных формах ввода
|
|||
---|---|---|---|
#18+
АнатоЛойПочему? Ну, допустим, 100500 я загнул. Но 20 среди 1500 форм - найдётся :). И запросто - в разных подсистемах. И не по памяти же их искать. конечно не по памяти. Но лучше учится мыслить лаконично. Нужно смотреть на конкретную задачу конечно. Редко когда пользуюсь этим поиском, но раз он есть, то наверняка пользователи требовали ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 18:44 |
|
|
start [/forum/search_topic.php?author=Bratuhin&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
158ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
121ms |
get tp. blocked users: |
2ms |
others: | 665ms |
total: | 1014ms |
0 / 0 |