Имя: Пароль:
1C
 
Как заменить обработчик Создание?
,
0 toypaul
 
гуру
28.10.19
16:23
Нужно вместо стандартной формы открыть другую и чтобы после записи в новой форме элемент созданный при этом попал в поле из которого была вызвана форма.
Ни разу такого не делал. Допустим с подменой выбора все понятно. А тут как?
1 Мимохожий Однако
 
28.10.19
16:24
(0) Используй расширение
2 dezss
 
28.10.19
16:28
Как вариант делать через ВладелецФормы.
Не пойму, в чем именно сложность?
3 toypaul
 
гуру
28.10.19
16:29
мне не нужно расширение. и для этой задачи оно вообще никаким боком
4 toypaul
 
гуру
28.10.19
16:30
(2) сложность в отсутствии рабочего примера. самый непонятный момент - как передать созданный элемент в то поле откуда была вызвана моя новая форма
5 Мимохожий Однако
 
28.10.19
16:33
(4) Это уже вторая задача. Как догадаться откуда ты вызываешь нестандартную форму. Должен быть, обработчик события на форме ПриИзменении или ОкончанииРедактирования..
6 toypaul
 
гуру
28.10.19
16:34
какое такое "ПриИзменении или ОкончанииРедактирования" если речь про обработчик Создание. не закончилось еще редактирование
7 Kondarat
 
28.10.19
16:36
Оповестить() не?
8 toypaul
 
гуру
28.10.19
16:39
(7) хотелось бы рабочий пример. угадайкой я уже пару часов занимаюсь.
9 Kondarat
 
28.10.19
16:39
Покажи как открываешь форму нового элемента.
10 Ёпрст
 
28.10.19
16:42
(0) так это ж штатное поведение платформы, зачем что-то кодить ? Если уф , то там либо выбрать, либо создать.. а если показать список, то после содания чего либо его и выбрать
11 toypaul
 
гуру
28.10.19
16:43
(9)
Процедура ПервичнаяПотребностьПредметЗакупкиСоздание(Элемент, СтандартнаяОбработка)
    
    Если УП_ОбщегоНазначенияПовтИсп.РедактированиеКаталогаЧерезЗаявки() Тогда
    
        СтандартнаяОбработка = Ложь;
        ОткрытьФорму("Справочник.УП_КаталогПредметовЗакупкиЗаявка.ФормаОбъекта",,Элемент);
    
    КонецЕсли;
    
КонецПроцедуры
12 Мимохожий Однако
 
28.10.19
16:44
(11) Откуда вызываешь эту процедуру?
13 toypaul
 
гуру
28.10.19
16:45
(10) мать моя женщина... ОБРАБОТЧИК СОЗДАНИЕ !!! какое такое список
14 toypaul
 
гуру
28.10.19
16:46
народ. вы че тут все делаете если даже не знаете что такое обработчик Создание и откуда он вызывается?
15 Мимохожий Однако
 
28.10.19
16:46
(14) Ответь на (12)
16 toypaul
 
гуру
28.10.19
16:47
(15) я ни откуда не вызываю. иди мимо :)
17 toypaul
 
гуру
28.10.19
16:48
для образования необразованных

http://prntscr.com/pp6fkn
http://prntscr.com/pp6g6z
18 Kondarat
 
28.10.19
16:48
(14) Да знаем, не шуми. Ты ж указал владельцем формы Элемент. После записи нового он не присваивается как значение владельцу?
19 unenu
 
28.10.19
16:49
(11) наводки

ОбработкаПолученияФормы()
КопироватьДанныеФормы()
ЗначениеВДанныеФормы()
ЗначениеВРеквизитФормы()

читаем СП, пишем код
20 toypaul
 
гуру
28.10.19
16:49
итак. вот открыл я свою форму. передал в нее Элемент

ОткрытьФорму("Справочник.УП_КаталогПредметовЗакупкиЗаявка.ФормаОбъекта",,Элемент);

, в который должен попасть созданный в этой форме элемент

как мне теперь передать-то его? если подменяем Выбор, то делаем ОповеститьОВыборе. а тут как?
21 toypaul
 
гуру
28.10.19
16:51
(18) стандартный механизм насколько я понял присваивает не после записи, а после закрытия.

тут фишка еще в чем - у меня открывается форма совсем другого справочника. но в этом справочнике есть ссылка на нужный элемент. вот его мне и нужно передать. вопрос - как?
22 toypaul
 
гуру
28.10.19
16:51
(19) выйди. ты не понял
23 unenu
 
28.10.19
16:51
(21) ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>, <НавигационнаяСсылка>, <ОписаниеОповещенияОЗакрытии>, <РежимОткрытияОкна>)

ОписаниеОповещенияОЗакрытии - читаем СП, прекращем истерики
24 unenu
 
28.10.19
16:53
(22) ошибаешься, я тебя вижу насквозь - тобой овладел лукавый.
покайся.
25 Мимохожий Однако
 
28.10.19
16:54
(16) Хамишь, парниша... Ты вызываешь свою процедуру из формы списка справочника. Вот оттуда и пляши.
26 toypaul
 
гуру
28.10.19
17:02
вот так сработало

Процедура ПослеЗаписи(ПараметрыЗаписи)
    
    Если ЭтоНовый Тогда
    
        Если ЗначениеЗаполнено(Объект.СвязанныйЭлемент) Тогда
            ОповеститьОВыборе(Объект.СвязанныйЭлемент);
        КонецЕсли;
    
    КонецЕсли;
    
КонецПроцедуры
27 Андроны едут
 
28.10.19
17:04
(0)  я в таких случаях  реквизиту назначаю  специальную Форму выбора. И не парюсь с программированием.