1с в расширении недоступны реквизиты формы

В расширении на форме не отображается реквизит

Я
   ВикторП

02.12.19 — 10:07

В расширение заимствована форма.

реквизит выводится на форме в расширении.

По кнопке проверить (Chtrl+R) — отображается как надо.

В режиме предприятия- нет отображения

В том же расширении есть другой объект с заимствованной формой и добавлениями на форме в расширении, где все ОК.

Видео на курсы по 1с видел  https://курсы-по-1с.рф/news/2017-11-24-forms-customization-by-using-extensions/

Оно не совсем актуально, поменялась кнопка Обновить расширение формы.

Расширение с формой, в которой все ОК, создавал на 8.3.15.1700. вторую форму, которая не отражается , создавал на 8.3.15.1565, пересоздавал на 8.3.15.1700- не изменилось

Что-то я не «просекаю» , что надо сделать для отображения добавленных на форму расширения новых элементов?

  

Партнерская программа EFSOL Oblako

   spiller26

1 — 02.12.19 — 10:11

(0) Уже было недавно

   ВикторП

2 — 02.12.19 — 10:14

Можешь ссылку дать?

   spiller26

3 — 02.12.19 — 10:16

(0) Смотри «Пользовательскую видимость» элемента формы

   Cyberhawk

4 — 02.12.19 — 10:17

Рестарт кластера с очисткой кэшей

   Cyberhawk

5 — 02.12.19 — 10:17

Забаловались совсем с динамическими обновлениями

   VladZ

6 — 02.12.19 — 10:18

(0) Какие-то роли заимствовал в расширении из основной конфы?

   spiller26

7 — 02.12.19 — 10:21

   ВикторП

8 — 02.12.19 — 10:23

(3) это точно ни при чем,проверял

(4) не проверял

(5) нет динамических обновлений — все на сервере разработки

(6) роли не заимствовал — это тут ни при чем, у меня в том же расширении есть форма с добавленными реквизитами, которые отображаются

   Cyberhawk

9 — 02.12.19 — 10:34

(8) «нет динамических обновлений» // Лол

   ВикторП

10 — 02.12.19 — 10:50

(9) это правда, на этом сервере пока я один

   Cyberhawk

11 — 02.12.19 — 11:06

(10) То, что расширения конфигурации провозглашаются как технически отличающиеся от динамического обновления (мол, это не динамическое обновление), не лишает их тех же самых артефактов, что и при динамическом обновлении

   ВикторП

12 — 03.12.19 — 10:13

Сделал обходным путем, как в (7).

Сделал расширение на платформе 8.3.13 :( . Дальше как обычно — заимствовал форму, добавил в расширении реквизит — он, крокодил, сразу отображается.

Потом переношу базу , которая на другой платформе(к счастью, позволяет режим совместимости)- отображение не пропадает.

  

ВикторП

13 — 03.12.19 — 10:20

* в базу

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

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

Вопрос

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

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

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

Ответ

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

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

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

Skip to content

1С, как добавить, изменить реквизит формы объекта через расширение

Как добавить, изменить реквизит формы через расширение

В новых версиях платформы, при изменении типовых форм, стандартные и новые реквизиты (добавленные в расширение) по умолчанию недоступны: их нельзя изменить, ни добавить в форму. Дело в том, что немного изменился механизм добавления реквизитов в расширение, для изменения типовых форм объектов.

Вам необходимо выполнить следующие действия:

  • В дереве метаданных нажать правой кнопкой мыши на реквизит -> «Добавить в расширение» -> выбрать расширение;

  • Перейти в расширение конфигурации, открыть форму, в которую планируем добавить (или изменить) реквизит -> в области справа выделить реквизит -> нажать правую кнопку мыши -> «Добавить реквизит»;

Почему в новой платформе изменился данный механизм?

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

Реквизиты, которые возможно изменить в форме выделяются черным цветом, а недоступные — серым. При этом при обновлении реквизиты в старых расширениях будут сразу доступны для редактирования.

Связанные статьи

Yulunga

1142 / 689 / 203

Регистрация: 22.04.2013

Сообщений: 5,161

Записей в блоге: 1

1

расширения и недоступные реквизиты

17.11.2017, 11:11. Показов 35430. Ответов 8

Метки нет (Все метки)


добрый день.
был запрос в 8.2

1C
1
2
3
4
5
6
7
8
9
10
11
Запрос = Новый Запрос; 
    Запрос.Текст = 
        "ВЫБРАТЬ
        |   Контрагенты.Ссылка КАК Поставщик,
        |   Контрагенты.ОсновнойДоговорКонтрагента КАК Договор,
        |   Контрагенты.ОсновнойДоговорКонтрагента.ВалютаВзаиморасчетов КАК Валютадоговора
        |ИЗ
        |   Справочник.Контрагенты КАК Контрагенты
        |ГДЕ
        |   Контрагенты.ИНН = &ИНН";   
    Запрос.УстановитьПараметр("ИНН", КонтрагентИНН);

теперь собираюсь его же забацать в 8.3 с расширением
но там нет договора контрагента
делаю так :

1C
1
2
3
4
5
6
7
8
9
10
ВЫБРАТЬ
    ДоговорыКонтрагентов.Ссылка КАК Ссылка,
    ДоговорыКонтрагентов.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
    Контрагенты.Ссылка КАК Ссылка1
ИЗ
    Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
        ПО (Контрагенты.Ссылка = ДоговорыКонтрагентов.Владелец.Ссылка)
ГДЕ
    Контрагенты.ИНН = &ИНН

в консоли запросов работает. в расширении — нет. говорит нет ничего . добавил реквизит валюта взаиморасчета. окей.
но владельца-то нет. и как мне теперь связать таблицы ?



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

17.11.2017, 11:11

8

Эксперт 1С

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

Цитата
Сообщение от Joker_vad
Посмотреть сообщение

нужно добавить и все справочники, что могут быть его владельцем.

там родитель — справочник.контрагенты. а он добавлен. засада (

Миниатюры

расширения и недоступные реквизиты
 



0



1142 / 689 / 203

Регистрация: 22.04.2013

Сообщений: 5,161

Записей в блоге: 1

20.11.2017, 08:26

 [ТС]

4

прикольно. надо добавить форму списка в расширение. тогда всё появляется )
логики не вижу. прочитал в другом интернете. может кто пояснить, при чём тут ФОРМА ?



0



Joker_vad

Эксперт 1С

476 / 413 / 93

Регистрация: 26.09.2012

Сообщений: 1,907

20.11.2017, 17:32

5

На м..сте нашел что нужно получить поля через * т.е

1C
1
2
3
4
 ВЫБРАТЬ *
    
ИЗ
    Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов



0



1808 / 1228 / 442

Регистрация: 16.01.2015

Сообщений: 5,396

20.11.2017, 17:49

6

Цитата
Сообщение от Yulunga
Посмотреть сообщение

может кто пояснить, при чём тут ФОРМА ?

Yulunga, Еще как причем. Добавляя форму в расширение, автоматом добавляются все связанные с формой реквизиты, все Справочники документы перечисления, чей тип установлен для полей формы.
Но я вам подскажу одну фишку расширений, вернее запросов в ней. Делайте запрос в основной конфе и переносите ТЕКСТ запроса в модуль в расширении. Проверка синтаксиса в расширении даст ошибку, но запрос в режиме предприятия будет работать

Добавлено через 7 минут

Цитата
Сообщение от Yulunga
Посмотреть сообщение

там родитель — справочник.контрагенты. а он добавлен. засада (

А на скрине как раз реквизит Контрагент в справочнике ДоговорыКонтрагентов, в расширение не перенесен. Просто перенесите этот реквизит в расширение и все



1



1142 / 689 / 203

Регистрация: 22.04.2013

Сообщений: 5,161

Записей в блоге: 1

20.11.2017, 18:27

 [ТС]

7

Цитата
Сообщение от polax
Посмотреть сообщение

Проверка синтаксиса в расширении даст ошибку, но запрос в режиме предприятия будет работать

а, это слово-в-слово я где-то прочитал сегодня. но не вчитался. теперь понял.

Цитата
Сообщение от polax
Посмотреть сообщение

Добавляя форму в расширение, автоматом добавляются все связанные с формой реквизиты,…

теперь понятно, спасибо, вник.

Цитата
Сообщение от polax
Посмотреть сообщение

А на скрине как раз реквизит Контрагент в справочнике ДоговорыКонтрагентов, в расширение не перенесен. Просто перенесите этот реквизит в расширение и все

так в этом и был вопрос — как ?
потому что реквизита контрагент не было. переносить было нечего. это и есть родитель.



0



1808 / 1228 / 442

Регистрация: 16.01.2015

Сообщений: 5,396

20.11.2017, 19:13

8

Цитата
Сообщение от Yulunga
Посмотреть сообщение

а, это слово-в-слово я где-то прочитал сегодня. но не вчитался. теперь понял.

Чест слово не копипастил))) Но… для удобства работы, сам всегда переношу все что надо в расширение

Цитата
Сообщение от Yulunga
Посмотреть сообщение

теперь понятно, спасибо, вник.

И…. одна из задач после окончания написания расширения, удалить ВСЕ, что не задействовано в его работе (то что задействовано, не даст удалить. начинать надо с реквизитов форм и подниматься выше по иерархии)

Цитата
Сообщение от Yulunga
Посмотреть сообщение

потому что реквизита контрагент не было. переносить было нечего. это и есть родитель

Это в справочнике ДоговорыКонтрагентов НЕТ реквизита Контрагент?!!! Может вы не поняли? Надо реквизит справочника из основной конфигурации перенести в расширение. На реквизите в основной пр кн мыши — добавить в расширение



0



1142 / 689 / 203

Регистрация: 22.04.2013

Сообщений: 5,161

Записей в блоге: 1

21.11.2017, 07:24

 [ТС]

9

Цитата
Сообщение от polax
Посмотреть сообщение

Это в справочнике ДоговорыКонтрагентов НЕТ реквизита Контрагент?!!!

см. рисунок.

Цитата
Сообщение от polax
Посмотреть сообщение

Может вы не поняли?

я наверно плохо объясняю.
родитель — это и есть контрагент, естественно. но его нету.
ладно, с формой списка добавилось. теперь не могу сч/ф провести, пока с этим борюсь )

Миниатюры

расширения и недоступные реквизиты
 



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

21.11.2017, 07:24

9

Не отображается элемент формы

1С программа которая есть абсолютно в каждой организации. Как и все в нашем мире она не совершенна. Типовые конфигурации не всегда отвечают всем требованиям предприятий. Поэтому очень часто их дорабатывают дописывают сторонние программисты. Вот после таких доработок можно столкнуться с проблемой. Когда на форме не видно какого либо элемента. Давайте расскажу вам как можно исправить данную ситуацию и сделать так чтобы все элементы отображались.

И так что делать если у пользователей не отображается какой либо элемент на форме. Для начала нужно войти в 1С под администратором и если у него все ОК, проверяем настройки видимости.

На форме не видно элемент

Для примера возьму один самописный документ. Пользователь открывает его и не видит поле «Подразделение».

1 21

2 18

Открываем конфигуратор, ищем этот документ, открываем его форму и кликаем на элементе который не отображается ПКМ и выбираем «Свойства».

3 17

В окне свойств ищем пункт «Пользовательская видимость» открываем. В настройка видимость отмечаем пункт «Видимость».

4 12

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

Источник

Реквизиты в расширении и изменение формы.

А что, там все так печально сейчас? Расширения же еще с бородатых 8.3.6 (а может и раньше) платформ ввели

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

В режиме 1С:Предприятие происходит формирование результирующего объекта объединением расширяемого и всех расширяющих объектов. Процесс объединения работает следующим образом:

1. Выполняется объединение расширяемой конфигурации и первого (по порядку регистрации) расширения.

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

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

1. Если изменений нет ‑ компонента берется из расширяемого объекта;

2. Если изменение есть только в расширяемой форме ‑ компонента берется из расширяемой формы;

3. Если изменение есть только в расширяющей форме ‑ компонента берется из расширяющей формы;

4. Если изменение есть и в расширяемой форме и в расширяющих формах ‑ компонента берется из расширяющей формы.

Сопоставление компонентов управляемой формы выполняется по имени соответствующего элемента.

Вышеописанный режим не действует:

1. Для условного оформления. В этом случае происходит объединение элементов условного оформления из расширяемой формы и всех расширяющих форм аналогично тому, как это происходит при объединении конфигураций.

2. Командный интерфейс результирующий формы формируется путем добавления элементов командного интерфейса из расширяющей формы к командному интерфейсу расширяемой формы. При этом возможна ситуация, когда на форме будут несколько команд с одинаковым представлением, т. к. они образованы командами из разных расширений, но с одинаковым представлением.

При определении порядка элементов результирующей управляемой формы вначале определяется возможность расположить элементы без конфликтов размещения. Если такая возможность есть, то порядок элементов результирующей формы определяется следующим образом:

● Элементы формы, добавленные в начало списка (не важно, в расширении или в расширяемой конфигурации), останутся в начале списка независимо от изменения порядка остальных элементов. Сначала будут идти элементы формы из расширений (в порядке следования), а потом из расширяемой конфигурации.

● Элементы формы, добавленные в конец списка (не важно, в расширении или в расширяемой конфигурации), останутся в конце списка независимо от изменения порядка остальных элементов. Сначала будут идти элементы формы из расширяемой конфигурации, потом из расширений (в порядке следования).

● Также существует возможность располагать рядом с элементом расширяемой формы другие элементы формы. Для этого следует создать в расширении группу, в которую поместить элемент расширяемой формы, и те элементы, которые необходимо рядом. Тогда при смене местоположения оригинального элемента в расширяемой форме, в результирующей форме на новом месте окажется и вся группа, в которую был помещен этот элемент.

Если без конфликтов порядок определить нельзя, используется следующий алгоритм:

● Исходным выступает список элементов расширения в порядке, который установлен в расширении.

● Для определения положения элемента, добавленного в основной конфигурации, находится элемент, существующий в сохраненной конфигурации и расположенный перед добавленным элементом (в порядке основной конфигурации):

● В соответствии с порядком элементов в расширении, определяется, какой элемент является следующим ‑ существовавший или добавленный в расширении:

● Если существовавший, то элемент основной конфигурации добавляется после найденного элемента.

● Если элемент или элементы, добавленные в расширении, то элемент основной конфигурации добавляется после них.

● Если в основной конфигурации было добавлено несколько элементов, то последующие элементы добавляются после предшествующих добавленных, даже если предшествующие уже были добавлены расширением.

● Если элемент, после которого элементы были добавлены, не найден в расширении (например, удален), то ищется предыдущий существующий в порядке основной конфигурации. Если при поиске достигнуто начало списка элементов, то новый элемент (или группа новых элементов) добавляется в начало результирующего списка, но после новых элементов расширения добавленных в начало списка.

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

● Новые элементы основной конфигурации, добавленные в конец списка, добавляются перед новыми элементами расширения, добавленными в конец списка.

● Если при добавлении оказывается, что элемент уже был добавлен расширением, то такой элемент пропускается.

● Удаляются элементы, которые были удалены в основной конфигурации по сравнению с сохраненной версией.

Источник

Как обращаться к добавленным реквизитам в расширении

если платформа 8.0, то никак

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

Доработка модулей в расширении
Чтобы доработать модуль конфигурации, нужно добавить его в расширение. Заимствовать отдельно сам модуль нужно только в том случае, если вы хотите добавить туда собственную процедуру или функцию.

Чтобы доработать уже существующий метод модуля, достаточно просто поместить курсор внутрь этого метода и выбрать из контекстного меню команду Добавить в расширение. При этом если модуль еще не заимствован в расширение, то он заимствуется.

Поведение платформы в случаях, когда расширяется метод из модуля формы и когда расширяется метод из любого другого модуля, различается.

При расширении методов из любых модулей, кроме модулей форм, происходит следующее:

Разработчику предлагается выбрать аннотацию для расширения метода (Перед, После или Вместо). При этом если в модуле уже существуют расширения данного метода, то имена использованных для этого аннотаций выделяются полужирным шрифтом с пометкой «уже создан».
Если выбран способ расширения метода, уже существующий в расширении, то выполняется переход к этому методу. При этом возможна корректировка объявления метода, если оно стало отличаться от расширяемого метода.
Если выбран несуществующий способ расширения, то в расширении будет создан новый метод, который будет предваряться соответствующей аннотацией.
При этом надо учитывать:
что для функций недоступны аннотации Перед и После;
для процедуры недоступны:
аннотация Вместо, если уже существуют методы с аннотациями Перед или После;
аннотация Перед/После, если уже существует метод с аннотацией Вместо.
При расширении методов из модулей форм происходит следующее:

Если расширяемый метод является обработчиком одного события или одной команды, то предлагается выбрать, каким образом выполнить расширение данного метода: как расширение для обработчика события/команды или как расширение обычного метода с аннотацией.
Если расширяемый метод является обработчиком для нескольких событий или команд, то будет сформировано предупреждение о том, что данный метод не может быть расширен как обработчик события/команды и он будет расширен только как обычный метод. Затем будет предложено выбрать способ расширения метода.
Для обычного метода, не являющего обработчиком какого-либо события, будет выполнено расширение метода с использованием аннотаций.
Следует учитывать, что если расширяемый метод обрамлен инструкциями препроцессора, то эти инструкции не будут перенесены в расширение.

Директивы компиляции, предваряющие расширяемую процедуру в модуле формы, должны совпадать с директивами этой процедуры в расширении. Иначе расширяющий метод выполняться не будет.

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

Источник

Или не туда тыкаю или не тем. Почему то у наследованного объекта не дает создать новый реквизит, а лишь форму менять и модули. А так совсем не комильфо. Хочу чтоб отдельное коробочное расширение, которое каждая бабушка могла насадить в режиме предприятия на БП30 и вуаля — отраслевой продукт. Разве не в этом конечный смысл?

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

Лень сейчас искать, но 1с писала. что расширения — не для выпуска отраслевых предназначены, а для доработки при внедрении.

Обработку можно положить в расширение ))

И да, реквизиты менять нельзя. Зайди хотябы на ИТС:

В расширениях можно изменять только то, что не приводит к реструктуризации: формы, отчеты, обработки и т.д. Смотри

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

скучно тогда. все ради того чтобы цвет у формы поменять

не получится писать в одному месте. и расширение местами удобно и чтото посерьезней всеравно снимать с поддержки и править основную. а потом секс при обновлении

вмешиваться в метаданные дадут не скоро, а скорей всего вообще не дадут, ибо начнется адъ и хаос. не только. мысли шире — расШИРения жеж) обработок напихал и профит!

>> Расширение не дает добавить свой реквизит. Так и надо? Да. И так будет всегда. (во всяком случае пока). >> кроме расширения надо вкладывать в коробку обработку по созданию таких доп. реквизитов Ждите выхода 8.3.9 Там можно будет расширять общие модули. Это позволит дописывать в расширении свои обработчики обновления конфигурации. В этих обработчиках пиши всё что тебе нужно, в том числе и добавление своих допреквизитов или допсвойств. А вообще по сути про тиражные решения уже всё написали. Расширения не для того предназначены.

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

Тэги:

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

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