1. dusha0020 909 30.03.15 10:37 Сейчас в теме

"Неизвестный идентификатор формы". Что за зверь?

1С 8.3.5.1186
Модуль УФ внешней обработки. Обычный в общем-то код клиент-серверной работы. По команде клиент вызывает несколько раз сервер. Главным образом для того, чтобы определить наличие нужных модулей БСП и не встроена ли обработка в конфигурацию. Обращения идут к Метаданным и РеквизитФормыВЗначение("Объект"). После определения всех необходимых параметров выбирается тот или иной способ дальнейшей обработки и вызывается то ли экспортная серверная процедура модуля обработки, то ли одна из процедур БСП.
Самый большой фокус в том, что первый запуск проходит отлично и без сбоев, а вот при попытке повторить обработку данных вываливается ошибка "Неизвестный идентификатор формы" на первой же попытке входа в серверную процедуру/функцию.
Типа того:
&НаКлиенте
	Процедура ТестированиеОбучения(СтатистикаПроцесса)
	Перем ВозможноВыполнитьвФоне;
	ВызовСервера(); //Здесь ошибка не входя в процедуру

А это (если интересно) сама процедура ВызовСервера()
&НаСервере
Процедура ВызовСервера()
КонецПроцедуры


Кто может помочь и подсказать в чем трабл?
Вознаграждение за ответ
Показать полностью
Найденные решения
5. spacecraft 30.03.15 11:15 Сейчас в теме
(4) dusha0020, это?
При одновременной работе с несколькими внешними отчетами и обработками, может возникать ошибка "Неизвестный идентификатор формы".
Способ воспроизведения:
Возникает, когда внешние объекты имеют одинаковое имя объекта метаданных.
Причина неисправления:
Ошибка платформы.
Мах; user811769; wowik; V_Izzy; A_Max; Summer_13; titoff; r71rustem; hartman620; Xershi; alex25ru; Denis211990; buriZa; Marvel805; TrofimovOK; bow; dusha0020; +17 Ответить
Остальные ответы
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
2. dusha0020 909 30.03.15 10:54 Сейчас в теме
3. caponid 30.03.15 11:02 Сейчас в теме
код что предоставлен, отработает без ошибок... это и так видно..

надо показать то, что выдает ошибку...
есть подозрение что после вот этого РеквизитФормыВЗначение("Объект") проблемы и начинаются...
4. dusha0020 909 30.03.15 11:13 Сейчас в теме
(3) caponid, У меня подозрение такое-же. Ну давайте попробуем разобраться...
Я модифицировал код и теперь направление обработки на сервере выполняется при открытии формы и сохраняется в ее (формы) реквизите. Следовательно, теперь На первом проходе выполняется всего одна серверная функция ЗапуститьВФонеВнешнююОбработку(). Вот ее текст:
&НаСервере
Функция ЗапуститьВФонеВнешнююОбработку(Статистика)
		
	ТекОбъект = РеквизитФормыВЗначение("Объект");
	ТекСсылка = НайтиВБазеТекущуюОбработку(); //Это тоже серверная процедура обрабатывает справочник дополнительных отчетов и обработок, надеюсь понятно как
	
	ДополнительныеОтчетыИОбработки.ВыполнитьОбработкуПоРегламентномуЗаданию(ТекСсылка, "ОбучитьСервер");
	ЗначениеВРеквизитФормы(ТекОбъект, "Объект");
	ТекОбъект = Неопределено;
	
	Возврат Истина;//ЗаданиеЗапущено или вызовет исключение, пока не важно;
КонецФункции
Показать

Есть подозрение, что НайтиВБазеТекущуюОбработку() также перегоняет Объект в реквизит, при уже имеющемся Объекте в реквизите. Сложновато вышло... Сейчас буду упрощать, но интересует скорее причина ошибки в принципе, а не оптимизация кода.
Так что вопрос открыт по прежнему.
5. spacecraft 30.03.15 11:15 Сейчас в теме
(4) dusha0020, это?
При одновременной работе с несколькими внешними отчетами и обработками, может возникать ошибка "Неизвестный идентификатор формы".
Способ воспроизведения:
Возникает, когда внешние объекты имеют одинаковое имя объекта метаданных.
Причина неисправления:
Ошибка платформы.
Мах; user811769; wowik; V_Izzy; A_Max; Summer_13; titoff; r71rustem; hartman620; Xershi; alex25ru; Denis211990; buriZa; Marvel805; TrofimovOK; bow; dusha0020; +17 Ответить
8. dusha0020 909 30.03.15 11:26 Сейчас в теме
(5) spacecraft, Может быть... Я вызываю метод данной обработки из модуля БСП. То есть создаю еще один экземпляр этой обработки. Но самый большой фокус-покус в том, что мне теоретически не нужно создавать второй экземпляр объекта в текущей сессии - вызов метода через одно место предназначен для запуска задания в фоне. Это пока отладка. Сейчас попробую штатный запуск и создание нового экземпляра в фоновой сессии. Если пройдет хорошо то на ошибку можно забить:)
10. tarassov 101 31.03.15 11:08 Сейчас в теме
(8) dusha0020,
я получал у себя ошибку "Неизвестный идентификатор формы" когда при отладке было открыто несколько экземпляров одной и той же внешней обработки
12. Xershi 955 05.04.18 17:28 Сейчас в теме
(5) запустил внешнюю ПФ из меню файл. Затем пытался ее запустить через внешние печатные формы. Словил ошибку. Перезапустил 1С и второе действия без выполнения первого сработало на ура!
6. caponid 30.03.15 11:18 Сейчас в теме
ТекОбъект = Неопределено; - вот это убери
7. dusha0020 909 30.03.15 11:21 Сейчас в теме
(6) caponid, Убрал даже "ТекОбъект = РеквизитФормыВЗначение("Объект")" - не помогло.
9. pavelyar 31.03.15 00:50 Сейчас в теме
ЭтотОбъект = Неопределено; может так?
11. dusha0020 909 31.03.15 11:24 Сейчас в теме
Ошибка действительно из-за того, что создавался еще один экземпляр внешней обработки в той же сессии. Это была внештатная ситуация, так как я не мог отладить фоновое задание, которое запускалось из экземпляра внешней обработки, сохраненного в справочнике внешних отчетов и обработок. Так как предмет отладки появлялся уже в самой фоновой процедуре, то я никак не мог его подцепить отладчиком и пришлось отлаживать все на готовом экземпляре обработки. Чего мне стоила такая отладка - тема для отдельного разговора, но ровно один запуск (пока не был создан дубликат обработки) у меня был. Потом приходилось закрывать и открывать обработку, заново вводить данные и все по новой.
Но сейчас все отлажено, процедура переведена в фон. Все работает и вызов обработки в фоновой сессии никаких ошибок не вызывает.
Всем спасибо. Вознаграждение выдал тому, кто наиболее полно раскрыл суть проблемы.
CratosX; Gazz; user8734; +3 Ответить
13. Светлый ум 257 02.06.19 17:16 Сейчас в теме
Мои 5 копеек:

Ошибка возникла при переносе ВПФ между разными конфигурациями:
- затерся реквизит "СсылкаНаОбъект", вернул на место заработало.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Специалист 1 категории (Методист-аналитик 1С)
Фрязино
зарплата от 100 000 руб.
Полный день

Главный архитектор 1С
Москва
зарплата от 200 000 руб. до 300 000 руб.
Полный день

Программист 1С (Оперативный учет)
Санкт-Петербург
зарплата от 120 000 руб.
Полный день

Программист по 1С:ЗУП
Санкт-Петербург
зарплата от 120 000 руб. до 150 000 руб.
Полный день