|
Метод объекта не обнаружен МодульФормы. | ☑ | ||
---|---|---|---|---|
0
Tornadius
23.06.20
✎
10:54
|
Здравствуйте!
Как можно выполнить процедуру из модуля формы документа, вызвав ее из внешней обработки? Внешняя обработка создает новый экземпляр документа через ФормаДок = ПолучитьФорму("Документы.Отпуск.ФормаОбъекта", ....); далее ФормаДок.Открыть(); и далее ФормаДок.ВыполнитьПерезаполнениеИРасчетНачисленийНаСервере(); и вот тут выдается ошибка "Метод объекта не обнаружен". (типовая процедура "ВыполнитьПерезаполнениеИРасчетНачисленийНаСервере" модуль формы "ФормаДокумента" док. "Отпуск" 1с ЗУП 3.1.14.55, до этого на 3.1.10.444 все работало, слетело сразу после обновления, платформа 15.1830) нужно, что бы программно сторнировать старый док. "отпуск" и создать новый док. с другими данными - для отзывов из отпусков. Кэш чистил. Что может быть не так? |
|||
1
ДенисЧ
23.06.20
✎
10:56
|
Экспорт у процедуры-то есть?
|
|||
2
Ненавижу 1С
гуру
23.06.20
✎
10:56
|
вызвать этот код на сервере
|
|||
3
Tornadius
23.06.20
✎
11:08
|
(1) Экспорт в модуле формы? Нет нету. это типовая процедура расчета формы.
|
|||
4
Tornadius
23.06.20
✎
11:15
|
(2) самое интересное. что док создается (нет нужды создавать его на сервере), форма открывается, но процедура из модуля формы не выполняется.
|
|||
5
D_E_S_131
23.06.20
✎
11:34
|
"Что может быть не так?" - подход к решению задачи у Вас "не так", нельзя так делать.
|
|||
6
Tornadius
23.06.20
✎
12:30
|
(5) да понятно, что нельзя, но так сделал франч, когда внедрял, и это работало до обновления с 10 релиза на 14.
Там все заполнение нового дока параметрами через форму прописано и на клиентской стороне |
|||
7
fisher
23.06.20
✎
12:38
|
Может, раньше работали с УФ в режиме толстого клиента? В этом режиме многое "протекает".
|
|||
8
D_E_S_131
23.06.20
✎
12:39
|
"но так сделал франч" - звучит как "высечено в граните". :) Возьми алгоритм от туда и вынеси в удобное для тебя место.
|
|||
9
fisher
23.06.20
✎
12:39
|
Да и просто на файловой тоже "протекало". Может, очередную "протечку" в новом релизе и прикрыли.
|
|||
10
fisher
23.06.20
✎
12:43
|
(6) Можно выкатить претензию франчу, который пишет с использованием недокументированных особенностей в результате чего вы в итоге попадаете на деньги. Пускай сами допиливают.
|
|||
11
dmpl
23.06.20
✎
12:46
|
(10) Франч им покажет, что они сами так просили :)
|
|||
12
fisher
23.06.20
✎
12:48
|
(11) Это детали реализации не относящиеся к постановке задачи.
|
|||
13
Tornadius
23.06.20
✎
12:54
|
(10) Это как раз документированная особенность : https://its.1c.ru/db/metod8dev#content:3550:hdoc - первый вариант.
|
|||
14
D_E_S_131
23.06.20
✎
13:00
|
(13) Так что там в той чудесной процедуре, что нельзя этот алгоритм вынести вне формы?
|
|||
15
Tornadius
23.06.20
✎
13:03
|
(14) там пересчет реквизитов формы на клиенте функцией из модуля формы.
|
|||
16
D_E_S_131
23.06.20
✎
13:06
|
(15) Ну вот и возьми эту функцию. Что там за проблемы?
|
|||
17
Tornadius
23.06.20
✎
13:06
|
Но кажется дело в режиме совместимости: до обновления он был 8_3_12 - после 8_3_14. сейчас поищу различия.
|
|||
18
Cthulhu
23.06.20
✎
13:07
|
никак.
перенеси в модуль объекта, опиши как Экспорт - и используй откуда хошь. |
|||
19
Tornadius
23.06.20
✎
13:09
|
(16) Она за собой тянет кучу других процедур и функций которые тоже в модуле формы.
отсюда и вопрос как такие процедуры использовать. |
|||
20
fisher
23.06.20
✎
13:17
|
(13) Вызов "снаружи" пользовательских методов формы, объявленных без ключевого слова "Экспорт" - не документирован.
|
|||
21
D_E_S_131
23.06.20
✎
13:29
|
(19) Ну тогда переписывать все самое верное решение. :)
|
|||
22
Tornadius
23.06.20
✎
13:35
|
(21) Чем буду заниматься в ближайшие пару дней.
Интересно только как быть с типовыми формами которые на поддержке и которые производят перерасчет своих реквизитов внутренними функциями из модуля формы, после ее создания на сервере? |
|||
23
hhhh
23.06.20
✎
15:10
|
(22) какие пару дней? скопипастить 20 процедур у тебя займет пару минут.
|
|||
24
Tornadius
25.06.20
✎
06:53
|
(23) Потому, что копипастить 20 процедур это не правильно, буду пытаться передавать параметры при открытии формы, которые вызовут запуск всего механизма штатными средствами, например, как это сделано в док. Больничный лист. Хочется надеяться. что механизм пересчета реквизитов формы можно запустить без прямого обращения к функциям модуля формы, а например, через параметры открытия и процедуру ПриСозданииНаСервере().
|
|||
25
Мимохожий Однако
25.06.20
✎
07:01
|
Сделай расширение вместо внешней обработки
|
|||
26
kobzon2
20.07.20
✎
21:51
|
Не получилось найти решение? Тоже столкнулся. Обновил комплексную до последнего релиза. В старой режим совместимости был 8.3.12, в новой 8.3.14. В итоге в новой конфигурации не отрабатывает модуль формы документа вызванный из внешней обработки. Пишет Метод объекта не обнаружен.
Понятно что можно переписать на расширения, но просто хочется понять почему так и что поменялось в работе форм? |
|||
27
1CnikPetya
20.07.20
✎
22:26
|
(0) В одной из версий 1С (возможно, как раз 8.3.14) прикрыли вызов неэкспортных методов формы. ИМХО, давно пора было.
(13) Тут ничего не сказано, про вызов неэкспортных методов формы. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |