|
Не работает функция НайтиСтроки таблицы значений | ☑ | ||
---|---|---|---|---|
0
Alex_MA
16.06.12
✎
09:45
|
Всем доброго дня!
1С:Предприятие 8.2 (8.2.15.310) Простейший код: СтруктураПоиска = Новый Структура; КлючПоиска = "УникальныйИдентификаторПриемника"; ЗначениеПоиска = "58d01354-ad1b-11e0-8072-002264a3800e"; СтруктураПоиска.Вставить(КлючПоиска, ЗначениеПоиска); НайденныеСоответствия = ТаблицаШина.НайтиСтроки(СтруктураПоиска); // НайденныеСоответствия - количество элементов 0, хотя значение в таблице есть, оно находится следующим образом: НайденнаяСтрока = ТаблицаШина.Найти("58d01354-ad1b-11e0-8072-002264a3800e"); // Не равно Неопрпеделено. ЧЯДНТ ? Очередной глюк 1С ? |
|||
1
Фокусник
16.06.12
✎
10:00
|
(0) а так находит:
НайденнаяСтрока = ТаблицаШина.Найти("58d01354-ad1b-11e0-8072-002264a3800e", "УникальныйИдентификаторПриемника") ? |
|||
2
Alex_MA
16.06.12
✎
10:10
|
Сейчас попробую, я уже сделал на временных таблицах
КлючПоиска = ?(Объект.ВидАнализа = "Источник", "УникальныйИдентификаторИсточника", "УникальныйИдентификаторПриемника"); МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос = Новый Запрос("ВЫБРАТЬ * ПОМЕСТИТЬ ТаблицаШиныВременнаяТаблица ИЗ &ТаблицаШина КАК ТаблицаШина"); Запрос.УстановитьПараметр("ТаблицаШина", ТаблицаШина); Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц; Запрос.Выполнить(); ЗапросРезультат = Новый Запрос(); Для Каждого ТекСтр Из ТаблицаИБ Цикл ТекстЗапроса = "ВЫБРАТЬ * ИЗ ТаблицаШиныВременнаяТаблица КАК ТаблицаШиныВременнаяТаблица ГДЕ ТаблицаШиныВременнаяТаблица." + КлючПоиска + " ПОДОБНО ""%" + ТекСтр.СсылкаУникальныйИдентификатор + "%"""; ЗапросРезультат.Текст = ТекстЗапроса; ЗапросРезультат.МенеджерВременныхТаблиц = Запрос.МенеджерВременныхТаблиц; ТаблицаДанных = ЗапросРезультат.Выполнить().Выгрузить(); Правда долго отрабатывает |
|||
3
Alex_MA
16.06.12
✎
10:13
|
(1)так находит, а вот НайтиСтроки не работает - прочитай внимательнее топик.
У меня могут быть не уникальные значения в таблице. |
|||
4
Alex_MA
16.06.12
✎
10:15
|
(1)прошу прощения,
ТаблицаШина.Найти("58d01354-ad1b-11e0-8072-002264a3800e", "УникальныйИдентификаторПриемника") = Неопределено |
|||
5
Нуф-Нуф
16.06.12
✎
10:16
|
(4) :)
|
|||
6
Alex_MA
16.06.12
✎
10:17
|
это что баг такой ?
|
|||
7
Александр_
Тверь 16.06.12
✎
10:17
|
(6) угу, но не там где ты думаешь :)
|
|||
8
Alex_MA
16.06.12
✎
10:18
|
(7)а где ?
|
|||
9
Александр_
Тверь 16.06.12
✎
10:18
|
(8) почитай описание метода найти.
|
|||
10
Wobland
16.06.12
✎
10:20
|
(8) видимо, в кислоте
|
|||
11
Александр_
Тверь 16.06.12
✎
10:20
|
либо у тебя колонка в таблице называется не "УникальныйИдентификаторПриемника" (может ошибку при написании допустил), либо у тебя значение "58d01354-ad1b-11e0-8072-002264a3800e" в другой колонке.
|
|||
12
Нуф-Нуф
16.06.12
✎
10:31
|
(11) колонка называется верно. только вот значение в другой
|
|||
13
Нуф-Нуф
16.06.12
✎
10:33
|
Судя по коду. УникальныйИдентификаторИсточника
|
|||
14
Нуф-Нуф
16.06.12
✎
10:34
|
выполни вот такой код:
СтруктураПоиска = Новый Структура; КлючПоиска = ?(Объект.ВидАнализа = "Источник", "УникальныйИдентификаторИсточника", "УникальныйИдентификаторПриемника"); ЗначениеПоиска = "58d01354-ad1b-11e0-8072-002264a3800e"; СтруктураПоиска.Вставить(КлючПоиска, ЗначениеПоиска); НайденныеСоответствия = ТаблицаШина.НайтиСтроки(СтруктураПоиска); |
|||
15
Alex_MA
16.06.12
✎
10:35
|
(14)спасибо люди добрые, все разобрался....
мне уже 1с ночью сниться, так что скорее бы уже в отпуск :) |
|||
16
experimentator76
16.06.12
✎
12:51
|
(11) не может быть чтобы гений ошибался))
|
|||
17
experimentator76
16.06.12
✎
12:52
|
(15) а ты отладчиком эту одноэс отладчиком
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |