Имя: Пароль:
1C
1С v8
Отбор по ИНН
,
0 first_may
 
13.03.14
20:56
Добрый вечер. Подскажите пожалуйста, если в базе есть несколько контрагентов с одинаковым ИНН, можно ли получить их список?

Попытался использовать отбор, но ничего не получилось:
Отбор = Новый Структура("ИНН");
Отбор.ИНН = "1234567890";
Выборка = Справочники.Контрагенты.Выбрать(, , Отбор, );
1 mulmulya
 
13.03.14
20:58
запросом попробуйте
2 first_may
 
13.03.14
21:00
(1) запрос оставил напоследок, так как строка ИНН получается в цикле, а запрос в цикле - не очень хорошо :).
3 mulmulya
 
13.03.14
21:06
(0) >>ничего не получилось
подробнее можно?
4 first_may
 
13.03.14
21:10
(3) Ошибка при вызове метода контекста (Выбрать): Произошла исключительная ситуация: Несоответствие типов (параметр номер '3')
5 mulmulya
 
13.03.14
21:17
у ИНН установлен признак "индексировать"?
6 first_may
 
13.03.14
21:20
(5) да, полнотекстовый поиск - Использовать
7 mulmulya
 
13.03.14
21:23
(6)а признак индексирования - "индексировать"?
8 echo77
 
13.03.14
21:25
(6) Признак полнотекстовый поиск - это несколько иное, в данном контексте оно вам не надо, вас интересует признак "индексировать"

Делайте запрос в цикле :-)
9 first_may
 
13.03.14
21:30
признак индексирования - "индексировать"

Дело в том, что я хочу получить этот список в базе, к которой подлючился через
ОбъектПодключения = ОбъектПодключения +".COMConnector";

то есть в текущей базе все работает:
Отбор = Новый Структура("ИНН");
Отбор.ИНН = Выборка.Ссылка.Контрагент.ИНН;
Выборка1 = Справочники.Контрагенты.Выбрать(, , Отбор, );

а через ОЛЕ нет:
Отбор = Новый Структура("ИНН");
Отбор.ИНН = Выборка.Ссылка.Контрагент.ИНН;

Выборка2 = ОбъектПодключения.Справочники.Контрагенты.Выбрать(, , Отбор, );
10 first_may
 
13.03.14
21:32
(8) поэтому и запрос то  не знаю как тут использовать.
11 first_may
 
13.03.14
21:34
вот такая строка работает
КонтрагентБух = ОбъектПодключения.Справочники.Контрагенты.НайтиПоРеквизиту("ИНН", Выборка.Ссылка.Контрагент.ИНН);

но нахожу первого контрагента с таким ИНН, а если их там несколько? то как перебрать их всех?
12 mulmulya
 
13.03.14
22:01
запросы не работают?
13 first_may
 
13.03.14
22:06
(12) я не знаю как выполнить запрос в ОбъектПодключения. Это же другая база.
14 GenV
 
13.03.14
22:09
15 first_may
 
13.03.14
22:11
(14) спасибо
16 hhhh
 
13.03.14
22:42
(15)  Отбор = ОбъектПодключения.NewObject("Структура","ИНН");
Отбор.ИНН = Выборка.Ссылка.Контрагент.ИНН;
Выборка1 = Справочники.Контрагенты.Выбрать(, , Отбор, );
17 first_may
 
13.03.14
22:59
(16) спасибо, только я поправил:

Отбор = ОбъектПодключения.NewObject("Структура", "ИНН");
Отбор.ИНН = Выборка.Ссылка.Контрагент.ИНН;

Выборка1 = ОбъектПодключения.Справочники.Контрагенты.Выбрать(, , Отбор, );

так как надо искать в ОбъектПодключения.

Сделал два варианта, обаработают, но оставил второй :).
Всем спасибо!
18 first_may
 
21.03.14
16:06
Добрый день. Возникло продолжение задачи. Надо сравнить реквизит ЮрФизЛицо в текущей базе и в базе ОбъектПодключения.
В отладчике смотрю для
ОбъектПодключения.Перечисления.ЮрФизЛицо
и вижу
ФизЛицо    COMОбъект    COMОбъект
ЮрЛицо    COMОбъект    COMОбъект

то есть не могу узнать какое значение реквизита. Подскажите пожалуйста, как это можно сделать?
19 Попытка1С
 
21.03.14
16:09
(18) Используйте простые типы, строка, число.

ОбъектПодключения.Перечисления.ЮрФизЛицо.Код
ОбъектПодключения.Перечисления.ЮрФизЛицо.Наименование

и тд
20 first_may
 
21.03.14
16:10
в отладчике смотрю
ОбъектПодключения.Перечисления.ЮрФизЛицо.Код
результат
{(1)}: Поле объекта не обнаружено (Код)
21 ДенисЧ
 
21.03.14
16:10
(20) первый раз слышу (с), чтобы у перечисления был код...
22 first_may
 
21.03.14
16:10
ОбъектПодключения.Перечисления.ЮрФизЛицо    COMОбъект    COMОбъект
Count    Ошибка чтения значения    
EmptyRef    Ошибка чтения значения    
Get    Ошибка чтения значения    
GetChoiceData    Ошибка чтения значения    
GetChoiceForm    Ошибка чтения значения    
GetForm    Ошибка чтения значения    
GetListForm    Ошибка чтения значения    
GetTemplate    Ошибка чтения значения    
IndexOf    Ошибка чтения значения    
_NewEnum    COMОбъект    COMОбъект
ФизЛицо    COMОбъект    COMОбъект
ЮрЛицо    COMОбъект    COMОбъект
23 Попытка1С
 
21.03.14
16:11
(20) ну посмотрите в конфигураторе как у вас там реквизит называется, я от сюда не вижу.
24 Попытка1С
 
21.03.14
16:11
Тьфу ты, это перечисление.
25 first_may
 
21.03.14
16:12
да, это перечисление
26 first_may
 
21.03.14
16:13
ОбъектПодключения - это БП, мне надо проверить
Если ОбъектПодключения.Справочники.Контрагент.ЮрФизЛицо = Перечисление....
27 first_may
 
21.03.14
16:14
вернее пишу
Если ОбъектПодключения.Справочники.Контрагент.ЮрФизЛицо = ОбъектПодключения.Перечисления.ЮрФизЛицо.ФизЛицо Тогда
...

вот сравнение не проходит
28 Попытка1С
 
21.03.14
16:15
Ном = ОбъектПодключения.Перечисления.ЮрФизЛицо.Индекс(ОбъектПодключения.Перечисления);
Имя = ОбъектПодключения.Перечисления.Метаданные().Перечисления.ЮрФизЛицо.EnumValues.Get(Ном).Name;
30 first_may
 
21.03.14
16:19
ОбъектПодключения.ПеречислениЕ - какое значение?

для ОбъектПодключения.Перечисления.ЮрФизЛицо доступно

ОбъектПодключения.Перечисления.ЮрФизЛицо    COMОбъект    COMОбъект
Count    Ошибка чтения значения    
EmptyRef    Ошибка чтения значения    
Get    Ошибка чтения значения    
GetChoiceData    Ошибка чтения значения    
GetChoiceForm    Ошибка чтения значения    
GetForm    Ошибка чтения значения    
GetListForm    Ошибка чтения значения    
GetTemplate    Ошибка чтения значения    
IndexOf    Ошибка чтения значения    
_NewEnum    COMОбъект    COMОбъект
ФизЛицо    COMОбъект    COMОбъект
ЮрЛицо    COMОбъект    COMОбъект
31 first_may
 
21.03.14
16:20
Выражение    Значение    Тип
ОбъектПодключения.Перечисления.ЮрФизЛицо.ФизЛицо    COMОбъект    COMОбъект
IsEmpty    Ошибка чтения значения    
Metadata    Ошибка чтения значения
32 first_may
 
21.03.14
16:38
КонтрагентБух.ЮрФизЛицо.Metadata(0) - здесь хранится информация о том, кто он ЮЛ или ФЛ?
33 first_may
 
21.03.14
16:41
Именно с Metadata(0).EnumValues надо разбираться?
34 first_may
 
21.03.14
17:06
(28) вот это!!! Спасибо :).
Закон Брукера: Даже маленькая практика стоит большой теории.