8.х Формирование списка в поле ввода

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем Tommy_GuN, 19 апр 2012.

  1. TopicStarter Overlay
    Tommy_GuN
    Offline

    Tommy_GuN

    Регистрация:
    19 апр 2012
    Сообщения:
    27
    Симпатии:
    0
    Баллы:
    1
    Доброго времени суток, уважаемые форумчане. У меня возник вопрос, который я не могу решить. На форме документа размещено поле ввода(ТипЦены) с ссылкой на ПеречислениеСсылка.ТипЦены. Перечисление содержит значения (оптовая, дилерская, розничная1, розничная2). Вопрос следующий, как сделать, что бы при открытии документа, значения поля ввода ТипЦены менялись в зависимости от роли пользователя? Допустим пользователь зашел как "продавец", в поле ввода доступны только оптовая и розничная, пользователь зашел как Администратор магазина, доступны значения дилерская, оптовая, розничная2.
    P.S. Отбор пользователей по ролям можно не описывать, интересует формирование "списка" в поле. Помогите пожалуйста кто чем может :)
  2. rshakiro
    Offline

    rshakiro Профессионал в 1С Команда форума

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    Может не при открытии, а при создании документа??
  3. TopicStarter Overlay
    Tommy_GuN
    Offline

    Tommy_GuN

    Регистрация:
    19 апр 2012
    Сообщения:
    27
    Симпатии:
    0
    Баллы:
    1
    да при создании документа )
  4. rshakiro
    Offline

    rshakiro Профессионал в 1С Команда форума

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    Может как-то

    Код:
    Процедура ПередЗаписью(Отказ)
    Если РольПользователя = "Администратор" И ТипЦены = Перечисления.ТипЦены.Дилерская Тогда
    ИначеЕсли РольПользователя = "Манагер" И ТипЦены = Перечисления.ТипЦены.Дилерская Тогда
    Сообщить("Вам же запрещено выбирать данный склад!!!");
    Отказ = Истина;
    КонецЕсли;
  5. rshakiro
    Offline

    rshakiro Профессионал в 1С Команда форума

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    Либо проверять при записи документа:
    Код:
    Процедура ПередЗаписью(Отказ)
    Есль РольПользователя = "Манагер" И ТипЦены = Перечисления.ТипЦены.Дилерская Тогда
    Сообщить("Вам нельзя выбрать данный склад");
    Отказ = Истина;
    КонецЕсли;
  6. TopicStarter Overlay
    Tommy_GuN
    Offline

    Tommy_GuN

    Регистрация:
    19 апр 2012
    Сообщения:
    27
    Симпатии:
    0
    Баллы:
    1
    А возможно ли, что бы изначально при создании документа некоторые значения ТипЦены не были "видны/доступны"? то есть сразу выбор предоставлял только допустим (Дилерская, оптовая)?
  7. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.948
    Симпатии:
    149
    Баллы:
    104
    Форма обычная или управляемая?
  8. TopicStarter Overlay
    Tommy_GuN
    Offline

    Tommy_GuN

    Регистрация:
    19 апр 2012
    Сообщения:
    27
    Симпатии:
    0
    Баллы:
    1
    обычная
  9. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.948
    Симпатии:
    149
    Баллы:
    104
    Тогда это должно помочь:

  10. TopicStarter Overlay
    Tommy_GuN
    Offline

    Tommy_GuN

    Регистрация:
    19 апр 2012
    Сообщения:
    27
    Симпатии:
    0
    Баллы:
    1
    сейчас попробуем...

    1cUserAndrew а можно пример для наглядности?
  11. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.948
    Симпатии:
    149
    Баллы:
    104
    Можно )

    Код:
    СписокНужныхТиповЦен = Новый СписокЗначений;
    СписокНужныхТиповЦен.Добавить(Перечисления.ТипЦены.Дилерская);
    СписокНужныхТиповЦен.Добавить(Перечисления.ТипЦены.Оптовая);
    
    ЭлементыФормы.ТипЦены.ДоступныеЗначения = СписокНужныхТиповЦен;
  12. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.948
    Симпатии:
    149
    Баллы:
    104
    Код этот можно написать в процедуре-обработчике события формы "При открытии".
  13. TopicStarter Overlay
    Tommy_GuN
    Offline

    Tommy_GuN

    Регистрация:
    19 апр 2012
    Сообщения:
    27
    Симпатии:
    0
    Баллы:
    1
    Спасибо огромное 1cUserAndrew ! Именно то, что я хотел! И спасибо rshakiro за быстрый и интересный ответ! Еще раз спасибо :)

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