Имя: Пароль:
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) В данном случае «не нужно» не означает «нельзя», оно означает «нет надобности». У меня нужный эффект достигается без этой строчки. Возможно, на других версиях платформы это не так, не пробовал.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн