Имя: Пароль:
1C
1С v8
1С 8.3.8 УФ и Автоподбор адреса c google
0 Darhon
 
29.08.16
16:49
Здравствуйте! разбираю пример автоподбора адреса с помощью API ГУГЛ. В принципе все работает, кроме странного поведения формы...После ввода символа первого, вываливается список адресов и ПОЛЕ очищается, то есть по 2,3 и более символам искать нереально....вот код:

&НаКлиенте
Процедура АдресАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
СтандартнаяОбработка=Ложь;
Если ЗначениеЗаполнено(Текст) Тогда
autocompletePlaceGoogle(Текст, ДанныеВыбора, СтандартнаяОбработка);
КонецЕсли;

КонецПроцедуры
//Теперь самое основное, опишем процедуру autocompletePlaceGoogle.

Процедура autocompletePlaceGoogle(пАдрес, списокАдресов, СтандартнаяОбработка) Экспорт


//&components=country:ua отбор по стране
ПреобразованныйАдрес = "/maps/api/place/autocomplete/json?input=" + пАдрес + "&types=address&language=ru&key=" + getAPIKeyGoogle();

Соединение = Новый HTTPСоединение("maps.googleapis.com",,,,,,Новый ЗащищенноеСоединениеOpenSSL);

ОтветСервера = Соединение.Получить(Новый HTTPЗапрос(ПреобразованныйАдрес)).ПолучитьТелоКакСтроку();

JSON = Новый ЧтениеJSON;
JSON.УстановитьСтроку(ОтветСервера);

jsonОтвет = ПрочитатьJSON(JSON);

Если НЕ jsonОтвет.Свойство("predictions") ИЛИ НЕ jsonОтвет.Свойство("status") Тогда
Возврат;
КонецЕсли;

predictions = jsonОтвет.predictions;
status = jsonОтвет.status;

Если status <> "OK" Тогда
Возврат;
КонецЕсли;

списокАдресов = Новый СписокЗначений;
Для Каждого найденныйАдрес ИЗ predictions Цикл

списокАдресов.Добавить(найденныйАдрес.description);

КонецЦикла;

КонецПроцедуры // Autococomplete()


Подскажите как сделать так, чтобы можно было набирать несколько символов подряд и он бы фильтровал значения в зависимости от набранной подстроки.  Заранее спасибо.
1 Darhon
 
29.08.16
16:55
ЗЫ. Обновление текста редактирования стоит "Не использовать"
2 Mauser
 
29.08.16
16:56
Там в СП для этого события что-то про серверные вызовы написано. Прочти пожалуйста.
3 Mauser
 
29.08.16
16:57
Можно вслух, десятка раз, для начала, думаю хватит.
4 Darhon
 
29.08.16
16:57
(2) серверные вызовы не используются, все в контексте клиента (( Про серверные вызовы знаю...
5 Mauser
 
29.08.16
16:58
А в коде у тебя что написано?
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан