(изменено: q41HCxSH0bAz1Reugyc0, 24 июля 2018 13:52:53)

Тема: Визуальный построитель запросов

Добрый день!
Почему в впз нельзя задать имя параметра, если условие "Содержится"?

Re: Визуальный построитель запросов

используйте Начинается.  В любом случае маска Начинается, Содержится при этом формируется в самой программе (а условии идет LIKE всегда).

Спасибо сказали: q41HCxSH0bAz1Reugyc01

(изменено: Дмитрий Гамий, 24 июля 2018 14:02:32)

Re: Визуальный построитель запросов

Здравствуйте!

Задавайте условие "Начинается". Только, если вы используете параметр или просто условие, то должны сами позаботиться о том, какую маску подставлять в значение параметра.

Для "Содержит" - "%ТЕКСТ%", а для "Начинается" - "ТЕКСТ%"

В принципе, в обоих случаях в SQL используется LIKE.

Спасибо сказали: q41HCxSH0bAz1Reugyc01

Re: Визуальный построитель запросов

А можно ли в впз сделать left join?

Re: Визуальный построитель запросов

q41HCxSH0bAz1Reugyc0 пишет:

А можно ли в впз сделать left join?

Да, конечно.
Нужно отредактировать связь между таблицами:
Визуальный построитель запросов

Спасибо сказали: q41HCxSH0bAz1Reugyc01
Post's attachments

LeftJoin.png 7.59 Кб, файл не был скачан. 

You don't have the permssions to download the attachments of this post.

Re: Визуальный построитель запросов

Нужен LIKE по расчётному полю. Это возможно?

Спасибо сказали: comerc101

Re: Визуальный построитель запросов

Вряд ли. Если расчет на клиенте то точно никак. Если это поле БД - то зависит от возможностей SQL и того как мы их реализовали. Но TechnologiCS, если не ошибаюсь? расчетные поля в фильтрах не дает использовать, так как не однозначно.

Спасибо сказали: comerc101

Re: Визуальный построитель запросов

Опишу суть задачи, может быть подскажете как её можно реализовать. Нужен поиск по параметру номенклатуры. Так как в TCS есть ограничение на длину текстового параметра в 50 символов, то придётся записывать значение длиной больше 50 в несколько параметров. Как лучше организовать поиск по этому длинному составному параметру? Выгружать значения параметров для всех номенклатур в программу и там их склеивать и искать?

Re: Визуальный построитель запросов

Самое простое так:
В наборах данных и в АПИ есть таблица NMkAPiData. Это просто данные пользователя. Можете организовать там свою систему хранение (Int+String255).

а так проблема параметров несколько сложнее. Работаем над ней, есть понимание как сделать лучше, но пока занимаемся другими задачами.

Спасибо сказали: q41HCxSH0bAz1Reugyc01

Re: Визуальный построитель запросов

Олег Зырянов пишет:

Самое простое так:
В наборах данных и в АПИ есть таблица NMkAPiData. Это просто данные пользователя. Можете организовать там свою систему хранение (Int+String255).

а так проблема параметров несколько сложнее. Работаем над ней, есть пониманию как сделать лучше, но пока занимаемся другими задачами.

А где можно почитать как этим пользоваться?
В наборах таблицу NMkAPiData не нашёл.

Re: Визуальный построитель запросов

            var app7 = (IOCS_Application7) app;
            var userRecordSet = app7.UserRecordSet["CombineParams", true, new string[] { }, new string[] { }];

            var myFilter = userRecordSet.Filter;
            var filterItem = myFilter.Add(userRecordSet.Properties["C_V_COMBINE_PARAM"]);
            filterItem.FilterKind = CSDN.TFilterKind.fkCONTAINING;

            filterItem.Condition = "123";

            filterItem.Active = true;

            myFilter.Active = true;

            userRecordSet.Refresh();

            var I = userRecordSet.ShowModal["Убедимся что фильтр работает"];

Попробовал использовать фильтр:
SQL Server Error: Не удалось привязать составной идентификатор "QBT_C.C_V_COMBINE_PARAM". [MsSqlNativeError:4104]

Re: Визуальный построитель запросов

NMkAPi, неправильно указал.

А как пользоваться - мы эту табличку не ведем :) Хотя в макросах каких то завязывались, но вроде убрали.

Обычно - ID - ваш ид для отбора, в поле REM ваше значение.

(изменено: q41HCxSH0bAz1Reugyc0, 25 июля 2018 11:21:53)

Re: Визуальный построитель запросов

Жаль, что длина 255. Нужно 350.
Может быть можно конкретно эту таблицу пропатчить и сделать varchar(max)?

Re: Визуальный построитель запросов

другим надо 1000, третьим Гиг. В тот то и дело.

В таком случае просто создайте свою БД, в ней ведите дополнительные параметры номенклатуры какие хотите. И просто вяжите их по идентификаторам. Намного проще и всегда будет работать.

Изменение структуры БД ни к чему хорошему не приведет все равно.

Re: Визуальный построитель запросов

Добрый день!
Можно ли в визуальном построителе сделать что-то аналогичное запросу:

select * from
(select * from table1) as t1
left join
(select * from table2 where f1 = 123) as t2
on t1.f2 = t2.f2

Не понятно как сделать условие:

where f1 = 123

Re: Визуальный построитель запросов

нет так не получится.

Спасибо сказали: q41HCxSH0bAz1Reugyc01

Re: Визуальный построитель запросов

Добрый день!
Я создал набор данных с применением вспомогательных материалов TpAuxMat.
Добавил к техпроцессу вспомогательный материал. Так как реквизиты этого материала ещё не редактировались, то в набор данных он не попал. Если изменить, например, единицу нормирования и задать 0, то материал попадёт в набор данных. Мне кажется это неправильно, так как материал добавлен в тп, и его реквизиты отображаются как нули, но в набор он не попадает.

Re: Визуальный построитель запросов

TpAuxMat - Это реквизиты вспомогательного материала. Так и задумано (во всяком случае в текущей версии).

Сам вспомогательный материал ищите в ТП.

Спасибо сказали: q41HCxSH0bAz1Reugyc01