8.х Как изменить ОкончаниеВводаТекста()

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем 1cport, 3 дек 2014.

  1. TopicStarter Overlay
    1cport
    Offline

    1cport Опытный в 1С

    Регистрация:
    25 авг 2014
    Сообщения:
    114
    Симпатии:
    1
    Баллы:
    29
    Здравствутйе.

    Я переделал обработку выбора (
    СтандартнаяОбработка = Ложь;

    ) элемента справочника контрагенты на форме одного из документов
    теперь поьзователь не может выбрать только ограниченный список контрагентов.

    Но если он будет вводить данные с клавиатуры то он снова имеет возможность выбрать любого контрагента .

    Подскажите пожалуйста как можно сделать чтобы и при вводе текста в подсказку выводились тоже только с ограничением по списку .
    --- Объединение сообщений, 3 дек 2014 ---
    "может выбрать только ограниченный список контрагентов "
    Последнее редактирование: 3 дек 2014
  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    А что за конфигурация? Обычно то что вы делаете решается стандартным ограничение прав доступа на уровне записей. Ограничиваете контрагентов, по группам и те кому надо видят толтко тех кто им нужен. Зачем конфу менять (ну это если у вас стандартная).

    Ну если все же вы хотите по своему то, в ОкончаниеВводаТекста() СтандартнаяОбработка=Ложь
    И там уже в коди пишите Если У Вас основное представление у справочника Наименование то НайтиПоНаименванию,то что он ищет, иначе найти по коду.
    То что нашил проверяете эта ссылка в вашем ограниченом списке - если да то подставляете ее, иначе пустую ссылку
  3. TopicStarter Overlay
    1cport
    Offline

    1cport Опытный в 1С

    Регистрация:
    25 авг 2014
    Сообщения:
    114
    Симпатии:
    1
    Баллы:
    29
    .Да вы правы мне не хочется ограничивать по папкам.

    А можно пример кода про котрый вы говорите ?
  4. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    То что вы не хотите, это не значит, что так не надо делать. Это Вам в одном месте в выборе так надо сделать, вы что это все во всех местах где контрагент так ограничивать будете?

    Ну пример кода сложно я же не знаю где у вас список Ваших ограничений

    Ну как то так

    Код:
    Процедура ПолеВвода1ОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка)
    СтандартнаяОбработка=ложь;
    СсылкаНаВведеногоКонтрагнета=Справочники.Контрагенты.НайтиПоНаименованию(Текст);
    Запрос=Новый Запрос;
    Запрос.Текст="Тут текст запроса которым получаете список контрагентов для данного сотрудника";
    ТЗ=Запрос.Выполнить().Выгрузить();
    
    Если ТЗ.Найти(СсылкаНаВведеногоКонтрагнета,"Контрагент") =Неопределено Тогда
         Значение=Справочники.Контрагенты.ПустаяСсылка();
    Иначе
         Значение=СсылкаНаВведеногоКонтрагнета;
    КонецЕсли;   
    
    КонецПроцедуры
    
  5. TopicStarter Overlay
    1cport
    Offline

    1cport Опытный в 1С

    Регистрация:
    25 авг 2014
    Сообщения:
    114
    Симпатии:
    1
    Баллы:
    29
    Спасибо - но этот вариант работает только на неуправляемых формах .

    а на управляемых не срабатывает почему-то ?
  6. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Ну я Вам алгоритм дал. У меня УПП, управляемые сейчас нет времени смотреть.
  7. TopicStarter Overlay
    1cport
    Offline

    1cport Опытный в 1С

    Регистрация:
    25 авг 2014
    Сообщения:
    114
    Симпатии:
    1
    Баллы:
    29
    Спасибо .
    --- Объединение сообщений, 3 дек 2014 ---
    меня еще интересует как в управляемом приложении это ограничить может кто знает

Поделиться этой страницей