|
создание нового контрагента в событии КонтрагентСоздание | ☑ | ||
---|---|---|---|---|
0
lamme
19.06.23
✎
16:23
|
1С8 УФ
форма документа поле с типом Контрагент и наименованием Контрагент как можно в событие - вызываемое при создании нового по кнопке с + (см скрин) https://skr.sh/sKPMzPfgPLo добавить своих параметров т.е. чтобы при создании нового контрагента - определенные поля уже были указаны из той формы - откуда вызывается создание контрагента. Событие - Процедура КонтрагентСоздание(Элемент, СтандартнаяОбработка) подразумевает штатный механиз открытия карточки нового контрагента если тут менять на самописное - то потом в обратную стороны созданный контрагент не прилетает ( т.е. делаю Оповещение = Новый ОписаниеОповещения("ПослеСозданияНовогоКонтрагента", ЭтаФорма, ); Режим = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца; ОткрытьФорму("Справочник.Контрагенты.ФормаОбъекта", СтрПРМ,,,,, Оповещение, Режим); в этой экспортной процедура нет информации о созданном контрагенте &НаКлиенте Процедура ПослеСозданияНовогоКонтрагента(Результат, ДополнительныеПараметры) Экспорт Если Результат = Неопределено Тогда КонецЕсли; КонецПроцедуры |
|||
1
lamme
19.06.23
✎
16:26
|
те надо открыть окно нового контр с заполненными реквизитами
+ вернуть в документ обратно созданного контр (если он был созлдан) |
|||
2
lamme
19.06.23
✎
16:30
|
закрыли вопрос
|
|||
3
lamme
19.06.23
✎
16:33
|
кому интересно.
1. &НаКлиенте Процедура КонтрагентСоздание(Элемент, СтандартнаяОбработка) // Вставить содержимое обработчика. СтрПРМ = новый Структура(); СтрПРМ.Вставить("МойРеквизит", Объект.МоеЗначение); СтандартнаяОбработка = ложь; Оповещение = Новый ОписаниеОповещения("ПослеСозданияНовогоКонтрагента", ЭтаФорма, ); Режим = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца; ОткрытьФорму("Справочник.Контрагенты.ФормаОбъекта", СтрПРМ,,,,, Оповещение, Режим); КонецПроцедуры 2. ПриСозданииНаСервере формы объекта контрагента- обрабатываем входящие параметры и подставляем Если Параметры.Свойство("МойРеквизит") Тогда Объект.МойРеквизит= Параметры.МойРеквизит; конецесли; 3. ПриЗаписи карточки контрагента делема- Оповестить("Запись_Контрагент") 4. В документе - откуда шел вызов создания нового контр делаем - &НаКлиенте Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) Если ИмяСобытия = "Запись_Контрагент" Тогда Объект.Контрагент= Параметр; долго и нудно ( |
|||
4
lodger
19.06.23
✎
17:36
|
(3) в уф это ещё не долго.
действительно нудно это в вебморде файлы или криптоподписи юзать без БСП. а в твоём случае, почему ДанныеЗаполнения не использовал? тогда оно триггерит ОбработкуЗаполнения в модуле объекта. и ЗаписьКонтрагента не может происходит в ином сценарии? типа открыто 5 документов разных, и полез делать нового контрагента. а во всех документах шлёп - и готово. везде твой новый контрагент. лучше как то оповестить ту форму, откуда был вызвано создание нового. например ОписаниеОповещенияОЗакрытии в ОткрытьФорму |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |