Как быстро найти связанное расширение?

1. Dimony4 3 24.06.22 15:44 Сейчас в теме
Получаю ошибку Поле объекта не обнаружено (ЗачетОплатыФорма), когда открываю форму заказа клиента.
Ошибка стала появляться после включения расширений. Чтобы найти расширения, открыл каждое и проверил наличие формы заказа клиента.
Как можно получить список расширений в которых была изменена форма документа?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. FatPanzer 24.06.22 16:11 Сейчас в теме
Формы может и не быть в расширении, форма может дополняться программно из общего модуля расширения.
3. Dimony4 3 24.06.22 16:22 Сейчас в теме
(2)Согласен. Но программное добавление элементов не вызовет ошибки.

Ошибка из-за того, что форма в расширении неактуальная.
4. FatPanzer 24.06.22 16:25 Сейчас в теме
(3) Че вдруг то? Реквизит могли не добавить программно, а в другой части кода пытаться к нему обращаться... Вот тебе и ошибка.
5. Dimony4 3 24.06.22 17:01 Сейчас в теме
(4)Согласен
Если доработали метод, который вызывает ПриСозданниНаСервере, то надеюсь такая ошибка не появится.

Мне хочется найти способ быстрого нахождения всех расширений формы документа, не делая перебора
6. FatPanzer 24.06.22 17:11 Сейчас в теме
(5) Это называется "Глобальный поиск", и он есть в конфигураторе.
CratosX; G_116449793522595596167; +2 Ответить
7. rusmil 262 24.06.22 18:48 Сейчас в теме
Попробуйте так: запустите конфигуратор из него в режиме отладки запустите 1С, в конфигураторе в меню включите "Отладка > Остановка по ошибке" выполните в режиме 1С Предприятие действие которое приводит к ошибке, по идее платформа 1С должна Вас перебросить в программный код приводящий к ошибке в конфигуратор, в нужное расширение.
CratosX; G_116449793522595596167; +2 Ответить
8. Alexponenta 27.06.22 08:09 Сейчас в теме
В журнале регистрации информации нет разве?
9. Dimony4 3 17.07.22 20:46 Сейчас в теме
Коллеги, ищу ответ на вопрос: Как можно получить список расширений в которых была изменена форма документа?

Потому что:

в журнале регистрации есть ошибка:
Поле объекта не обнаружено (ЗачетОплатыФорма)
{Документ.ЗаказКлиента.Форма.ФормаДокумента.Форма(5865)}: Элементы.ЗачетОплатыФорма.Видимость = НЕ ЭтоПередачаТоваров И Элементы.ЗачетОплатыФорма.Видимость;


Это поле на форме есть!

Нахожу расширение этой формы

Вижу: "Форма в расширяемой конфигурации изменена. Обновить форму в расширении?", нажимаю Обновить.
Нажимаю F7

Открываю тонкий клиент 1с, открываю форму заказа клиента - ошибки нет.
Прикрепленные файлы:
10. muskul 18.07.22 01:55 Сейчас в теме
Если есть ошибка конфы, достаточно зайти в описание ошибки там пишется расширение и модуль в котором была ошибка.
11. Dimony4 3 18.07.22 08:35 Сейчас в теме
(10)Спасибо за ответ. и все-таки это не решение.

Вот полный текст из журнала регистрации:

Поле объекта не обнаружено (ЗачетОплатыФорма)
{Документ.ЗаказКлиента.Форма.ФормаДокумента.Форма(5865)}: Элементы.ЗачетОплатыФорма.Видимость = НЕ ЭтоПередачаТоваров И Элементы.ЗачетОплатыФорма.Видимость;
{Документ.ЗаказКлиента.Форма.ФормаДокумента.Форма(5501)}: УстановитьВидимостьЭлементовПоОперацииСервер();
{Документ.ЗаказКлиента.Форма.ФормаДокумента.Форма(193)}: ПриЧтенииСозданииНаСервере();

Имя расширения ("НашиДоработки") в этом тексте нет.

Пожалуйста, посмотрите ещё раз комментарий
(9)
12. Dimony4 3 03.08.22 16:32 Сейчас в теме
Теперь мне понятно, что расширений не должно быть много.
К сожалению не знаю простого решения поиска связанных расширений.

Пока такой ужас: выгрузить все расширения в файлы и выполнить поиск, например, при помощи bash консоли

grep -i -r 'ObjectBelonging>Adopted</ObjectBelonging>' --color */Documents/ЗаказКлиента/Forms | sed 's/\/.*//g'| uniq

Вместо Documents может быть Catalogs
Вместо ЗаказКлиента другое имя
15. karamazoff 98 13.05.23 13:54 Сейчас в теме
(12)А поставить в отладке остановку по ошибке карма не позволяет?, она таки остановится там, не важно где код, в расширении или в конфе
G_116449793522595596167; +1 Ответить
13. uncle_Vasya 13.05.23 11:01 Сейчас в теме
тоже сейчас этим пришлось заморочиться.
Но я не думал, что всё так плохо, что нормального решения нет на уровне платформы 1С. Ещё чуть-чуть полуркаю, но вообще, решение автора темы изящное, а мне пока приходит в голову ещё брутальный метод: если основная конфа не на поддержке, то бэкапнуть как-то этот объект (с формочкой или обработкой или отчётом бэкапнуть не сложно), убить его вообще в основе и воспользоваться в меню Действия проверкой применимости всех расширений в списке действующих расширений конфигурации. Потом вернуть, как было. )
упд: а, уже есть нормальная готовая обработка, с апреля прошлого года, ссылку оставил ниже, сообщение проходит модерацию.
16. karamazoff 98 13.05.23 16:02 Сейчас в теме
(13)
решение автора темы изящное

Капец какое изящное, налепить кучу расширений, в которых потом не может разобраться
17. uncle_Vasya 14.05.23 16:10 Сейчас в теме
(16) так налепить кучу расширений -- это же НЕ решение автора темы, вероятно. Он такие решения не принимает.

Оказывается! Для объектов есть-таки типовые механизмы, а я его забыл! https://forum.mista.ru/topic.php?id=852181

С ИТС (https://its.1c.ru/db/v8313doc#bookmark:dev:TI000001535):
Из встроенного языка имеется возможность выполнить проверку того, что объект конфигурации расширен в данном сеансе работы. Для этого предназначен метод объекта конфигурации <Объект метаданных>.ЕстьИзмененияРасширениямиКонфигурации(). Данный метод вернет значение Истина в том случае, если в текущем сеансе выбранный объект конфигурации модифицирован расширениями одним из следующих способов:

● модифицировано свойство объекта конфигурации;

● добавлен новый дочерний объект объекта конфигурации (форма, макет, команда и т. д.);

Для формочки документа, которая не была добавлена, а изменилась -- вроде, действительно, нету.
Ну, радикальное решение я уже подсказал. Продвинутое, для линуксоидов -- подсказал ОП.
Просто этот тред выскакивает первым в яндексе по теме, так что, имеет смысл, его максимально обогатить полезной информацией.
14. uncle_Vasya 13.05.23 11:03 Сейчас в теме
А, Шальнов уже сделал нормальное решение, на момент открытия треда -- уже 3 месяца.https://expert.chistov.pro/public/1652299/
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот