Имя: Пароль:
1C
1С v8
Поиск в ТЗ по неточному наименованию, как сделать???
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 правило нарушаете