Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
25 ноя 2024, 13:03

Работа с формами справочника

Автор gaur7, 10 июл 2017, 21:48

0 Пользователей и 1 гость просматривают эту тему.

gaur7

Помогите. У справочника есть форма элемента и форма произвольная
На произвольной форме есть список значений с реквизитами name и guid
На форме элемента по нажатию кнопки (заполнить) переходит к этому списку значений, но выбрав нужное значение - на форме элемента строки (name) и (guid) не заполняются.
Подскажите, где и что необходимо исправить/добавить

Код формы элемента:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   
    Если Не ЗначениеЗаполнено(Объект.Ссылка) Тогда
        Объект.Код = Параметры.Код;
        Объект.Наименование = Параметры.Наименование;
        Объект.НаименованиеПолное = Параметры.НаименованиеПолное;
        Объект.МеждународноеСокращение = Параметры.МеждународноеСокращение;
    КонецЕсли;         
   
КонецПроцедуры

&НаКлиенте
Процедура ЗаполнитьПоДаннымВЕТИС(Команда)
   
    Оповещение = Новый ОписаниеОповещения("ЗаполнитьПоДанным", ЭтаФорма);
    ОткрытьФорму("Справочник.КлассификаторЕдиницИзмерения.Форма.ФормаПодбораИзКлассификатораВЕТИС",,ЭтаФорма,,,,Оповещение);
       
КонецПроцедуры


&НаКлиенте
Процедура ЗаполнитьПоДанным(Результат, Параметры)  Экспорт

КонецПроцедуры


Код произвольной формы:

Перем Прокси;

&НаКлиенте
Процедура Заполнить(Команда)
   
    ЗаполнитьНаСервере();
   
КонецПроцедуры

Процедура ЗаполнитьНаСервере()
   
    Прокси = ОбменВЕТИС.ПолучитьПроксиDictionary();
   
    ListOptions = ОбменВЕТИС.ПолучитьListOptionsИзПрокси(Прокси);
    ListOptions.count = 4;
    Смещение = 0;
    //СписокЕдиницИзмерения.Очистить();

    Пока Истина Цикл
        ListOptions.offset = Смещение;   
        СписокВетис = Прокси.GetUnitList(ListOptions);
        Если ТипЗнч(СписокВетис) <> Тип("ОбъектXDTO") Тогда Прервать; КонецЕсли;
        Если СписокВетис.count = 0 Тогда Прервать; КонецЕсли;
        Для Каждого стр из СписокВетис.unit Цикл
            стр1 = СписокЕдиницИзмерения.Добавить();
            ЗаполнитьЗначенияСвойств(стр1, стр);
            стр1.ЕдиницаИзмерения = ОбменВЕТИС.ПолучитьОбъект1сПоGUID(стр1.GUID);
        КонецЦикла;
        Если СписокВетис.count + Смещение >= СписокВетис.total Тогда Прервать; КонецЕсли;
        Смещение = Смещение + ListOptions.Count;
    КонецЦикла;
   
КонецПроцедуры   

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
   
    //ЭтаФорма.Заголовок = ЭтотОбъект.Метаданные().Представление();

    //Прокси = ОбменВЕТИС.ПолучитьПроксиDictionary();

   
КонецПроцедуры

&НаКлиенте
Процедура СписокЕдиницИзмеренияВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
   
    ОповеститьОВыборе(ВыбраннаяСтрока);
    СтандартнаяОбработка = Ложь;
   
КонецПроцедуры

Golickoff

А посмотреть ответы в предыдущей теме не вариант?
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

gaur7

Golickoff, ну мне оно не помогло
Значения всё равно не заполняются
наверно при закрытии выбора - надо Оповестить
т.е в форме элемента необходима обработка оповещения
Добавлено: 12 июл 2017, 09:32


Golickoff, в форме элемента создаю обработку

&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
   
КонецПроцедуры

ток не понимаю, как её заполнять
Добавлено: 12 июл 2017, 09:55


Golickoff, ну подскажите. как-то совсем не могу понять

alex0402

ЦитироватьГлобальный контекст (Global context)
ОткрытьФорму (OpenForm)
Вариант синтаксиса: По названию

Синтаксис:

ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>, <НавигационнаяСсылка>, <ОписаниеОповещенияОЗакрытии>, <РежимОткрытияОкна>)

ОписаниеОповещенияОЗакрытии = Новый ОписаниеОповещения("ИмяПроцедуры", ЭтаФорма);

Процедура ИмяПроцедуры(Значение,Параметры) Экспорт
//Значение - это выбранное значение.
КонецПроцедуры
Спасибо за Сказать спасибо

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск