Тема: Визуальный построитель запросов
Добрый день!
Почему в впз нельзя задать имя параметра, если условие "Содержится"?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
TechnologiCS → TechnologiCS → Использование TechnologiCS API → Визуальный построитель запросов
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Добрый день!
Почему в впз нельзя задать имя параметра, если условие "Содержится"?
используйте Начинается. В любом случае маска Начинается, Содержится при этом формируется в самой программе (а условии идет LIKE всегда).
Здравствуйте!
Задавайте условие "Начинается". Только, если вы используете параметр или просто условие, то должны сами позаботиться о том, какую маску подставлять в значение параметра.
Для "Содержит" - "%ТЕКСТ%", а для "Начинается" - "ТЕКСТ%"
В принципе, в обоих случаях в SQL используется LIKE.
А можно ли в впз сделать left join?
Да, конечно.
Нужно отредактировать связь между таблицами:
Нужен LIKE по расчётному полю. Это возможно?
Вряд ли. Если расчет на клиенте то точно никак. Если это поле БД - то зависит от возможностей SQL и того как мы их реализовали. Но TechnologiCS, если не ошибаюсь? расчетные поля в фильтрах не дает использовать, так как не однозначно.
Опишу суть задачи, может быть подскажете как её можно реализовать. Нужен поиск по параметру номенклатуры. Так как в TCS есть ограничение на длину текстового параметра в 50 символов, то придётся записывать значение длиной больше 50 в несколько параметров. Как лучше организовать поиск по этому длинному составному параметру? Выгружать значения параметров для всех номенклатур в программу и там их склеивать и искать?
Самое простое так:
В наборах данных и в АПИ есть таблица NMkAPiData. Это просто данные пользователя. Можете организовать там свою систему хранение (Int+String255).
а так проблема параметров несколько сложнее. Работаем над ней, есть понимание как сделать лучше, но пока занимаемся другими задачами.
Самое простое так:
В наборах данных и в АПИ есть таблица NMkAPiData. Это просто данные пользователя. Можете организовать там свою систему хранение (Int+String255).а так проблема параметров несколько сложнее. Работаем над ней, есть пониманию как сделать лучше, но пока занимаемся другими задачами.
А где можно почитать как этим пользоваться?
В наборах таблицу NMkAPiData не нашёл.
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]
NMkAPi, неправильно указал.
А как пользоваться - мы эту табличку не ведем :) Хотя в макросах каких то завязывались, но вроде убрали.
Обычно - ID - ваш ид для отбора, в поле REM ваше значение.
Жаль, что длина 255. Нужно 350.
Может быть можно конкретно эту таблицу пропатчить и сделать varchar(max)?
другим надо 1000, третьим Гиг. В тот то и дело.
В таком случае просто создайте свою БД, в ней ведите дополнительные параметры номенклатуры какие хотите. И просто вяжите их по идентификаторам. Намного проще и всегда будет работать.
Изменение структуры БД ни к чему хорошему не приведет все равно.
Добрый день!
Можно ли в визуальном построителе сделать что-то аналогичное запросу:
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
нет так не получится.
Добрый день!
Я создал набор данных с применением вспомогательных материалов TpAuxMat.
Добавил к техпроцессу вспомогательный материал. Так как реквизиты этого материала ещё не редактировались, то в набор данных он не попал. Если изменить, например, единицу нормирования и задать 0, то материал попадёт в набор данных. Мне кажется это неправильно, так как материал добавлен в тп, и его реквизиты отображаются как нули, но в набор он не попадает.
TpAuxMat - Это реквизиты вспомогательного материала. Так и задумано (во всяком случае в текущей версии).
Сам вспомогательный материал ищите в ТП.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
TechnologiCS → TechnologiCS → Использование TechnologiCS API → Визуальный построитель запросов