Добрый вечер.
Вопрос собственно в шапке. ИНН и КПП попадают в СтрокаТЗ из экселя.
Теперь необходимо при создании контрагентов проверить нет ли уже такого ( сразу проверить не ИП ли это).
Сейчас Выборка показывает "ошибка чтения значения" (ну или ка то так). Так же сразу скажу, что загружается ИП. так, что КПП тут равен "".
Но как бороться с "ошибкой чтения значения"?
&НаСервере
Функция НайтиДубльКонтр(СтрокаТЗ)
ИННКонтрагента = СтрЗаменить(СтрокаТЗ.ИННПокупателя, " ", "");
ИННКонтрагента = СтрЗаменить(СтрокаТЗ.ИННПокупателя, Символы.НПП, "");
//Проверка на ИП или ЮРЛицо
КППКонтрагента = СтрокаТЗ.КПППокупателя;
Если КППКонтрагента = "N/A" Тогда
КППКонтрагента = ""
Иначе
КППКонтрагента = СтрЗаменить(СтрокаТЗ.КПППокупателя, " ", "");
КППКонтрагента = СтрЗаменить(СтрокаТЗ.КПППокупателя, Символы.НПП, "");
КонецЕсли;
Запрос = Новый Запрос("Запрос");
Запрос.Текст = "
|ВЫБРАТЬ
| Контрагенты.ИНН КАК ИНН,
| Контрагенты.КПП КАК КПП
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
|ГДЕ
| ИНН = &ИНН
| И КПП = &КПП";
Запрос.Параметры.Вставить("ИНН", ИННКонтрагента);
Запрос.Параметры.Вставить("КПП", КППКонтрагента);
Выборка = Запрос.Выполнить().Выбрать();
Если Не Выборка.Следующий() Тогда
//----
Иначе
Возврат Выборка.Ссылка;
КонецЕсли;
КонецФункции
Показать
Пробовал еще так, но значение к Булево нельзя преобразовать (ошибка)
ЭтоЮрЛицо = ?(СтрДлина(ИННКонтрагента) = 10, Истина, Ложь);
СпрКонтрагент = Справочники.Контрагенты.НайтиПоРеквизиту("ИНН", ИННКонтрагента) И Справочники.Контрагенты.НайтиПоРеквизиту("КПП", КППКонтрагента);// ИЛИ ЭтоЮрЛицо = Ложь;