1с внешняя обработка не видит реквизит расширения

Comments

@mrshadow300373

Описание ошибки

Ошибка в том что во внешней обработке контекстная подсказка не видит модулей и объектов расширения, предполгаю, что вообще ничего из расширения не видит.

Как воспроизвести

  1. Способы воспроизведения на снимках в разделе ниже
  2. Лог (log.txt) и целиком тестовый воркспейс (test.zip) во вложении

Скриншоты

1663118432943
1663118561799
1663118659978
1663118762279
1663118845431
1663119021690

Ожидаемое поведение

Во внешней обработке/отчете видны объекты расширений так же как и из основной конфигурации.

Лог рабочей области

log.txt
Test.zip

Версия 1С:EDT

Ruby 2022.1.0

Операционная система

Windows, Linux

Установленные плагины

No response

Дополнительная информация

Снимки и тестовый воркспейс для Windows версии не прилагаю, но там ровно так же.

@RedMammoth

@mrshadow300373

возможно дубль #530 и #426

Вот ведь искал же сначала, видимо как то не правильно искал. Или не те ключевые слова выбирал. Искал по словам «is:issue внешняя обработка» нашлось всего 3, включая и #530 но из заголовка совсем непонятно было что это мой случай, а #426 вообще не попала… Закрыть? Или как то объединить. Почитал тексты обеих иш, да это мой случай.
Как то вообще можно искать не по заголовкам а по тексту?

Доброго дня, коллеги!

Механизм расширений постоянно развивается и принципы работы с расширениями могут существенно меняться. Так произошло и с принципами заимствования формы в расширение. Если не следить за изменениями при каждом выходе новой версии платформы 1С, то можно “споткнуться” на простом примере!

Вопрос

Добрый день. У меня платформа 8.3.16.1296, в расширении в табличной части документа добавил реквизит Расш1_ПроцентСкидки, но в реквизитах формы расширения он не появляется. А мне нужно разместить его в элементах формы расширения. Что делаю неправильно? Даже если сохранить расширение, то все рано реквизит не появляется.

Расш1_ПроцентСкидки

(нажмите, чтобы увеличить картинку)

Ответ

Добрый день! Для этого необходимо выполнить явное добавление реквизита формы Объект в расширение:

Добавление реквизита формы Объект

Это нужно делать, начиная с версии платформы 8.3.14. Ранее (в версиях платформы до 8.3.14) при заимствовании формы заимствовались все объекты, необходимые для отображения формы. Теперь при заимствовании формы выполняется заимствование только элементов формы. Реквизиты, команды, параметры не заимствуются, отображаются светло-коричневым цветом (как на Вашем скриншоте) и недоступны для редактирования. Реквизиты, команды и параметры необходимо заимствовать явным образом при помощи указанной кнопки на командной панели.

Не видит перечислений расширения конфигурации

SkyNet Дата: Воскресенье, 28.02.2021, 13:35 | Сообщение # 1

Рядовой

Группа: Пользователи

Репутация: 0

Статус: Оффлайн

Добрый день!
Конфигурация типовая УТ 11.4.9.98
ИР 6_5.80.2 портативная

1.В расширении создано перечисление ВариантыОтгрузки1 с значениями Отгружено и ОтгруженоЧастично
2.В документе «Заказ клиента» создан свой реквизит Отгружено1 с сылкой на данное перечисление ВариантыОтгрузки1

3.При использовании ИР в обработке «Подбор и обработка объектов» у реквизита ТЧ Отгружено1 документа «Заказ клиента» не выбирается это перечисление  ВариантыОтгрузки1

 
tormozit Дата: Воскресенье, 28.02.2021, 13:43 | Сообщение # 2

Генералиссимус

Группа: Администраторы

Репутация: 131

Статус: Оффлайн

Похоже тут какая то ошибка платформы. Очень желательно получить информацию для технической поддержки http://devtool1c.ucoz.ru/forum/2-2-1 .
Попробуй создать новую базу, загрузить туда эту конфигурацию и добавить это расширение. Если проблема воспроизведется то предоставь выгрузку этой новой базы. Если проблема не воспроизведется, то вероятно у тебя криво подключилось расширение в текущей базе и надо пробовать пересоздать проблемный реквизит.

 
SkyNet Дата: Воскресенье, 28.02.2021, 16:25 | Сообщение # 3

Рядовой

Группа: Пользователи

Репутация: 0

Статус: Оффлайн

Да, вот описание

Цитата

Платформа: 8.3.18.1289
Режим БД: файловый
Конфигурация. Название: Управление торговлей, редакция 11 (11.4.9.98)
Конфигурация. Основной режим запуска: Управляемое приложение
Конфигурация. Вариант встроенного языка: Русский
Конфигурация. Режим управления блокировкой данных: Управляемый
Конфигурация. Режим совместимости: Версия8_3_12
Конфигурация. Версия БСП: 3.0.3.87
Инструменты разработчика. Версия: Портативный 5.80.2p
Инструменты разработчика. Инструмент: Подбор и обработка объектов БД
Инструменты разработчика. Объекты на сервере: Да
Инструменты разработчика. Серверный модуль: Да
Расширения. УТ_ФедоровОВ ()
Клиент. ОС: Майкрософт Windows 10 Pro 64-разрядная Русский
Клиент. Приложение: Обычное приложение 64б
Клиент. Язык интерфейса конфигурации: ru
Клиент. Язык интерфейса системы: ru
Клиент. От имени администратора Windows: Нет

Попробовал удалить и снова создавать как перечисление так и реквизит табличной части ,все неизменно…

 
tormozit Дата: Воскресенье, 28.02.2021, 16:35 | Сообщение # 4

Генералиссимус

Группа: Администраторы

Репутация: 131

Статус: Оффлайн

99% что проблема вызвана ошибкой платформы.
Попробуй в копии базы поднять режим совместимости конфигурации и расширения пошагово вплоть до «Не использовать». Механизм расширений конфигурации очень чувствителен к этому свойству.

 
SkyNet Дата: Воскресенье, 28.02.2021, 18:27 | Сообщение # 5

Рядовой

Группа: Пользователи

Репутация: 0

Статус: Оффлайн

Весь извелся уже с этим…
https://yadi.sk/i/CrDWwmM3dp4n7g
Не дает режим совместимости убрать в основной конфигурации никак…

Если режим совместимости расширения снимаю то ошибка уже в режиме предприятия
https://yadi.sk/i/NHzsCbQ9bMg18g

Какой то ацкий треш…

В самих формах это перечисление благополучно ставиться! Выбирается и используется, но в обработках это как строка!

 
tormozit Дата: Воскресенье, 28.02.2021, 19:11 | Сообщение # 6

Генералиссимус

Группа: Администраторы

Репутация: 131

Статус: Оффлайн

Цитата SkyNet ()

Не дает режим совместимости убрать в основной конфигурации

Это делает прикладной код. Найди его и отключи. Повторяюсь, что делать это я предлагаю только копии базы в целях выявления причины проблемы и поиска путей ее обхода.

 
SkyNet Дата: Воскресенье, 28.02.2021, 23:09 | Сообщение # 7

Рядовой

Группа: Пользователи

Репутация: 0

Статус: Оффлайн

Закомментировал код который проверял, поставил поочередно все версии совместимостей, но это все не помогло, и вообще что то мне подсказывает что не в этом дело..
На скрине видно что если сбросить на крестик это произвольное поле и нажать на «Т» то там будет это самое перечисление, которое ставлю галку и жму выбрать но выбирает снова произвольно поле .
https://yadi.sk/i/YJHN6YKhgMEQRQ

Пробовал запускать на  других версиях ,все одно и тоже…
Вы пробовали воспроизвести у себя данную операцию?

Добавлено (28.02.2021, 23:29)
———————————————
Пытался уж грубо через произвольный код сделать ,но тоже не выходит, когда строю код то там все верно указывается…
https://yadi.sk/i/zNpFY-GCSJZU_w

Пробовал так 
Объект.ДатаОтгрузкиТовара1=Объект.ДатаОтгрузкиТовара

Но значение не ставиться…

 
tormozit Дата: Воскресенье, 28.02.2021, 23:41 | Сообщение # 8

Генералиссимус

Группа: Администраторы

Репутация: 131

Статус: Оффлайн

Да. У меня проблема воспроизводится проблема с выбором типа перечисления. К сожалению это — ограничение платформы. Супер тип ЛюбаяСсылка не включает типы, рожденные в расширениях. Это исправили только в 8.3.19. Поэтому в колонке «Значение» в форме обработки «Изменить реквизиты / Добавить строку» выбрать значение такого расширения нельзя. Аналогично — в параметрах произвольного алгоритма нельзя выбирать такие типы.

Используй обработку «Произвольный алгоритм» с таким кодом

Код

Объект.Расш1_Реквизит1 = Перечисления.Расш1_Перечисление1.ЗначениеПеречисления1;

 
tormozit Дата: Воскресенье, 28.02.2021, 23:48 | Сообщение # 9

Генералиссимус

Группа: Администраторы

Репутация: 131

Статус: Оффлайн

Цитата SkyNet6489

Цитата

Пробовал так Объект.ДатаОтгрузкиТовара1=Объект.ДатаОтгрузкиТовара

Так работать не будет даже если оба перечисления принадлежат конфигурации. Ты должен сделать явное преобразование значений типа «Перечисление1» в «Перечисление» или наоборот.

 
SkyNet Дата: Воскресенье, 28.02.2021, 23:58 | Сообщение # 10

Рядовой

Группа: Пользователи

Репутация: 0

Статус: Оффлайн

https://yadi.sk/i/lq0vqGuqbQ6Axw

Вот только понял ,залез в конфигураторе стал перевыбирать и не смог там указать свое перечисление…
Как же тогда быть?
Как мне перенести эти доработки и их данные в расширения конфигурации, дело встало только в этом реквизите, даты отлично переносятся…

 
tormozit Дата: Понедельник, 01.03.2021, 14:11 | Сообщение # 11

Генералиссимус

Группа: Администраторы

Репутация: 131

Статус: Оффлайн

Ошибся. Исправление проблемы с типом ЛюбаяСсылка планируется только в 8.3.20, т.е. в лучшем случае в конце лета 2021г. https://wonderland.v8.1c.ru/blog/razvitie-rasshireniy/

 
SkyNet Дата: Понедельник, 01.03.2021, 18:34 | Сообщение # 12

Рядовой

Группа: Пользователи

Репутация: 0

Статус: Оффлайн

Жесть, как тогда выйти из ситуации можно, посоветуйте пожалуйста, хочется поставить на поддержку конфигурацию и не париться при обновлениях

 

подскажите решение проблемы УНФ 1.6 Платформа 8.3. Создал расширение конфигурации. В форме документа ПриемВремонт добавил 2 новых реквизита и поля ввода для них. Присоединил к основной конфигурации — все работает как надо. Создал обработку для внешней печатной форму документа , макет. При попытке вывести на печать внешнюю форму вылетает ошибка — {ВнешняяОбработка.ВО_Приемвремонт.МодульОбъекта}: Поле объекта не обнаружено (Серийник)

какой именно серийник не видит? ОбластьСтрока.Параметры.Серийник или СсылкаНаДокумент.Серийник

СсылкаНаДокумент.Серийник

У УНФ режим совместимости пока еще 8.3.8

Т.е. с расширением пока облом, придется лезть в основную конфу?

странный ты человек ты на вопросы ответь как ты узнал где именно нет поля «Серийник»? во-вторых — получение реквизита через точку — есть плохо

А при чем тут расширение? Если есть реквизит в объекте, то не имеет никакого значения как именно ты делаешь печатную форму — встроенную, внешнюю, в расширении. >> В форме документа ПриемВремонт добавил 2 новых реквизита Есть подозрение, что никаких реквизитов объекта ты не создал. А есть только реквизиты формы. Если я прав, то в таком случае, реквизиты формы доступны только в контексте работы с этой формой. А стандартная подсистема Печать умеет работать только со ссылками. Стандартные процедуры этой подсистемы не умеют работать с формами объектов. Если мои рассуждения верны, то ты неверно решил поставленную задачу.

я вот тоже удивился, сначала, как это — добавил реквизиты в расширении

Теперь понял, что действительно создал реквизиты формы. теперь все понятно.

Спасибо всем, тема закрыта.

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

Консоль запросов не видит регистры сведений и накоплений, добавленные в расширение конфигурации базы 1С:Предприятие 8.

В моем случае новые регистры сведений были добавлены в расширение конфигурации с назначением «дополнение». Они были выведены платформой в управляемый интерфейс, но не были доступны при попытке выбрать их в консоли запросов.

1с 8 консоль запросов не видит регистры из расширения

На практике по факту получается ситуация, что объекты конфигурации, добавленные в расширении с назначением «доработка» не будут доступны в основной конфигурации. В основной конфигурации становятся доступными объекты из расширений с назначением «Адаптация». Конечно, логически хочется, чтобы работало как дополнение, т.к. часто с этого и начинается создаваться расширение для реализации нужд клиента для доработки дополнительного функционала в базе. Но теория о назначениях расширений четко дает понять, что для новых объектов нужна адаптация.

Это же касается того случая, когда добавляется новый реквизит в расширении для документа, справочника или регистра. Чтобы потом можно было запросами обращаться к добавленным реквизитам в расширении — оно так же должно быть «Адаптацией»:

Так же из теории по данным из книги «Разработка в системе 1С:Предприятие 8.3». Издание 2. Е. Ю. Хрусталева. Назначение для расширения «Исправление» используется для исправления ошибок в конфигурации. Оно первым по очередности из всех расширений применяется к конфигурации. Потом применяются расширения с назначением «Адаптация». Такие расширения содержат доработки конфигурации при внедрении под конкретные задачи клиента. И последними применяются расширения с назначением «Дополнение». Оно может содержать различные дополнительные сервисы для конфигурации (например, набор дополнительных отчетов, обработок).

Так же при работе с расширениями стоит внимательно относится к тому, стоит ли объединять данные одного расширения с данным другого расширения, если они имеют различные назначения. С пример, к чему это привело, можно ознакомиться в описании ошибки «Ошибка при выполнении операции с информационной базой Запись не найдена в менеджере имен базы данных»

Оцените, оказалась ли эта публикация полезна для Вас?




© www.azhur-c.ru 2013-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

26-02-2021

Журавлев А.С.
(Сайт azhur-c.ru)

Назад

Понравилась статья? Поделить с друзьями:
  • 1с динамический список добавить колонку реквизита
  • 1с документооборот дополнительные реквизиты задач
  • 1с дополнительные реквизиты в динамическом списке
  • 1с дополнительные реквизиты для разработчиков имя
  • 1с дополнительные реквизиты как выбрать в запросе