8.х Подскажите по полю выбора

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

  1. TopicStarter Overlay
    sam441
    Offline

    sam441

    Регистрация:
    24 авг 2009
    Сообщения:
    24
    Симпатии:
    0
    Баллы:
    1
    Здраствуйте, имеется поле выбора с типом данных справочник.номенклатура, подскажите как ограничить список выбора, чтобы можно было выбрать только товар принадлежащий определенной группе, например "услуги", заранее спасибо
  2. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Именно, что бы кнопочку или галочку где нить вкл. не получится. Настраивается только связь по владельцу для подчиненых справочников. Привдется ПриНачалеВыбора или Обработкевыбора. Устанавливать отбор на форму списка и ок.
  3. TopicStarter Overlay
    sam441
    Offline

    sam441

    Регистрация:
    24 авг 2009
    Сообщения:
    24
    Симпатии:
    0
    Баллы:
    1
    Ну в принципе этого достаточно, подскажите как установить такой отбор
  4. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Код:
    Процедура ВидРасчетаНачалоВыбора(Элемент, СтандартнаяОбработка)
    
    СтандартнаяОбработка=Ложь;
    
    //Предложим для выбора список расчетов, имеющих способ расчета, соответствующий указанной форме оплаты
    ФормаВыбораВидаРасчета = ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ПолучитьФормуВыбора("ФормаВыбора", Элемент, "дляДокументаНачислениеОтпускаОрганизаций");
    
    ФормаВыбораВидаРасчета.НачальноеЗначениеВыбора = Элемент.Значение;
    
    МассивВидов = Новый СписокЗначений;
    Если ПричинаНетрудоспособности = Перечисления.ПричиныНетрудоспособности.ПоБеременностиИРодам Тогда
    МассивВидов.Добавить(Перечисления.ВидыПособийСоциальногоСтрахования.БеременностьРоды)
    ИначеЕсли ПричинаНетрудоспособности = Перечисления.ПричиныНетрудоспособности.ТравмаНаПроизводстве Тогда
    МассивВидов.Добавить(Перечисления.ВидыПособийСоциальногоСтрахования.НетрудоспособностьНесчастныйСлучай);
    МассивВидов.Добавить(Перечисления.ВидыПособийСоциальногоСтрахования.НетрудоспособностьПрофзаболевание);
    Иначе
    МассивВидов.Добавить(Перечисления.ВидыПособийСоциальногоСтрахования.Нетрудоспособность)
    КонецЕсли;
    
    ФормаВыбораВидаРасчета.Отбор.ВидПособияСоциальногоСтрахования.ВидСравнения = ВидСравнения.ВСписке;
    ФормаВыбораВидаРасчета.Отбор.ВидПособияСоциальногоСтрахования.Значение = МассивВидов;
    ФормаВыбораВидаРасчета.Отбор.ВидПособияСоциальногоСтрахования.Использование = Истина;
    
    ФормаВыбораВидаРасчета.Открыть();
    
    КонецПроцедуры // ВидРасчетаНачалоВыбора()
    
    Вот код который ограничивает выбор Выидов расчета из всего списка. Как сказал выше в процедуре ПриНачале выбора.
    Для Вас будет Вид сравнения "ВидСравнения.ВГруппе" и Значение для отбора Папочка Услуги (найдете по коду)
  5. TopicStarter Overlay
    sam441
    Offline

    sam441

    Регистрация:
    24 авг 2009
    Сообщения:
    24
    Симпатии:
    0
    Баллы:
    1
    спасибо за участие, буду разбираться
  6. tirk
    Offline

    tirk Опытный в 1С

    Регистрация:
    1 сен 2008
    Сообщения:
    1.142
    Симпатии:
    0
    Баллы:
    26
    если нет оповещения о выборе то вы не сможете поместить выбранный элемент в поле
  7. TopicStarter Overlay
    sam441
    Offline

    sam441

    Регистрация:
    24 авг 2009
    Сообщения:
    24
    Симпатии:
    0
    Баллы:
    1
    Сделал как сказал Draco выдает ошибку "Поле объекта не обнаружено (ВГруппе)"
    В чем причина ?
    Код:
    СтандартнаяОбработка = Ложь;
    ФормаВыбораТС = Справочники.Номенклатура.ПолучитьФормуВыбора();
    ФормаВыбораТС.СправочникСписок.Отбор.Код.ВидСравнения = ВидСравнения.ВГруппе;
    ФормаВыбораТС.СправочникСписок.Отбор.Код.Использование = Истина;
    ФормаВыбораТС.СправочникСписок.Отбор.Код.Значение = "00000000051";
    ФормаВыбораТС.Открыть();
    
    
    можно поподробней
  8. Dmitrij
    Offline

    Dmitrij Опытный в 1С

    Регистрация:
    6 май 2008
    Сообщения:
    844
    Симпатии:
    1
    Баллы:
    26
    такого сравнения нет в форме списка, можно сделать отбор по виду номенклатуры я так понимаю нужны только услуги и у элементов получается стоит вид номенклатуры услуги.

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