Не идет поиск по реквизиту в справочнике
В УФ все не работает нормально, как в ОФ.
Мне понадобился в обработке для БП3.0 поиск контрагенту по реквизиту ИНН в справочнике Контрагенты.
Пробовал двумя способами(ниже), в обоих случаях контрагент не находится, хотя он есть.
ИНН в процедуру передается нормально, но выводится странно,
с разрядкой(разбивкой на группы), а не слитно -> 1 234 567 890
Может, нет поиска из-за этой разрядки?
Еще счет без контрагента "создается" почему-то и номер ему следующий присвается, но в журнале он не показывается.(???)
Мне понадобился в обработке для БП3.0 поиск контрагенту по реквизиту ИНН в справочнике Контрагенты.
Пробовал двумя способами(ниже), в обоих случаях контрагент не находится, хотя он есть.
ИНН в процедуру передается нормально, но выводится странно,
с разрядкой(разбивкой на группы), а не слитно -> 1 234 567 890
Может, нет поиска из-за этой разрядки?
&НаСервере
Процедура Создать_счет(ИНН, Сумма);
Сообщить("Вход в процедуру счета "+ИНН);
Контрагент=Справочники.Контрагенты.НайтиПоРеквизиту("ИНН",ИНН);
Если Контрагент=Справочники.Контрагенты.ПустаяСсылка() Тогда
Сообщить("Контрагент не найден");
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| Контрагенты.ИНН КАК ИНН,
| Контрагенты.Ссылка КАК Ссылка
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
|ГДЕ
| Контрагенты.ИНН = &ИНН";
Запрос.УстановитьПараметр("ИНН", ИНН);
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Сообщить("Запрос не нашел контрагента");
КонецЕсли;
...
Счет.Записать(РежимЗаписиДокумента.Запись);
Сообщить("Создан счет №"+Счет.Номер);
КонецПроцедуры
ПоказатьЕще счет без контрагента "создается" почему-то и номер ему следующий присвается, но в журнале он не показывается.(???)
По теме из базы знаний
- Загрузка данных из табличного документа в справочники, документы, планы видов характеристик, планы видов расчетов, планы счетов, бизнес-процессы, задачи, в движения документов, поточная загрузка документов (EXCEL, управляемые формы, универсальная)
- Загрузка справочников из XML
- Формирование внешнего отчета в фоне
- Поиск отчета по документам
- Умная Загрузка Номенклатуры - с автопоиском реквизитов из Excel, загрузка изображений и документов
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3)
По здравому смыслу, такой счет не должен записываться, должна выдаваться ошибка, т.к. контрагент в счете обязателен. А он куда-то записывается и номера счетов где-то запоминаются.Глюк системы?
Создается он потому что в приведенном тексте процедуры нет прерывания, если контрагент не найден.
По здравому смыслу, такой счет не должен записываться, должна выдаваться ошибка, т.к. контрагент в счете обязателен. А он куда-то записывается и номера счетов где-то запоминаются.Глюк системы?
(12)
Воспользуйтесь отладчиком и посмотрите что дает "Формат(ИНН,"ЧРГ=''") или Строка(ИНН)". Посмотрите, что реально передается.
Если там будет строка из 10 символов, то проблема в другом. Если же нет, то в этом.
Вы читали, что я уже пробовал передавать строку через преобразование в нее в виде
Формат(ИНН,"ЧРГ=''") или Строка(ИНН)
Формат(ИНН,"ЧРГ=''") или Строка(ИНН)
Воспользуйтесь отладчиком и посмотрите что дает "Формат(ИНН,"ЧРГ=''") или Строка(ИНН)". Посмотрите, что реально передается.
Если там будет строка из 10 символов, то проблема в другом. Если же нет, то в этом.
(2)
Я пробовал писать и
Контрагент=Справочники.Контрагенты.НайтиПоРеквизиту("ИНН", Строка(ИНН));
или
Контрагент=Справочники.Контрагенты.НайтиПоРеквизиту("ИНН", Формат(ИНН,"ЧРГ=''"));
Т.е. передавал строкой.
Результат тот же. (ЧРГ = ' ' ) между одинарными кавычками нет пробела, поэтому выглядит как двойная кавычка.
так надо ИНН в виде строки передавать?
Я пробовал писать и
Контрагент=Справочники.Контрагенты.НайтиПоРеквизиту("ИНН", Строка(ИНН));
или
Контрагент=Справочники.Контрагенты.НайтиПоРеквизиту("ИНН", Формат(ИНН,"ЧРГ=''"));
Т.е. передавал строкой.
Результат тот же. (ЧРГ = ' ' ) между одинарными кавычками нет пробела, поэтому выглядит как двойная кавычка.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот