Имя: Пароль:
1C
1С v8
НачалоВыбора
,
0 Adecvator
 
05.08.13
14:55
Необходимо получить выбранный элемент справочника. На стороне док. у меня все получилось:

Процедура НомерПрицепаНачалоВыбора(Элемент, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;
    
    ФормаВыбора = Справочники.АвтомобилиПрицепы.ПолучитьФормуВыбора("ФормаСписка");
    ФормаВыбора.ЭтаФорма.Отбор.АвтомобильПрицеп.Использование = Истина;
    ФормаВыбора.ЭтаФорма.Отбор.АвтомобильПрицеп.ВидСравнения = ВидСравнения.Равно;
    ФормаВыбора.ЭтаФорма.Отбор.АвтомобильПрицеп.Значение = Перечисления.АвтомобильПрицеп.Прицеп;
    
    ФормаВыбора.Открыть();

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

а вот как получить выбранное значение спр. не наю :(
1 chelentano
 
05.08.13
14:56
(0) используй событие "ОбработкаВыбора"
2 Maxus43
 
05.08.13
14:56
ПолучитьФормуВыбора("ФормаСписка");
....

ПолучитьФормуВыбора();

ФормаВыбора.Открыть(, Элемент);
3 chelentano
 
05.08.13
14:57
ФормаВыбора = Справочники.АвтомобилиПрицепы.ПолучитьФормуВыбора("ФормаСписка", <КакойТоЭлементФормы>);

На <КакойТоЭлементФормы> вешаешь событие ОбработкаВыбора, где и получаешь выбранное значение
4 Maxus43
 
05.08.13
14:58
(2)+ поторопился...
ФормаВыбора = ПолучитьФормуВыбора(, Элемент);
ФормаВыбора.Открыть();
5 Adecvator
 
05.08.13
16:20
(3) и (4) огромное спасибо :)
6 Adecvator
 
06.08.13
16:28
Пытаюсь получить элемент из метода - ПолучитьФормуНовогоЭлемента, ничего не выходит.

Водители = Справочники.Водители;
Форма = Водители.ПолучитьФормуНовогоЭлемента("ФормаЭлемента",Элемент);
            Форма.Открыть();

Может в спр. что прописать надо?
7 Ёпрст
 
06.08.13
16:32
(6) хоть бы СП открыл что ле..
8 Ёпрст
 
06.08.13
16:32
второй параметр метода.. для владельца
9 Adecvator
 
06.08.13
16:34
(6) что такое СП
(8) ну так правильно, я и хочу что бы он загнал значение в Элемент
10 Ёпрст
 
06.08.13
16:35
(9) СП - это мужик в кепке в пофигураторе..
11 Ёпрст
 
06.08.13
16:36
Значение чего ?
:)
12 Adecvator
 
06.08.13
16:37
(11) Ссылку на спр. Водители
13 Ёпрст
 
06.08.13
16:38
(12) если элемент не записали - её еще нет, ссылки то..
а так, у формы смотри текущийЭлемент чему равен
14 Adecvator
 
06.08.13
16:38
Полный текст процедуры:
Процедура ВодительОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;
    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    Водители.Ссылка
        |ИЗ
        |    Справочник.Водители КАК Водители
        |ГДЕ
        |    Водители.Наименование ПОДОБНО &Водитель";

    Запрос.УстановитьПараметр("Водитель", "%" + ВРег(Текст) + "%");

    Результат = Запрос.Выполнить();

    Если Не Результат.Пустой() Тогда
        СтандартнаяОбработка = Истина;        
    Иначе
        
        Режим = РежимДиалогаВопрос.ДаНет;
        ТекстВопроса = "ru = ""Добавить в базу нового водителя?"";"
                     + " en = ""Do you want to add new driver?""";
        Ответ = Вопрос(НСтр(ТекстВопроса), Режим, 0);
        Если Ответ = КодВозвратаДиалога.Да Тогда
            
            Водители = Справочники.Водители;
            Форма = Водители.ПолучитьФормуНовогоЭлемента("ФормаЭлемента",Элемент);
            Форма.Открыть();
                                                   
        КонецЕсли;                 
    КонецЕсли;

КонецПроцедуры
15 Adecvator
 
06.08.13
16:40
(13) тогда какой смыслы передавать элемент владельца в методе - ПолучитьФормуНовогоЭлемента(,ЭлВладелец), если он и так его не получит?
16 Adecvator
 
06.08.13
16:42
(13) Сообщить(Форма.ТекущийЭлемент); равно ПолеВвода
17 zbv
 
06.08.13
16:42
(14) После этого вопроса:

"ТекстВопроса = "ru = ""Добавить в базу нового водителя?"";"
                     + " en = ""Do you want to add new driver?""";
Ответ = Вопрос(НСтр(ТекстВопроса), Режим, 0);"

пользователь _имеет право_ отказаться от создания водителя ?
18 Adecvator
 
06.08.13
16:43
(17) да, а что там не правильного?
19 Adecvator
 
06.08.13
16:44
(17) в смысле записывать сначала элемент и открывать уже записанный?
20 zbv
 
06.08.13
16:45
(19) ага.
21 Adecvator
 
06.08.13
16:46
(20) уже ваяю :)
22 zbv
 
06.08.13
16:51
(21) можно еще поиграться с ОткрытьМодально().
23 Ёпрст
 
06.08.13
16:52
(15) там владелец формы передается, а не элемента справочника
24 Ёпрст
 
06.08.13
16:52
проще оповестить о записи форму-владельца..
25 Adecvator
 
07.08.13
13:36
(20) возникла проблема при изменении элемента на форме документа остается старое значени, не измененное. Как обновить данные на форме?
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.