() В общем процедуру использующую метод ПолучитьИнтерактивноЧисло я поправил. Что выяснил - если вводишь существующий номер телефона - просто подбирает карту, без всяких верификаций по СМС, если номера телефона нет в базе - предлагает создать карту, не создает ее и вываливается с ошибкой, потому что новая карта еще не записана и соответственно не существует. Выкидывает уже следующую ошибку (см. скриншот):
Исправленная процедура
&НаКлиенте
Процедура ОтправкаКодаПодтверждения(НомерТелефона)
ДополнительныеПараметры = Новый Структура;
ТекущаяДата = ОбщегоНазначенияКлиент.ДатаСеанса();
НачальноеЧисло = Год(ТекущаяДата) + Месяц(ТекущаяДата) + День(ТекущаяДата) + Час(ТекущаяДата) +
Минута(ТекущаяДата) + Секунда(ТекущаяДата);
Генератор = Новый ГенераторСлучайныхЧисел(НачальноеЧисло);
КодПроверки = Генератор.СлучайноеЧисло(0, 9999);
Если КодПроверки < 1000 Тогда
КодПроверки = СтроковыеФункцииКлиентСервер.ДополнитьСтроку(Строка(КодПроверки), 4, "0");
Иначе
КодПроверки = Формат(КодПроверки, "ЧГ=0");
КонецЕсли;
ДополнительныеПараметры.Вставить("КодПроверки", КодПроверки);
ДополнительныеПараметры.Вставить("НомерТелефонаСМС", НомерТелефона);
РезультатОтправки = ОтправитьСообщениеСКодом(КодПроверки, НомерТелефона);
Если РезультатОтправки.Результат Тогда
ОповещениеКода = Новый ОписаниеОповещения(
"ОповещениеУстановкиКартыЗавершениеРегистрация", ЭтотОбъект, ДополнительныеПараметры);
ПолучитьИнтерактивноЧисло(
НСтр("ru = 'Введите код подтверждения, отправленный на телефон владельца карты.'"), ОповещениеКода, Неопределено);
Иначе
ТекстСообщения = НСтр("ru = 'Не удалось отправить сообщение с кодом проверки по причине:'") +
Символы.ПС + РезультатОтправки.ОписаниеОшибки;
ЗаголовокИнформации = НСтр("ru = 'Выбор карты не возможен'");
ОбщегоНазначенияРТКлиент.ВывестиИнформациюДляРМКУправляемой(ЗаголовокИнформации, ТекстСообщения);
КонецЕсли;
КонецПроцедуры
Показать
А, ну и еще один баг - код подтверждения принимает со второй попытки