Вход | Регистрация


Быстрый ввод склада по части кода. УПП 1.3

Быстрый ввод склада по части кода. УПП 1.3
Я
   slitov
 
29.09.17 - 16:53
Чет у меня лыжи не едут или копаю не там, помогите.
Надо реализовать ввод склада в документы по коду, без лидирующих нулей и префикса, нашел такое решение: https://helpf.pro/faq83/view/1767.html
Первый вариант не взлетел, как я понимаю он для управляемых форм.
По второму варианту в модуле менеджера справочника склада прописал, хотел посмотреть, что приходит, чтоб подправить запрос, но точка останова не рабоает...
Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)
    
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    Склады.Ссылка
        |ИЗ
        |    Справочник.Склады КАК Склады
        |ГДЕ
        |    Склады.Наименование ПОДОБНО Склады.Наименование";
        
        
    Запрос.УстановитьПараметр("Наименование", "%" + Параметры.СтрокаПоиска + "%");
    
    РезультатЗапроса = Запрос.Выполнить();
    Таблица = РезультатЗапроса.Выгрузить();
    Массив = Таблица.ВыгрузитьКолонку("Ссылка");
    
    ДанныеВыбора = Новый СписокЗначений;
    ДанныеВыбора.ЗагрузитьЗначения(Массив);
    СтандартнаяОбработка = Ложь;
КонецПроцедуры

 
 
   vicof
 
1 - 29.09.17 - 16:58
Возникает на сервере перед стандартным формированием списка при вводе по строке, автоподборе текста и быстром выборе, а также при выполнении метода ПолучитьДанныеВыбора.
   Heckfy
 
2 - 29.09.17 - 16:58
   Филиал-msk
 
3 - 29.09.17 - 16:59
|ГДЕ
|    Склады.Наименование ПОДОБНО Склады.Наименование";


Прекрасно
   slitov
 
4 - 29.09.17 - 17:07
(3) Я тоже на эту красоту обратил внимание, подправить то не проблема, обращение к процедуре не происходит.
(2) Отладка работает.
(1) Т.е. из документа реализации при вводе в поле СкладОрдер должна теоретически попасть в эту процедуру, может я еще чего не учел...
   _Batoo
 
5 - 29.09.17 - 17:26
(4)

Так и делать надо тогда в форме документа, а не в ОбработкаПолученияДанныхВыбора справочника.
   slitov
 
6 - 29.09.17 - 17:52
(5) Добавил в модель менеджера документа поступления ОбработкаПолученияДанныхВыбора, не обращается туда при вводе склада (((

Может еще есть варианты?
   _Batoo
 
7 - 29.09.17 - 17:56
(6)

Снова не попал)
Форма документа - реквизит СкладОрдер - событие АвтоПодбор
   slitov
 
8 - 29.09.17 - 18:12
(7) Я наверно тугой или... Но туда передаются:
(Элемент, Текст, ТекстАвтоПодбора, СтандартнаяОбработка)
В элементе есть нечто похожее, но не то:
Элемент.СписокВыбора

ДанныеВыбора я нигде не нашел, буду благодарен, если тыкните носом, куда заполнить найденные значения, чтоб высветилось пользователю? ТекстАвтоПодбора вроде строка, как туда ссылку запихнуть то...
   Филиал-msk
 
9 - 29.09.17 - 19:10
(8) Туда передаются (Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)

Но только в управляемых формах. Что, наверно, все и объясняет.
   slitov
 
10 - 29.09.17 - 19:18
Вот подсказали в другом месте:
(0) Список найденных складов поместить в СписокЗначений, затем:
1. Проверить, что он не пустой
2. Вызвать метод глобального контекста ВыбранноеЗначение = ВыбратьИзСписка(СписокЗначений)
3. Обработать ВыбранноеЗначение. 
4. СтандартнаяОбработка = Ложь 

В результате, вы имитируете выпадающий список подобранных значений. 
Вот работающий код для истории

[1С]
Процедура СкладОрдерАвтоПодборТекста(Элемент, Текст, ТекстАвтоПодбора, СтандартнаяОбработка)
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    Склады.Ссылка
        |ИЗ
        |    Справочник.Склады КАК Склады
        |ГДЕ
        |    Склады.КОД ПОДОБНО &КОД";
        
        
    Запрос.УстановитьПараметр("КОД", "%" + Текст + "%");
    
    РезультатЗапроса = Запрос.Выполнить();
    Таблица = РезультатЗапроса.Выгрузить();
    Массив = Таблица.ВыгрузитьКолонку("Ссылка");
    
    ДанныеВыбора = Новый СписокЗначений;
    ДанныеВыбора.ЗагрузитьЗначения(Массив);
    Элемент.СписокВыбора = ДанныеВыбора;
    Вид = ВыбратьИзСписка(ДанныеВыбора, Элемент);
    
    //СтандартнаяОбработка = Ложь;
    
КонецПроцедуры

[1С/]
 
 Рекламное место пустует

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует