v:8УППкак из обработки получить доступ к форме создаваемого элемента справочника #544622


#0 by Baloven
на своей форме внешней обработки создаю по кнопке новый элемент (справочник ДоговораКонтрагентов) мне нужно некоторые элементы формы заполнить значениями по умолчанию, чтобы уменьшить ручной ввод, но не получается :(
#1 by Wobland
Элементы формы или реквизиты элемента?
#2 by Wobland
НовыйДоговор.Реквизит=ЗначениеРеквизита; на форме оно само отобразится
#3 by Baloven
... наверно неправильно задал вопрос :( поясню: есть обработка в которой у меня по моему усмотрению производится работа с контрагентами у меня на одной форме и договора (скопировал код из контрагентов) и условия договоров, проблема в том, что при нажатии на кнопку Добавить запускается код (добавлен в обработку копированием из: Процедура ДоговорыПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, ЭтоГруппа) и далее сразу открывается форма нового элемента ДоговорыКонтрагентов вносить изменения в код стандартного справочника нет желания из соображений дальнейшего обновления БД, но как отловить событие открытия этой формы пока понять не могу, собственно я так понимаю мне нужно отловить окончание открытия формы и произвести заполнение данными и после этого уже отдать пользователю возможность дальше вносить данные руками и в том числе самому и записывать (нажимать кнопку ОК или Закрыть)
#4 by Wobland
создай новый элемент, наполни его своими данными, запиши, получи у него форму и отдай пользователю
#5 by Baloven
опять не то, или я совсем не правильно объясняю: еще раз на моей форме есть копия элементов блока договоров и панели договоров из справочника Контрагенты по нажатии на кнопку "Добавить" этой панели уже происходить стандартная процедура создания элемента справочника ДоговорыКонтрагентов никакая процедура при этом не отрабатывается.... это по сути панель справочника ДоговорыКонтрагентов... я понимаю что если нет варианта отловить открытия формы, то тогда и прийдется переписать панель и кнопки и на них повешать в том числе и создание и заполнение элементов, весь вопрос можно ли в данной ситуации что-то сделать?
#6 by Wobland
а, может, я не проснулся ещё... предложу вот такой вариант. заменить кнопку добавления договора на свою. Если делать проверку на ЭтоНовый в ПриОткрытии формы договора и заполнять, то заполняться будет и во всех прочих случаях и обработках. Если этого не нужно, тогда рисуй свою кнопку.
#7 by catena
Так все-таки - реквизиты формы или реквизиты объекта? Открывается форма твоя или форма элемента?
#8 by Wobland
реквизиты объекта. необходимо присвоить до открытия формы. а какая форма вроде неважно
#9 by Baloven
это все понятно, только у меня в обработке: 1. открывается карточка контрагента уже заведомо созданного.... 2. обращение и проверка на этоНовый эже делается как раз в Отказ = НЕ РаботаСДиалогами.ЗаписатьНовыйОбъектВФорме(Контрагент.ПолучитьФорму("ФормаЭлемента")); - и она мне вообще-то в моем случае даже и не нужна оставил только для того чтобы по коду они были схожи в оригинале вызов происходит по Отказ = НЕ РаботаСДиалогами.ЗаписатьНовыйОбъектВФорме(ЭтаФорма); разумеется в вызываемой процедуре происходит поиск по ссылке и в результате она давала ошибку - посему внес исправления.... открывается все родное
#10 by Baloven
да это стандартная форма хорошо может будет понятнее так: нажмите в справочнике кнопку "Добавить" что произойдет????? откроется Родная форма нового элемента (в моем случае ДоговорыКонтрагентов) вот эту Форму я и хочу заполнить "данными по умолчанию"
#11 by Wobland
>вот эту Форму я и хочу заполнить "данными по умолчанию" вот такое объяснение мне больше по душе ;) в всё написал
#12 by Baloven
т.е. я так понимаю что другого варианта нет кроме как переписывать все панели???? которые я накопировал???? прочто их у меня сейчас уже 4 и еще 3-4 нужно будет добавить и все кнопки переписывать своими событиями? я правильно понял?
#13 by Wobland
а что их переписывать? одну кнопку добавить... прочих вариантов что-то не вижу...
#14 by Baloven
хотя согласен, остальные кнопки вроде резона изменять их предназначения нет - спасибо, буду писать процедуры создания элементов :)
#15 by Baloven
... и все же... изучение вопроса продолжаю, надеюсь в правильном направлении.... в общем вот такое дело.... после нажатиии на стандартную кнопку панели справочника "Добавить" отрабатывается процедура ДоговорыПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, ЭтоГруппа) так вот, в Родитель'е сидит ссылка на новый элемент RO, я ее попробовал открыть на запись вот так: Однако в открытой форме номер на форме не изменился... и другое предположение.... при отработке кода: (полный текст процедуры выше) новому элементу присваевается владелец = Контрагент, и тут предположение что значит и прочие реквизиты все же как-то можно передать вот код РаботаСДиалогами.ЗаписатьНовыйОбъектВФорме пытаюсь всеже докопаться до истины дальше - за предложения буду благодарен
#16 by Baloven
нет все же я был не прав :( прошу прощения, при комментировании строки Отказ = НЕ РаботаСДиалогами.ЗаписатьНовыйОбъектВФорме(Контрагент.ПолучитьФорму("ФормаЭлемента")); все равно в новом элементе проставляется контрагент, а его значение берется из Элемент.Значение.Отбор.Владелец.Значение при условии что Элемент.Значение.Отбор.Владелец.Использование = Истина если последнее поменять на Ложь, то значение не подставляется... строки вида: , т.е. пытаюсь таким образом передать тоже значение в форму - результата не дали, по ходу таким образом только передается значение Владелец пока других вариантов не вижу... но что-то мне подсказывает что они все же есть...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям