Имя: Пароль:
1C
1С v8
Передать данные об отборе в создаваемый элемент
0 voshka
 
02.02.12
22:40
В форму выбора элементов справочника устанавливается отбор. Хочу создать новый элемент чтобы данные которые в отборе в него устанавливались по умолчанию.
1 DrShad
 
02.02.12
22:41
какой еще элемент? какое приложение?
2 Mort
 
02.02.12
22:43
УФ?
3 voshka
 
02.02.12
22:45
Не УФ.
4 DrShad
 
02.02.12
22:51
ну так создавай, я не против
5 voshka
 
02.02.12
22:57
(4) юмор оценен.
6 DrShad
 
02.02.12
23:01
(5) а у тебя был вопрос?
7 voshka
 
02.02.12
23:05
(6) Да. Как при создании элемента справочника получить данные об отборе установленном на форме выбора, на которой нажали кнопочку "создать новый элемент"
8 DrShad
 
02.02.12
23:06
(7) ссылку на пост где был такой вопрос?
9 voshka
 
02.02.12
23:07
10 DrShad
 
02.02.12
23:08
там был только стеб типа хочу создать
11 voshka
 
02.02.12
23:11
Что мне теперь новую тему создавать???
12 DrShad
 
02.02.12
23:12
ну и что у тебя не выходит? и почему решил что должно получиться?
13 voshka
 
02.02.12
23:35
DrShad спасибо тебе. Ведь правильно поставленный вопрос в (7) удалось найти ответ v8: Создается элемент справочника.Можно ли получить данные отбора формы списка?
14 vs7719
 
02.02.12
23:38
Функция СписокПередНачаломДобавления(...)
Результат = Истина;
Отказ = Истина; //откажемся от стандартного и сделаем свое

       Если ЭтоГруппа Тогда
           НовыйЭлемент = Справочники[ОбъектМетаданных.Имя].СоздатьГруппу();
       Иначе
           НовыйЭлемент = Справочники[ОбъектМетаданных.Имя].СоздатьЭлемент();
       КонецЕсли;
       Если ОбъектМетаданных.Иерархический Тогда
           Если ОбъектМетаданных.ВидИерархии=Метаданные.СвойстваОбъектов.ВидИерархии.ИерархияЭлементов Тогда
               НовыйЭлемент.Родитель = ЭтаФорма.ТекущийЭлемент.ТекущаяСтрока;    
           Иначе
               НовыйЭлемент.Родитель = ЭтаФорма.ТекущийЭлемент.ТекущийРодитель;
           КонецЕсли;
       КонецЕсли;
       ИспользованиеРеквизита = Метаданные.СвойстваОбъектов.ИспользованиеРеквизита;
       
       //если отбор установлен, будем заполнять реквизиты
       Для Каждого ЭлементОтбора Из СписокСправочника.Отбор Цикл
           Если (Не обЗначениеНеЗаполнено(ЭлементОтбора.Значение)) И (ЭлементОтбора.Использование) Тогда
               ИмяРеквизита = ЭлементОтбора.Имя;
               Если Найти("Код|Наименование|Владелец",ИмяРеквизита) > 0 Тогда
                   НовыйЭлемент[ИмяРеквизита] = ЭлементОтбора.Значение;
                   НовыйЭлемент.ОбработкаРеквизита(ИмяРеквизита);  
               Иначе
                   Реквизит = ОбъектМетаданных.Реквизиты.Найти(ИмяРеквизита);
               КонецЕсли;
               Если Реквизит = Неопределено Тогда
                   Продолжить;
               КонецЕсли;
               Если ((Реквизит.Использование = ИспользованиеРеквизита.ДляЭлемента)
                   ИЛИ (Реквизит.Использование = ИспользованиеРеквизита.ДляГруппыИЭлемента)) И (НЕ ЭтоГруппа) Тогда
                   НовыйЭлемент[ИмяРеквизита] = ЭлементОтбора.Значение;
                   НовыйЭлемент.ОбработкаРеквизита(ИмяРеквизита);  
               ИначеЕсли ((Реквизит.Использование = ИспользованиеРеквизита.ДляГруппы)
                   ИЛИ (Реквизит.Использование = ИспользованиеРеквизита.ДляГруппыИЭлемента)) И (ЭтоГруппа) Тогда
                   НовыйЭлемент[ИмяРеквизита] = ЭлементОтбора.Значение;
                   НовыйЭлемент.ОбработкаРеквизита(ИмяРеквизита);  
               КонецЕсли;
           КонецЕсли;
       КонецЦикла;

....
НовыйЭлемент.ПолучитьФорму(ИмяФормы,Элемент,КлючУникальности).Открыть();

Возврат Результат;
   
КонецФункции // СписокПередНачаломДобавления()