|
v7: НайтиПоРеквизиту не ищет | ☑ | ||
---|---|---|---|---|
0
Dmitry_FFF
14.03.13
✎
11:44
|
Разбираюсь в стандартной обработке из ТиС Клиент Банка.
СпрКонтрагентов = СоздатьОбъект("Справочник.Контрагенты"); СпрКонтрагентов.НайтиПоРеквизиту("ЮрФизЛицо", НайтиОрганизацию(Корреспондент, 1), 1); НайтиОрганизацию возвращает вернвйэлемент справочника ЮрЛица, а НайтиПоРеквизиту возвращает 0, т.е. не находит элемент справочника контрагенты с полем ЮрФизЛицо. Пишу для проверки обработку, в ней все НайтиПоРеквизиту находит нужный элемент: СпрКонтрагентов = СоздатьОбъект("Справочник.Контрагенты"); СпрКонтрагентов.НайтиПоРеквизиту("ЮрФизЛицо", ВыбЮрЛица, 1); Сообщить(СпрКонтрагентов.ТекущийЭлемент()); ВыбЮрЛица элемент диалога, в котором интерактивно выбираю тот же элемент что возвращает НайтиОрганизацию(Корреспондент, 1). Почему? |
|||
1
Tymoha
14.03.13
✎
11:48
|
ну вынеси НайтиОрганизацию отдельно
|
|||
2
ЧеловекДуши
14.03.13
✎
11:48
|
Что такое "НайтиОрганизацию(Корреспондент, 1)"?
+ Галочка отбор по реквизиту. |
|||
3
antoneus
14.03.13
✎
11:48
|
(2) не было бы галки - ругалось бы
|
|||
4
ЧеловекДуши
14.03.13
✎
11:49
|
(3) Замечательно, осталось только самое главное.
|
|||
5
ЧеловекДуши
14.03.13
✎
11:50
|
+ (0)Покажи функцию "НайтиОрганизацию(Корреспондент, 1)"
|
|||
6
Dmitry_FFF
14.03.13
✎
12:48
|
Функция НайтиОрганизацию(Слово, НеИскатьСвоиЮрЛица = 0)
Объект=СоздатьОбъект("Справочник.СвоиЮрЛица"); ИННКраткий = СокрЛП(ТаблицаДокументов.ПолучитьЗначение(ТаблицаДокументов.НомерСтроки, Слово+"ИНН")); КППКраткий = СокрЛП(ТаблицаДокументов.ПолучитьЗначение(ТаблицаДокументов.НомерСтроки, Слово+"КПП")); Если ПустаяСтрока(ИННКраткий) = 0 Тогда Если НеИскатьСвоиЮрЛица = 0 Тогда Объект.НайтиЭлемент(НайтиОрганизациюПоИННКПП(ИННКраткий, КППКраткий, "СвоиЮрЛица")); Если Объект.Выбран() = 1 Тогда Спр=СоздатьОбъект("Справочник.Фирмы"); НастоящаяФирма = ПолучитьПустоеЗначение("Справочник.Фирмы"); ВременнаяФирма = ПолучитьПустоеЗначение("Справочник.Фирмы"); Спр.ВыбратьЭлементы(); Пока Спр.ПолучитьЭлемент() = 1 Цикл Если Спр.ЮрЛицо = Объект.ТекущийЭлемент() Тогда ВременнаяФирма = Спр.ТекущийЭлемент(); Если (СокрЛП(Спр.Наименование) = СокрЛП(ТаблицаДокументов.ПолучитьЗначение(ТаблицаДокументов.НомерСтроки, Слово))) ИЛИ (СокрЛП(Спр.Наименование) = СокрЛП(ТаблицаДокументов.ПолучитьЗначение(ТаблицаДокументов.НомерСтроки, Слово + "1"))) Тогда НастоящаяФирма = Спр.ТекущийЭлемент(); Прервать; КонецЕсли; КонецЕсли; КонецЦикла; Если ПустоеЗначение(НастоящаяФирма) = 0 Тогда Возврат НастоящаяФирма; КонецЕсли; Если ПустоеЗначение(ВременнаяФирма) = 0 Тогда Возврат ВременнаяФирма; КонецЕсли; КонецЕсли; КонецЕсли; Если Объект.Выбран() = 0 Тогда // Если не нашли среди своих юридических лиц и фирм - попробуем найти среди юридических лиц Объект=СоздатьОбъект("Справочник.ЮрЛица"); Объект.НайтиЭлемент(НайтиОрганизациюПоИННКПП(ИННКраткий, КППКраткий, "ЮрЛица")); КонецЕсли; Если Объект.Выбран() = 0 Тогда // Если не нашли среди юридических лиц - попробуем найти среди физических Объект=СоздатьОбъект("Справочник.ФизЛица"); Объект.НайтиЭлемент(НайтиОрганизациюПоИННКПП(ИННКраткий, КППКраткий, "ФизЛица", 12)); КонецЕсли; КонецЕсли; Возврат Объект.ТекущийЭлемент(); КонецФункции // НайтиОрганизацию() |
|||
7
Dmitry_FFF
14.03.13
✎
12:55
|
(1) Изменил вот так:
Ссс=НайтиОрганизацию(Корреспондент, 1); СпрКонтрагентов.НайтиПоРеквизиту("ЮрФизЛицо",Ссс, 1); Ничего не изменилось |
|||
8
ЧеловекДуши
14.03.13
✎
12:56
|
(7) А что показывает отладчик?
Значение ССС содержит хоть чего? |
|||
9
Happy Bear
14.03.13
✎
12:57
|
(7) ЮрФизЛицо это перечисление, а не справочник, вроде
|
|||
10
ЧеловекДуши
14.03.13
✎
12:58
|
+ сделай по типо этого
СпрРС_ЭС = СоздатьОбъект("Справочник.Контрагенты"); СпрРС_ЭС.ВыбратьЭлементыПоРеквизиту("ЮрФизЛицо",Ссс,0,0); Пока СпрРС_ЭС.ПолучитьЭлемент() = 1 Цикл //И т.д. сам (9) В ТиС-е справочник |
|||
11
NS
14.03.13
✎
12:59
|
До сегодняшнего дня это естественно был справочник.
|
|||
12
stanru1
14.03.13
✎
12:59
|
может, так?
Ссс=НайтиОрганизацию(Корреспондент, 1); СпрКонтрагентов.НайтиПоРеквизиту("ЮрФизЛицо",Ссс.ТекущийЭлемент(), 1); ? ЮрФизЛицо это справочник |
|||
13
ЧеловекДуши
14.03.13
✎
12:59
|
+(9) А вот в УПП это уже перечисление :)
|
|||
14
ЧеловекДуши
14.03.13
✎
13:00
|
+(0) (10) Кстати, контрагентов с одним и тем же Юр лицом может оказаться несколько :)
|
|||
15
Dmitry_FFF
14.03.13
✎
14:10
|
(14) Сейчас проверил все записи, Разных контрагентов с одинаковыми юрфизлицами нет. Но оказалось есть одинаковые юрфизлица, с одинаковым инн и кодом :( Видимо последствия переноса данных
Вопрос решен, всем спасибо |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |