Имя: Пароль:
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) возникла проблема при изменении элемента на форме документа остается старое значени, не измененное. Как обновить данные на форме?
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn