8.х [Удалить]УФ некоторые вопросы

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем ЕкатеринаНик, 21 май 2016.

  1. TopicStarter Overlay
    ЕкатеринаНик
    Offline

    ЕкатеринаНик Опытный в 1С

    Регистрация:
    8 ноя 2010
    Сообщения:
    698
    Симпатии:
    1
    Баллы:
    29
    Здравствуйте!
    Опять у меня проблема с Владельцем формы, но теперь уже с УФ.
    Помогите пожалуйста.
    Документ - ВводЗаданий, ТЧ - Задания, Реквизит ТЧ - Контракт - Справочник.НоменклатурныеГруппы.
    Код:
    &НаКлиенте
    Процедура ЗаданияКонтрактНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
        СтандартнаяОбработка = Ложь;
        Список = ЗаданияКонтрактНачалоВыбораНаСервере();
        Отбор = Новый Структура;
        Отбор.Вставить("Ссылка", Список);
        ПараметрыФормы = Новый Структура;
        ПараметрыФормы.Вставить("Отбор", Отбор);
        ПараметрыФормы.Вставить("Отображение", ОтображениеТаблицы.Список);
        //ПараметрыФормы.Вставить("Ключ", Элемент.Родитель.Родитель.ТекущийЭлемент); //Элементы.Задания.ТекущиеДанные.Контракт
        //ПараметрыФормы.Вставить("Владелец", Элемент.Родитель.Родитель.ТекущийЭлемент);
       
        ОткрытьФорму("Справочник.НоменклатурныеГруппы.ФормаВыбора", ПараметрыФормы,Элементы.Задания.ТекущиеДанные.Контракт);
    КонецПроцедуры
    
    &НаСервере
    Функция ЗаданияКонтрактНачалоВыбораНаСервере()
        Запрос = Новый Запрос;
        Запрос.Текст =
        "ВЫБРАТЬ
        |    КонтрактыФилиаловСрезПоследних.Контракт
        |ИЗ
        |    РегистрСведений.КонтрактыФилиалов.СрезПоследних(&Дата, ) КАК КонтрактыФилиаловСрезПоследних
        |ГДЕ
        |    КонтрактыФилиаловСрезПоследних.Филиал = &Организация";
       
        Запрос.УстановитьПараметр("Дата", Объект.Дата);
        Запрос.УстановитьПараметр("Организация", Объект.Организация);
       
        РезультатЗапроса = Запрос.Выполнить();
        Список = Новый СписокЗначений;
        Список.ЗагрузитьЗначения(РезультатЗапроса.Выгрузить().ВыгрузитьКолонку("Контракт"));
        Возврат Список;
    КонецФункции
    
    &НаКлиенте
    //
    Процедура ЗаданияКонтрактНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)
        СтандартнаяОбработка = Ложь;
        Список = ЗаданияКонтрактНачалоВыбораНаСервере();
    КонецПроцедуры
    
    &НаСервере
    Процедура ЗаданияКонтрактОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
        // Вставить содержимое обработчика.
        а=0;
    КонецПроцедуры
    
    Не получается - выбрать значение из справочника в документ.
    Не срабатывает ПараметрыФормы.Вставить("Отображение", ОтображениеТаблицы.Список), надо из спр отобразить только значения из списка, а открывается иерархический список.
    Спасибо!
  2. TopicStarter Overlay
    ЕкатеринаНик
    Offline

    ЕкатеринаНик Опытный в 1С

    Регистрация:
    8 ноя 2010
    Сообщения:
    698
    Симпатии:
    1
    Баллы:
    29
    Изменила
    &НаКлиенте
    Процедура ЗаданияКонтрактОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    Элементы.Задания.ТекущиеДанные.Контракт = ВыбранноеЗначение;
    КонецПроцедуры

    Стало попадать в Обработку выбора, но в документе значения нет.
  3. TopicStarter Overlay
    ЕкатеринаНик
    Offline

    ЕкатеринаНик Опытный в 1С

    Регистрация:
    8 ноя 2010
    Сообщения:
    698
    Симпатии:
    1
    Баллы:
    29
    &НаКлиенте
    Процедура ЗаданияКонтрактОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    //Элементы.Задания.ТекущиеДанные.Контракт = ВыбранноеЗначение;
    Если ТипЗнч(ВыбранноеЗначение) = Тип("СправочникСсылка.НоменклатурныеГруппы") Тогда
    СтандартнаяОбработка = Ложь;
    Если Объект.Задания.НайтиСтроки(Новый Структура("Контракт", ВыбранноеЗначение)).Количество() = 0 Тогда
    СтрокаЗадание = Объект.Задания.Добавить();
    СтрокаЗадание.Контракт = ВыбранноеЗначение;
    КонецЕсли;
    КонецЕсли;
    КонецПроцедуры

    Вот так обрабатывает выбор) но показывает выбранное значение после перехода в другую ячейку. Может у меня чтото не включено?
    Как отображать справочник списком? - у меня для пользователя доступно 2 значения из спр.
    Как бы вообще сделать подбор по раскрывающемуся списку?
  4. TopicStarter Overlay
    ЕкатеринаНик
    Offline

    ЕкатеринаНик Опытный в 1С

    Регистрация:
    8 ноя 2010
    Сообщения:
    698
    Симпатии:
    1
    Баллы:
    29
    "Как отображать справочник списком? - у меня для пользователя доступно 2 значения из спр."
    Так и не получилось.Пробовала еще
    ПараметрыФормы.Вставить("ВыборГруппИЭлементов", ГруппыИЭлементы.Элементы);
    // ПараметрыФормы.Вставить("ВыборГруппИЭлементов", ИспользованиеГруппИЭлементов.Элементы);
    ПараметрыФормы.Вставить("Отображение", ОтображениеТаблицы.Список);
    --- Объединение сообщений, 22 май 2016 ---
    У меня ЗУП 2.5, открываемый спр из обычного приложения. Может в этом причина?
  5. TopicStarter Overlay
    ЕкатеринаНик
    Offline

    ЕкатеринаНик Опытный в 1С

    Регистрация:
    8 ноя 2010
    Сообщения:
    698
    Симпатии:
    1
    Баллы:
    29
    С этим разобралась. ОбработкаВыбора для УФ не надо.
    Для спр сделала ФормуВыбора УФ.
    Есть другой вопрос, как сделать ввод двух значений пользователю ?
    Вот чтото типа этого
    Массив = Новый Массив;
    Массив.Добавить(Тип("СправочникСсылка.НоменклатурныеГруппы"));
    ОписаниеТипов = Новый ОписаниеТипов(Массив, );
    Если ВвестиЗначение(ВыбЗнач, "Введите значение контракта", ОписаниеТипов) Тогда
    // // обработка введенного значения
    Сообщить("Введенное значение: "+ВыбЗнач);
    КонецЕсли;
    но двух значений, т.е. еще один справочник к примеру.
    и, можно ли на открытый СправочникСсылка.НоменклатурныеГруппы наложить мои условия, мне надо всего два значения из спр.

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