![]() |
|
Поиск в ТЗ по неточному наименованию, как сделать??? | ☑ | ||
---|---|---|---|---|
0
dft2014
25.04.18
✎
21:23
|
Получаю таблицу значений, с помощью типовой функции. Подскажите, как теперь в ней отобрать записи, у которых в названии подразделений есть слово "продаж"? Ниже мой код, но программа ругается на:
Поле не найдено ВремТабл.<<?>>Подразделение Подобно &Парам" Вот код: КадровыеДанныеСотрудников = КадровыйУчет.КадровыеДанныеСотрудников(Истина, СписокСотрудников, ИменаКадровыхДанных, ПериодОтчета,); //Возвращает таблицу значений заполненную нужными данными сотрудников ЗначениеПоиска = "продаж"; СтрокаПоиска = "%" + ЗначениеПоиска + "%"; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | * |ПОМЕСТИТЬ ВремТабл |ИЗ | &МояТаблица КАК МояТаблица |; | /////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | | * |ИЗ | ВремТабл КАК ВремТабл |ГДЕ | ВремТабл.Подразделение Подобно &Парам"; Запрос.УстановитьПараметр("МояТаблица", КадровыеДанныеСотрудников); Запрос.УстановитьПараметр("Парам", СтрокаПоиска); |
|||
1
Mankubus
25.04.18
✎
21:27
|
(0) в таблице точно есть поле Подразделение? покажи на картинке
|
|||
2
dft2014
25.04.18
✎
21:39
|
||||
3
dft2014
25.04.18
✎
21:52
|
HELP!!!
|
|||
4
Boleev
25.04.18
✎
21:55
|
Попробуй создать новую ТЗ с типизированными колонками и заполнить ее на основании КадровыеДанныеСотрудников и уже ее передавать параметром в запрос.
|
|||
5
dft2014
25.04.18
✎
22:00
|
(4) Как это сделать???!!!
|
|||
6
Garykom
гуру
25.04.18
✎
22:07
|
У тебя какой тип у Подразделение ?
|
|||
7
Garykom
гуру
25.04.18
✎
22:09
|
Но это криво и тормозно |
|||
8
dft2014
25.04.18
✎
22:13
|
(6) Справочник "Подразделение"
|
|||
9
Boleev
25.04.18
✎
22:14
|
Сделай перебором в крайнем случае.
|
|||
10
Garykom
гуру
25.04.18
✎
22:15
|
(8) И чему же должна быть "Подобно" ссылка на элемент справочника???
|
|||
11
dft2014
25.04.18
✎
22:17
|
(10) А как тогда быть?!
|
|||
12
Garykom
гуру
25.04.18
✎
22:18
|
Программиста наймите
|
|||
13
dft2014
25.04.18
✎
22:20
|
(9) Перебором тоже не находит почему-то:
КадровыеДанныеСотрудников = КадровыйУчет.КадровыеДанныеСотрудников(Истина, СписокСотрудников, ИменаКадровыхДанных, ПериодОтчета,); ЗначениеПоиска = "продаж"; СтрокаПоиска = "%" + ЗначениеПоиска + "%"; Для Каждого ДанныеСотрудника Из КадровыеДанныеСотрудников Цикл Если СтрНайти(ДанныеСотрудника.Подразделение, СтрокаПоиска) > 0 Тогда СтрокаИтоговойТЗ = тзИтог.Добавить(); СтрокаИтоговойТЗ.Сотрудник = ДанныеСотрудника.Сотрудник; КонецЕсли; КонецЦикла; |
|||
14
Boleev
25.04.18
✎
22:21
|
Если СтрНайти(ДанныеСотрудника.Подразделение.Наименование, ЗначениеПоиска) > 0 Тогда
|
|||
15
dft2014
25.04.18
✎
22:24
|
(14) Да, я уже увидела и исправила эту ошибку, но все равно не находит!
|
|||
16
zwei
25.04.18
✎
22:27
|
Маленькая @Мисти, эхь эхь...
|
|||
17
dft2014
25.04.18
✎
22:29
|
Вот скрин отладки, где видно, что ДанныеСотрудника.Подразделение.Наименование - это строка, но почему тогда возвращает 0?
https://c.radikal.ru/c13/1804/e1/97a658567f89.jpg |
|||
18
Garykom
гуру
25.04.18
✎
22:29
|
(17) % убери
|
|||
19
dft2014
25.04.18
✎
22:33
|
(18) ПОЛУЧИЛОСЬ!!! :*) СПАСИБО!!!
|
|||
22
Buster007
26.04.18
✎
11:15
|
(20) 1 правило нарушаете
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |