Дополнительный вызов обработчика ОбработкаЗаполнения #585011


#0 by tramek
Доброе время суток! Перешол с платформы (8.1.15.14) на (8.2.13.219) "УТ 10.3", отключил режим совместимости, пытаюсь устранить несовместимости платформ руководствуясь статьей . Проблема с дополнительным вызовом обработчика "ОбработкаЗаполнения" В 1С:Предприятии 8.2 обработчик ОбработкаЗаполнения вызывается при программном вводе нового элемента с помощью вызова методов ПолучитьФормуНовогоДокумента, ПолучитьФормуНовогоЭлемента и аналогичных. В результате чего, дважды вызовется обработчик объекта ОбработкаЗаполнения. Просмотрел во всей конфигурации мотод "ПолучитьФормуНового" - и где используется метод заполнить, исправил и ни чего не изменилось поставил точку остановы и ни куда не зашол. Где эту ошибку надо исправлять?
#1 by rrunover
Покажи хотя бы один пример в разрезе как было до замены и как стало после.
#2 by Ненавижу 1С
а она на сервере вызывается, если сервер не в режиме отладки, то отладки не будет на сервере
#3 by tramek
#4 by tramek
отладка происходит на клиенте галочка (Клиент объчное приложение стоит)
#5 by Defender aka LINN
Создал объект, заполнил, открыл форму другого объекта... Хвастаешься?
#6 by tramek
во всей конфигурации это единственный участок кода где встречается метод получитьФормуНового и метод заполнить.
#7 by tramek
суть не в синтаксисе это я так быстро для премера набросал, вопрос не как это еделать а где нужно исправлять
#8 by rrunover
, а ты уверен, что в порядок выполняемых действий именно такой, как рекомендовано?
#9 by tramek
нет не уверен еще толком не разбирался, не нашол где править комбинация методов встречается только в одном месте конфигурации РаботаСДиалогами.ВвестиСчетФактуру поэтому и спрашиваю где нужно править.
#10 by rrunover
>> "не нашол где править комбинация методов" править там, где встречается. До просветления следовать инструкциям по ссылке в : 1) Создать документ. 2) Заполнить созданный документ по основанию. 3) Получить форму документа, с которым работали в 1 и 2. 4) Открыть полученную форму.
#11 by tramek
чет я не понял как связаны вышеуказанные методы с методом ПолучитьФоруНового и заполнить? в статье четко прописанны предопределенные методы которые некорректно сробатывают в 8.2
#12 by rrunover
и так же чётко прописано, что нужно сделать, чтобы оно заработало
#13 by tramek
Для устранения несовместимости необходимо: выявить все вызовы метода Заполнить, которые применяются совместно с методами вида ПолучитьФормуНового; заменить вызов ПолучитьФормуНового на пару вызовов ПолучитьФорму и Открыть. Например: ФормаСчетаФактуры = ОбъектСчетаФактуры.ПолучитьФорму; ФормаСчетаФактуры.Открыть; - Где это нужно исправлять если в конфе такая комбинация метов встречается только ???
#14 by rrunover
ммм... может быть только в и исправлять?
#15 by tramek
при отладке не попадает в этот модуль
#16 by rrunover
хорошо. пусть пока не попадает. Ошибка-то какая-нибудь есть?
#17 by tramek
При формировании новога документа например тестил на реализации выскавает ошибка {Документ.РеализацияТоваровУслуг.МодульОбъекта(5424)}: Значение не является значением объектного типа (Метаданные) Если ОбщегоНазначения.ЕстьРеквизитДокумента("ОтражатьВУправленческомУчете", Основание.Метаданные) Тогда выскавивает потому что при формировании заходит в ОбработкуЗаполнения -  основание(неопределено) естественно у неопределено нес метода "методанные". Проверять на неопределно при поподании в процедуру обработка заполнения считаю не корректным.
#18 by rrunover
Понятно. Пункт 2. "Анализ типа параметра обработчика ОбработкаЗаполнения" в модуле документа "Реализация товаров и услуг" правил? По ссылке в это есть.
#19 by tramek
ага
#20 by Jaffar
о, думаю - мне тоже скоро предстоит наступить на эти грабли. спасибо за ссылочку!
#21 by rrunover
и если ты сейчас пытаешься просто создать новый документ реализации и выезжает сообщение об ошибке, тогда пожалуйста покажи код, который в модуле документа в процедуре ОбработкаЗаполнения.
#22 by tramek
не за что сам на мисте откапал..:)
#23 by tramek
да код в документе исправить нет проблем просто мне не понятно как он попадает в обработку заполнения при формировании нового документа в синкси помошнике 8.2 написано про метод заполнить ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>) Заполнить (Fill) Синтаксис: Заполнить(<ДанныеЗаполнения>) Параметры: Тип: Произвольный. Значение, на основании которого выполняется заполнение документа. Описание: Заполняет данные документа данными из другого объекта. Инициирует событие ОбработкаЗаполнения и вызов его процедуры-обработчика в модуле документа. В ней может размещаться алгоритм, заполняющий данные документа из переданного значения. Доступность: Сервер, толстый клиент, внешнее соединение. Примечание: Для заполнения может использоваться значение любого типа. Пример: РасходнаяНакладная.Заполнить(ВыбКонтрагент); См. также: ДокументОбъект, событие ОбработкаЗаполнения только вот где он вызывается этот метод, просмотрел все методы заполнить в конфе но не где нет который заполнял бы например реализацию возможно причина не в этом метоже.. пока еще не нарыл.
#24 by Defender aka LINN
При интерактивном создании объекта вызывается событие заполнения. Это, какбе, одно из значимых отличий 8.2 от 8.1. Ты вообще документацию открывал, не?
#25 by tramek
а можно поподробнее? и где можно прочитать документацию?
#26 by tramek
и зачем при интерактивном создании вызвать событие заполнение? в чем логика?
#27 by Defender aka LINN
Логика в том, чтобы заполнить объект "по умолчанию" - то, чем в 8.0 и в 8.1 страдали в формах документов.
#28 by tramek
ну епты так это получается нормально, а я тут голову ломаю..:) спс
#29 by tramek
кинь ссылку на документацию если не трудно
#30 by tramek
В статье написано про програмный ввод нового документа а не про интерактивный чет сразу не обратил на это внимание и протупил целый день. знание сила а незнание здоровый крепкий сон..:)
#31 by tramek
Темы закрыта... вывод читайте внимательно монуала.. :) ЕЩЕ РАЗ ВСЕ ОГРОМНОЕ СПАСИБО!!!
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С