Имя: Пароль:
1C
1С v8
НайтиПоПолю() возвращает пустую ссылку
, ,
0 HEKPOH
 
06.04.15
14:34
Есть внешний источник данных Payments. Связь с ним работает. В этом источнике данных определена таблица Employee (объектная), которая имеет много записей, среди которых есть запись с полем LastName = «Иванов».
Пишу
ЗаписьТаблицыСсылка = ВнешниеИсточникиДанных. Payments.Таблицы.Employee.НайтиПоПолю("LastName", "Иванов");
Если не ЗаписьТаблицыСсылка.Пустая() Тогда            
    ЗаписьТаблицыОбъект = ЗаписьТаблицыСсылка.ПолучитьОбъект();
Иначе
    Сообщить(«фик тебе!»);
КонецЕсли;

В результате всегда «фик тебе!»
Пробовал другие поля и значения – не работает :(
Подскажите, в чем может быть дело?
1 pomoshnik
 
06.04.15
14:41
ХЗ
2 HEKPOH
 
06.04.15
14:43
(1) аналогично, коллега!
3 mehfk
 
06.04.15
14:47
Примечание:

Доступен только для таблиц с типом данных ОбъектныеДанные.
Если существует несколько элементов с указанным значением поля, то будет найден только один из них.
Для реквизитов типа Строка поиск осуществляется по точному соответствию.
4 HEKPOH
 
06.04.15
14:48
(3)
Доступен только для таблиц с типом данных ОбъектныеДанные.  - определена таблица Employee (объектная)
Если существует несколько элементов с указанным значением поля, то будет найден только один из них - ни одного не находит :(
5 mehfk
 
06.04.15
14:51
До конца прочитал?
6 HEKPOH
 
06.04.15
14:55
(5) до конца. потому и пробовал проверять еще и числовые поля (вместо строковых) - не взлетело
7 HEKPOH
 
06.04.15
15:29
Что самое интересное, в профайлере отлавливаю запрос конструкции НайтиПоПолю(), и он возвращает результат, а 1С его не видит :(
8 Барматолог
 
06.04.15
15:53
А запросиком?
9 HEKPOH
 
06.04.15
15:56
запросиком все находит
10 HEKPOH
 
06.04.15
16:00
+ (9) но мне нужен тип ВнешнийИсточникДанныхТаблицаМенеджер, чтобы получить ВнешнийИсточникДанныхТаблицаСсылка
11 hhhh
 
06.04.15
16:14
(100 а точно там у внешних таблиц есть методы Пустая() и ПолучитьОбъект() ? это же не 1с?
12 HEKPOH
 
06.04.15
16:25
есть)
13 hhhh
 
06.04.15
16:27
(12) может она не Истина возвращает?
14 HEKPOH
 
06.04.15
16:36
проверял. всегда возвращает пустую ссылку
15 hhhh
 
06.04.15
16:48
значит, не находит. может пробелы какие-нибудь после Иванов?
16 HEKPOH
 
06.04.15
16:53
(15) не, дело не в пробелах. я ж говорю, что и числовые поля проверял. косяк, реально, на стороне 1С, потому как на sql-сервере запрос красивый :)
17 mehfk
 
06.04.15
16:59
У меня работает 8.3.5.1428
18 HEKPOH
 
06.04.15
17:04
8.3.5.1443 - почему-то не хочет))))
19 HEKPOH
 
06.04.15
17:07
(17) сейчас качну 8.3.5.1428 и проверю
20 HEKPOH
 
06.04.15
17:14
не работает((((
видно, как-то ВИД криво прописался(((
21 HEKPOH
 
07.04.15
08:46
Объяснение проблемы нашел: http://курсы-по-1с.рф/articles/запись-во-внешние-источники/
"Интересная и полезная статья, НО возник вопрос по поводу отображения данных из ВИД на форме списка:
— стандартная форма выводится пустой, но поиск по ней срабатывает,
— динамический список не срабатывает.
Не подскажете, в чем может быть проблема?
ВИД — база SQL."

Все дело именно в ключе. Когда на стороне 1С поле ключа сделал строкой, НайтиПоПолю() начал корректно отрабатывать. Но засада в том, что записать потом объект не получается.

Странно, почему 1С поле с типом uniqueidentifier считает неуникальным?