Расширение. Не видит реквизит |
Я |
02.03.20 — 10:37
Доброго
Помогите рпзобраться плз.
в конфе есть расширение. Общая форма.
В обновлении эта форма была изменена. После этого перестало работать расширение.
в расширении, на форме есть реквизит, расш_ТТН
http://prntscr.com/ra5koo
но при открытии формы
{Расш1 ОбщаяФорма.ФормаВесовщика.Форма(14)}: Поле объекта не обнаружено (расш_ТТН)
Элементы.расш_ТТН.Видимость = ТипЗнч(Документ) = Тип(«ДокументСсылка.Поставка»);
еще
Ошибка инициализации модуля: Расш1 ОбщаяФорма.ФормаВесовщика.Форма
по причине:
{Расш1 ОбщаяФорма.ФормаВесовщика.Форма(49,29)}: Переменная не определена (расш_ТТН)
ДокументОбъект.расш_ТТН = <<?>>расш_ТТН;
Пробовал добавить в расширение новый реквизит, вынести его на форму — но при открытии, по точке останова, на форме нет этого реквизита
куда копать?
http://prntscr.com/ra5me2
Спасибо
1 — 02.03.20 — 11:31
(0) дык у тя реквизит формы, а обращаешься к нему, как к реквизиту объекта.
2 — 02.03.20 — 11:43
(1) эмм… не понял….
&НаКлиенте
Процедура ВидимостьДопПолей()
Элементы.расш_ТТН.Видимость = ТипЗнч(Документ) = Тип(«ДокументСсылка.Поставка»);
КонецПроцедуры
{Расширение1 ОбщаяФорма.ФормаВесовщика.Форма(14)}: Поле объекта не обнаружено (расш_ТТН)
Элементы.расш_ТТН.Видимость = ТипЗнч(Документ) = Тип(«ДокументСсылка.Поставка»);
еще такой момент:
расширение работает. в том виде в котором оно сейчас.
обновляем основную конфу.
в обновлении — касаемо этой формы — только добавлена строка реквизит = переменная
всё. расширение не работает
3 — 02.03.20 — 11:45
(2) вот в этой процедуре ставлю точку останова — на форме нет расш_ТТН. все реквизиты из основной конфы присутствуют, а из расширения нет
4 — 02.03.20 — 11:48
это общая форма
5 — 02.03.20 — 11:52
(4)Возможно глюк расширения. Добавь реквизит и элемент на форму программно.
6 — 02.03.20 — 11:52
вот еще такой момент заметил:
в расширении на форме реквизит есть (см.скрин выше).
закомментировал строки с ошибками.
запускаю предприятие
на форме в предприятии реквизита нет. но точки останова в проц.расширения срабатывают, т.е. расширение то получается что загружено
7 — 02.03.20 — 11:53
(2)
Ошибка инициализации модуля: Расш1 ОбщаяФорма.ФормаВесовщика.Форма
по причине:
{Расш1 ОбщаяФорма.ФормаВесовщика.Форма(49,29)}: Переменная не определена (расш_ТТН)
ДокументОбъект.расш_ТТН = <<?>>расш_ТТН;
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>ДокументОБъект <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
8 — 02.03.20 — 11:53
Это че у вас ?
9 — 02.03.20 — 11:54
(5) Перед этим, попробуй добавь сам справочник «Файлы» в расширение. Возможно расширение не видит тип и по этому не создает реквизит формы.
10 — 02.03.20 — 12:01
(7) ДокументОбъект = Документ.ПолучитьОбъект();
ДокументОбъект.расш_ТТН = расш_ТТН;
ДокументОбъект.Записать(РежимЗаписиДокумента.Запись);
там так
а вот этот самый = расш_ТТН он как бы есть в расширении но при запуске его и нет (((
(5) без изменений
11 — 02.03.20 — 12:08
(10) У документа есть реквизит расш_ТТН ? Если нет, то имеешь ошибку.
12 — 02.03.20 — 12:09
Или расш_ТТН — это добавленный реквизит объекта в расширении (не реквизит формы) ?
13 — 02.03.20 — 12:14
(11) ошибка же в дугом месте. Не в ДокументОбъект.
14 — 02.03.20 — 12:15
(13) именно в нём..
Посмотрел первый пост..пилять, товарищь добавил реквизит формы в Общую форму и хочет, чтобы он вдруг стал реквизитом документа.
Тут что-то в консерватории менять надо.
15 — 02.03.20 — 12:16
(11) у дока есть реквизит. Документ.расш_ТТН — тут все правильно
на самой форме нет расш_ТТН
(12) расш_ТТН есть как реквизит объекта (он додавлен в расширении в док, с ним все хорошо)
на общей форме есть рекфизит формы расш_ТТН. вот его форма и не видит при открытии
(13) да, все верно
(14) ну тут тоже ошибка такая же
&НаКлиенте
Процедура Расш1_расш_ТТНОткрытиеПосле(Элемент, СтандартнаяОбработка)
РаботаСФайламиКлиент.ОткрытьФормуФайла(расш_ТТН, СтандартнаяОбработка);
КонецПроцедуры
расш_ТТН — добавлен в реквизит формы
http://prntscr.com/ra761g
но, при открытии формы — этого реквизита нет
сейчас добавил Реквизит1 в расширение, того же типа что и расш_ТТН.
у элемента формы «расш_ТТН» сменил путь к данным — Реквизит1
на форме в предприятии появился элемент расш_ТТН
тоесть, тупо не видит реквизита формы почему то (расш_ТТН)
подумал, может права чего — но в расширении прав никаких не добавлено. Хотя тоже попробовал с правами на форму поиграться — без изменений
16 — 02.03.20 — 12:17
(13) ошибка не в ДокументОбъект.расш_ТТН
ошибка в добавленном реквизите общей формы расш_ТТН
17 — 02.03.20 — 12:18
(15) покажи картинку с документом, где расш_ТТН — реквизит документа
18 — 02.03.20 — 12:19
(14) давайте о реквизите документа забудем? вопрос по реквизиту формы
19 — 02.03.20 — 12:19
20 — 02.03.20 — 12:20
(17) http://prntscr.com/ra7bvl
ну и тем более если б в этом был косяк то с какого перепугу оно бы раньше то работало?
21 — 02.03.20 — 12:27
(20)
//ДокументОбъект.расш_ТТН = расш_ТТН; //на сервере же нет никакого расш_ТТН
22 — 02.03.20 — 12:28
А так, ну отключи это расширение, создай в новой конфе еще одно, такое же и там пробуй.
23 — 02.03.20 — 12:29
А добавленные реквизиты в расширении..отчаянные люди. ТиИ не делай никогда, иначе имеешь щанец потерять значения этих реквизитов навсегда
24 — 02.03.20 — 12:34
(23) где ты увидел реквизит, добавленный в расширении?
25 — 02.03.20 — 12:35
(23) не. там скрин просто был с расширения. этот же реквизит в объекте есть и в основной конфигурации
а вот в основной в общей форме нет ТТН (да и нафиг он там не нужен)
Копирую этот реквизит ТТН -> ТТН1
выношу на форму. запускаю — ТТН1 есть на форме.
да что за мистика то (((
26 — 02.03.20 — 12:36
формально должно все работать.
попробуй сделать новое и сравнить объединить с текущим
nAPACEHAK
27 — 02.03.20 — 13:03
в общем скопировал реквизит и в элементе формы указал путь к скопированному. все заработало
так и не понял чем старый рекфизит формы не угодил ((
Доброго дня, коллеги!
Механизм расширений постоянно развивается и принципы работы с расширениями могут существенно меняться. Так произошло и с принципами заимствования формы в расширение. Если не следить за изменениями при каждом выходе новой версии платформы 1С, то можно “споткнуться” на простом примере!
Вопрос
Добрый день. У меня платформа 8.3.16.1296, в расширении в табличной части документа добавил реквизит Расш1_ПроцентСкидки, но в реквизитах формы расширения он не появляется. А мне нужно разместить его в элементах формы расширения. Что делаю неправильно? Даже если сохранить расширение, то все рано реквизит не появляется.
(нажмите, чтобы увеличить картинку)
Ответ
Добрый день! Для этого необходимо выполнить явное добавление реквизита формы Объект в расширение:
Это нужно делать, начиная с версии платформы 8.3.14. Ранее (в версиях платформы до 8.3.14) при заимствовании формы заимствовались все объекты, необходимые для отображения формы. Теперь при заимствовании формы выполняется заимствование только элементов формы. Реквизиты, команды, параметры не заимствуются, отображаются светло-коричневым цветом (как на Вашем скриншоте) и недоступны для редактирования. Реквизиты, команды и параметры необходимо заимствовать явным образом при помощи указанной кнопки на командной панели.
Yulunga 1142 / 689 / 203 Регистрация: 22.04.2013 Сообщений: 5,161 Записей в блоге: 1 |
||||||||
1 |
||||||||
расширения и недоступные реквизиты17.11.2017, 11:11. Показов 35423. Ответов 8 Метки нет (Все метки)
добрый день.
теперь собираюсь его же забацать в 8.3 с расширением
в консоли запросов работает. в расширении — нет. говорит нет ничего . добавил реквизит валюта взаиморасчета. окей.
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
17.11.2017, 11:11 |
8 |
476 / 413 / 93 Регистрация: 26.09.2012 Сообщений: 1,907 |
|
17.11.2017, 17:37 |
2 |
Идешь по справочниками и добавляешь нужные реквизиты. Думаю в случае владельца, нужно добавить и все справочники, что могут быть его владельцем.
0 |
1142 / 689 / 203 Регистрация: 22.04.2013 Сообщений: 5,161 Записей в блоге: 1 |
|
20.11.2017, 08:06 [ТС] |
3 |
нужно добавить и все справочники, что могут быть его владельцем. там родитель — справочник.контрагенты. а он добавлен. засада ( Миниатюры
0 |
1142 / 689 / 203 Регистрация: 22.04.2013 Сообщений: 5,161 Записей в блоге: 1 |
|
20.11.2017, 08:26 [ТС] |
4 |
прикольно. надо добавить форму списка в расширение. тогда всё появляется )
0 |
Joker_vad 476 / 413 / 93 Регистрация: 26.09.2012 Сообщений: 1,907 |
||||
20.11.2017, 17:32 |
5 |
|||
На м..сте нашел что нужно получить поля через * т.е
0 |
1808 / 1228 / 442 Регистрация: 16.01.2015 Сообщений: 5,396 |
|
20.11.2017, 17:49 |
6 |
может кто пояснить, при чём тут ФОРМА ? Yulunga, Еще как причем. Добавляя форму в расширение, автоматом добавляются все связанные с формой реквизиты, все Справочники документы перечисления, чей тип установлен для полей формы. Добавлено через 7 минут
там родитель — справочник.контрагенты. а он добавлен. засада ( А на скрине как раз реквизит Контрагент в справочнике ДоговорыКонтрагентов, в расширение не перенесен. Просто перенесите этот реквизит в расширение и все
1 |
1142 / 689 / 203 Регистрация: 22.04.2013 Сообщений: 5,161 Записей в блоге: 1 |
|
20.11.2017, 18:27 [ТС] |
7 |
Проверка синтаксиса в расширении даст ошибку, но запрос в режиме предприятия будет работать а, это слово-в-слово я где-то прочитал сегодня. но не вчитался. теперь понял.
Добавляя форму в расширение, автоматом добавляются все связанные с формой реквизиты,… теперь понятно, спасибо, вник.
А на скрине как раз реквизит Контрагент в справочнике ДоговорыКонтрагентов, в расширение не перенесен. Просто перенесите этот реквизит в расширение и все так в этом и был вопрос — как ?
0 |
1808 / 1228 / 442 Регистрация: 16.01.2015 Сообщений: 5,396 |
|
20.11.2017, 19:13 |
8 |
а, это слово-в-слово я где-то прочитал сегодня. но не вчитался. теперь понял. Чест слово не копипастил))) Но… для удобства работы, сам всегда переношу все что надо в расширение
теперь понятно, спасибо, вник. И…. одна из задач после окончания написания расширения, удалить ВСЕ, что не задействовано в его работе (то что задействовано, не даст удалить. начинать надо с реквизитов форм и подниматься выше по иерархии)
потому что реквизита контрагент не было. переносить было нечего. это и есть родитель Это в справочнике ДоговорыКонтрагентов НЕТ реквизита Контрагент?!!! Может вы не поняли? Надо реквизит справочника из основной конфигурации перенести в расширение. На реквизите в основной пр кн мыши — добавить в расширение
0 |
1142 / 689 / 203 Регистрация: 22.04.2013 Сообщений: 5,161 Записей в блоге: 1 |
|
21.11.2017, 07:24 [ТС] |
9 |
Это в справочнике ДоговорыКонтрагентов НЕТ реквизита Контрагент?!!! см. рисунок.
Может вы не поняли? я наверно плохо объясняю. Миниатюры
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
21.11.2017, 07:24 |
9 |
1С, как добавить, изменить реквизит формы объекта через расширение
В новых версиях платформы, при изменении типовых форм, стандартные и новые реквизиты (добавленные в расширение) по умолчанию недоступны: их нельзя изменить, ни добавить в форму. Дело в том, что немного изменился механизм добавления реквизитов в расширение, для изменения типовых форм объектов.
Вам необходимо выполнить следующие действия:
- В дереве метаданных нажать правой кнопкой мыши на реквизит -> «Добавить в расширение» -> выбрать расширение;
- Перейти в расширение конфигурации, открыть форму, в которую планируем добавить (или изменить) реквизит -> в области справа выделить реквизит -> нажать правую кнопку мыши -> «Добавить реквизит»;
Почему в новой платформе изменился данный механизм?
Теперь связанные с формой реквизиты в дереве метаданных платформы не переносятся вместе с формой в расширение, а только отображаются как отражение основной конфигурации. Перенос реквизитов для их модификации проводится прямо из формы. Сделано это было для того, чтобы при изменении какого либо реквизита в стандартной конфигурации — расширение не теряло свою работоспособность.
Реквизиты, которые возможно изменить в форме выделяются черным цветом, а недоступные — серым. При этом при обновлении реквизиты в старых расширениях будут сразу доступны для редактирования.
Связанные статьи
Консоль запросов не видит регистры сведений и накоплений, добавленные в расширение конфигурации базы 1С:Предприятие 8.
В моем случае новые регистры сведений были добавлены в расширение конфигурации с назначением «дополнение». Они были выведены платформой в управляемый интерфейс, но не были доступны при попытке выбрать их в консоли запросов.
На практике по факту получается ситуация, что объекты конфигурации, добавленные в расширении с назначением «доработка» не будут доступны в основной конфигурации. В основной конфигурации становятся доступными объекты из расширений с назначением «Адаптация». Конечно, логически хочется, чтобы работало как дополнение, т.к. часто с этого и начинается создаваться расширение для реализации нужд клиента для доработки дополнительного функционала в базе. Но теория о назначениях расширений четко дает понять, что для новых объектов нужна адаптация.
Это же касается того случая, когда добавляется новый реквизит в расширении для документа, справочника или регистра. Чтобы потом можно было запросами обращаться к добавленным реквизитам в расширении — оно так же должно быть «Адаптацией»:
Так же из теории по данным из книги «Разработка в системе 1С:Предприятие 8.3». Издание 2. Е. Ю. Хрусталева. Назначение для расширения «Исправление» используется для исправления ошибок в конфигурации. Оно первым по очередности из всех расширений применяется к конфигурации. Потом применяются расширения с назначением «Адаптация». Такие расширения содержат доработки конфигурации при внедрении под конкретные задачи клиента. И последними применяются расширения с назначением «Дополнение». Оно может содержать различные дополнительные сервисы для конфигурации (например, набор дополнительных отчетов, обработок).
Так же при работе с расширениями стоит внимательно относится к тому, стоит ли объединять данные одного расширения с данным другого расширения, если они имеют различные назначения. С пример, к чему это привело, можно ознакомиться в описании ошибки «Ошибка при выполнении операции с информационной базой Запись не найдена в менеджере имен базы данных»
Оцените, оказалась ли эта публикация полезна для Вас?
© www.azhur-c.ru 2013-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.
26-02-2021
Журавлев А.С.
(Сайт azhur-c.ru)
Назад
подскажите решение проблемы УНФ 1.6 Платформа 8.3. Создал расширение конфигурации. В форме документа ПриемВремонт добавил 2 новых реквизита и поля ввода для них. Присоединил к основной конфигурации — все работает как надо. Создал обработку для внешней печатной форму документа , макет. При попытке вывести на печать внешнюю форму вылетает ошибка — {ВнешняяОбработка.ВО_Приемвремонт.МодульОбъекта}: Поле объекта не обнаружено (Серийник)
какой именно серийник не видит? ОбластьСтрока.Параметры.Серийник или СсылкаНаДокумент.Серийник
СсылкаНаДокумент.Серийник
У УНФ режим совместимости пока еще 8.3.8
Т.е. с расширением пока облом, придется лезть в основную конфу?
странный ты человек ты на вопросы ответь как ты узнал где именно нет поля «Серийник»? во-вторых — получение реквизита через точку — есть плохо
А при чем тут расширение? Если есть реквизит в объекте, то не имеет никакого значения как именно ты делаешь печатную форму — встроенную, внешнюю, в расширении. >> В форме документа ПриемВремонт добавил 2 новых реквизита Есть подозрение, что никаких реквизитов объекта ты не создал. А есть только реквизиты формы. Если я прав, то в таком случае, реквизиты формы доступны только в контексте работы с этой формой. А стандартная подсистема Печать умеет работать только со ссылками. Стандартные процедуры этой подсистемы не умеют работать с формами объектов. Если мои рассуждения верны, то ты неверно решил поставленную задачу.
я вот тоже удивился, сначала, как это — добавил реквизиты в расширении
Теперь понял, что действительно создал реквизиты формы. теперь все понятно.
Спасибо всем, тема закрыта.
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям
Не видит перечислений расширения конфигурации |
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|