| 
    
        
     
     | 
    
    
  | 
Не работает правильно обработчик события в УФ | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        23th    
     13.11.18 
            ✎
    12:28 
 | 
         
        Я сделал обрбаотку события "ОкончаниеВводаТекста" в поле формы.
 
        Самое интересное почему то при окончании не выходит форма выбора значения из списка - ДанныеВыбора. Раньше вроде все работало. В чем может быть дело? Всем спасибо! Платформа 8.3.12.1616 &НаКлиенте Процедура ТелефонОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка) ОчисткаПолей(); Если СтрДлина(Текст) > 5 тогда ДанныеВыбора = ПолучитьСпиоокКонтактовПоТелефону(Текст); КонецЕсли; Если ДанныеВыбора = Неопределено тогда Телефон = СокрЛП(Текст); КонецЕсли; КонецПроцедуры  | 
|||
| 
    1
    
        tesseract    
     13.11.18 
            ✎
    12:33 
 | 
         
        (0) Точно работала? СтандартнаяОбработка=Ложь должна быть.     
         | 
|||
| 
    2
    
        AlvlSpb    
     naïve 
    13.11.18 
            ✎
    12:35 
 | 
         
        (0) А не орфография виновата?
 
        ДанныеВыбора = ПолучитьСпиОокКонтактовПоТелефону(Текст);  | 
|||
| 
    3
    
        23th    
     13.11.18 
            ✎
    12:37 
 | 
         
        (2) не орфография
 
        СтандартнаяОбработка = Ложь делал....  | 
|||
| 
    4
    
        tesseract    
     13.11.18 
            ✎
    12:39 
 | 
         
        (3) >>В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере. 
 
        ТЕ ПолучитьСпиОокКонтактовПоТелефону(Текст); должна находится в общем модуле, если она северная.  | 
|||
| 
    5
    
        23th    
     13.11.18 
            ✎
    12:40 
 | 
         
        (4) как понять в общем модуле?
 
        &НаСервере Функция ПолучитьСписокКонтактовПоТелефону(НомерТелефона) НомерТелефона = СтрЗаменить(НомерТелефона,"(",""); НомерТелефона = СтрЗаменить(НомерТелефона,")",""); НомерТелефона = СтрЗаменить(НомерТелефона,"-",""); НомерТелефона = СтрЗаменить(НомерТелефона," ",""); НомерТелефона = СтрЗаменить(НомерТелефона,"+",""); ЧислоСимволов = СтрДлина(НомерТелефона); НомерТелефона = Сред(НомерТелефона, 2, ЧислоСимволов); НомерТелефона = "8" + НомерТелефона; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | КонтактныеЛицаПартнеровКонтактнаяИнформация.Ссылка КАК Ссылка |ИЗ | Справочник.КонтактныеЛицаПартнеров.КонтактнаяИнформация КАК КонтактныеЛицаПартнеровКонтактнаяИнформация |ГДЕ | КонтактныеЛицаПартнеровКонтактнаяИнформация.Тип = &Тип | И КонтактныеЛицаПартнеровКонтактнаяИнформация.НомерТелефона = &НомерТелефона | И КонтактныеЛицаПартнеровКонтактнаяИнформация.Вид = &Вид"; Запрос.УстановитьПараметр("Тип",Перечисления.ТипыКонтактнойИнформации.Телефон); Запрос.УстановитьПараметр("НомерТелефона",НомерТелефона); Запрос.УстановитьПараметр("Вид", Справочники.ВидыКонтактнойИнформации.МобильныйТелефонКонтактногоЛица); РезультатЗапроса = Запрос.Выполнить(); СписокСсылок = Новый СписокЗначений; Если РезультатЗапроса.Пустой() тогда Телефон = НомерТелефона; Иначе ВыборкаТелефона = РезультатЗапроса.Выбрать(); СтруктураСписка = Новый Структура; Пока ВыборкаТелефона.Следующий() цикл СтруктураСписка.Вставить("КонтактноеЛицо", ВыборкаТелефона.Ссылка); Если ВыборкаТелефона.Ссылка.РолиКонтактногоЛица.Количество() > 0 тогда СтруктураСписка.Вставить("Роль", ВыборкаТелефона.Ссылка.РолиКонтактногоЛица.Получить(0).РольКонтактногоЛица); Иначе СтруктураСписка.Вставить("Роль", "нет ролей!"); КонецЕсли; СписокСсылок.Добавить(СтруктураСписка, Строка(СтруктураСписка.КонтактноеЛицо)+","+Строка(СтруктураСписка.Роль)); КонецЦикла; КонецЕсли; Возврат СписокСсылок; КонецФункции  | 
|||
| 
    6
    
        23th    
     13.11.18 
            ✎
    12:44 
 | 
         
        (4) 
 
        я запрос то могу сделать только на сервере.  | 
|||
| 
    7
    
        Cyberhawk    
     13.11.18 
            ✎
    12:44 
 | 
         
        (5) НаСервереБезКонтекста в модуле формы, если не поможет - выноси метод в общий модуль     
         | 
|||
| 
    8
    
        НастоящееИмя    
     13.11.18 
            ✎
    12:54 
 | 
         
        Почему в теле процедуры ПолучитьСпиоокКонтактовПоТелефону, а сама функция ПолучитьСписокКонтактовПоТелефону.
 
        Точно не здесь проблема?  | 
|||
| 
    9
    
        23th    
     13.11.18 
            ✎
    13:12 
 | 
         
        (7) Поставил НаСервереБезКонтекста
 
        не работает именно когда вызывается процедура ОчисткаПолей(); а она у меня на клиенте...  | 
|||
| 
    10
    
        FIXXXL    
     13.11.18 
            ✎
    13:19 
 | 
         
        (9) где именно поставил?     
         | 
|||
| 
    11
    
        Cyberhawk    
     13.11.18 
            ✎
    13:20 
 | 
         
        "она у меня на клиенте" // Ну может она все равно сервер дергает, в т.ч. и неявно     
         | 
|||
| 
    12
    
        23th    
     13.11.18 
            ✎
    15:35 
 | 
         
        я понял, работа с реквизитами формы почему то сразу убивает обработчик события и он перестает отрабатывать.     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |