Имя: Пароль:
1C
1С v8
Тонкий клиент: создание элемента справочника из формы списка
0 Stolz
 
10.10.13
21:12
Доброго времени суток всем!

Общеизвестно, что при создании элемента справочника из формы списка можно передать в создаваемый элемент значения, входящие в установленный для списка отбор. А вот есть ли способ передать из формы списка в создаваемый элемент какое-либо другое значение, в отбор не входящее? Кто что может посоветовать?
1 Stolz
 
11.10.13
06:41
В ответ тишина...(c)

Задача действительно невыполнима?
2 Cube
 
11.10.13
06:45
(0) Давай код как делаешь и где не получатся, получишь ответ, как надо делать.

А бросаться общими фразами и мы можем: позови специалиста (с).
3 kosts
 
11.10.13
06:48
(0) В обычной форме - создаешь элемент, в параметрах передаешь любые параметры, открываешь форму созданного элемента. В УФ не так?
4 Cube
 
11.10.13
06:49
(3) "В УФ не так?"
Неа, не так :) Если последовательность действий обратить, то получится примерно, как в УФ :)
5 Лодырь
 
11.10.13
07:33
Спасем топикстартера в честь пятницы:

В форме списка:
&НаКлиенте
Процедура ПлюсОдин(Команда)
    П = Новый Структура("ЛюбимоеПиво","Paulaner");
    ОткрытьФорму("Справочник.АлкоголикиИТунеядцы.Форма.ФормаЭлемента",П);    
КонецПроцедуры

В форме элемента:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Параметры.Свойство("ЛюбимоеПиво",Объект.ЛюбимыйНапиток);
КонецПроцедуры
6 Stolz
 
11.10.13
08:43
(2)
Там, вроде бы написано конкретнее некуда: при создании элемента справочника из формы списка. Какой тут ещё требуется код?

(5) Спасибо, но это не то, что нужно. Хотелось бы как-то перехватить действие, выполняемое по нажатию стандартной кнопки Создать в форме списка справочника, и при этом передать в создаваемый элемент некий параметр. А применение метода ОткрытьФорму - уже второй этап, про него и вопросов не было.
7 Лодырь
 
11.10.13
08:45
(6)
&НаКлиенте
Процедура СписокПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа)
    
    Отказ = Истина;
    П = Новый СТруктура("ЛюбимыйЦвет","Красенький");
    ОткрытЬФорму("Справочник.Подразделения.Форма.ФормаЭлемента",П);
    
КонецПроцедуры
8 Cube
 
11.10.13
11:19
(6) А, так ты ещё и ничего не написал даже... Тю... Но без писанины тут не выкрутишься...
9 Stolz
 
11.10.13
20:00
(8) Так речь-то шла о перехвате события, а это - всегда, выражаясь твоим языком, «писанина». Аль тебе известны способы переопределять события без неё? И разумеется, на момент задания вопроса я ничего не написал, поскольку не было известно, в каком обработчике это делать. Я как-то не поклонник бонапартовской системы «вот ввяжемся в бой, а там посмотрим».

(6) Спасибо, Лодырь, именно этот обработчик и требовался. Единственное маленькое замечание: там нет параметра Отказ, по крайней мере, в 8.3. Но и без него всё прекрасно работает.
10 Лодырь
 
12.10.13
10:30
(9) Пример был под 8.2. Скопированный код из реальной конфы.
11 Stolz
 
25.10.13
07:03
Пардон, в (9) оговорился: имеется в виду, что не нужно устанавливать параметр Отказ в значение Истина. Сам-то параметр, конечно же, там есть.
12 kosts
 
25.10.13
08:12
(11) >не нужно устанавливать параметр Отказ в значение Истина
Это почему?
13 kochurovg
 
25.10.13
08:21
Попробуй так :

...
Фм = ПолучитьФорму("Справочник.Подразделения.Форма.ФормаЭлемента",П);
Фм.Объект.Наименование = МоеНаименование;
Фм.Объект.ИмяРеквизита = МойРеквизит;
...
Фм.Открыть();
14 Stolz
 
26.10.13
14:26
(13) Спасибо за участие, kochurovg, но, как я уже сообщил в (9), проблема уже решена, и всё работает, как надо.

(12) В данном случае «не нужно» не означает «нельзя», оно означает «нет надобности». У меня нужный эффект достигается без этой строчки. Возможно, на других версиях платформы это не так, не пробовал.