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

Ошибка в расширении: Добавление колонки реквизита

Я
   Romazan1988

15.11.22 — 17:27

Платформа 8.3.20.1996. В расширении добавлена форма из основной конфигурации. При добавлении колонки реквизита в ТабЧасть формы платформа отказывается работать. Даже при кликании мышкой выскакивает окно прекращение платформы.

Режим совместимости конфы: Версия 8.3.17 ; Режим совместимости расширения: Версия 8.3.14

Ошибка из журнала виндовс: /////

Имя сбойного приложения: 1cv8.exe, версия: 8.3.19.1723, метка времени: 0x637195f8

Имя сбойного модуля: mngdsgn.dll, версия: 8.3.19.1723, метка времени: 0x63719fd2

Код исключения: 0xc0000005

Смещение ошибки: 0x00000000002808ae

Идентификатор сбойного процесса: 0x1994

Время запуска сбойного приложения: 0x01d8f8d6d0523e65

Путь сбойного приложения: C:Program Files1cv88.3.19.1723bin1cv8.exe

Путь сбойного модуля: C:Program Files1cv88.3.19.1723binmngdsgn.dll

Идентификатор отчета: d1a07657-f13c-45f6-b578-bb2bba28d43e

Полное имя сбойного пакета:

Код приложения, связанного со сбойным пакетом:

  

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

   Romazan1988

1 — 23.11.22 — 18:10

1С ответили

[quote]

Добрый день!

По присланным дампам и стеку падения идентифицирована ошибка 60002937

(https://bugboard.v8.1c.ru/error/000130440)

там пока пустое описание, обычно детали появляются по факту исправления,

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

[/qoute]

   Галахад

2 — 23.11.22 — 18:16

Программно добавить не вариант?

   МимохожийОднако

3 — 24.11.22 — 08:02

Попробуй в расширении сделать режим совместимости как у основной конфигурации.

   Lexandr

4 — 24.11.22 — 08:59

(0) Добавлять в расширение форму из основной — не самое лучшее решение.

   Romazan1988

5 — 29.11.22 — 17:58

(4) А как лучше сделать, если необходимо раскрасить данные такой формы?

  

Romazan1988

6 — 29.11.22 — 18:00

(2) Пришлось сделать программный

> Программно добавить не вариант?

(3) Режим совместимости как в основной —  не помог

> Попробуй в расширении сделать режим совместимости как у основной конфигурации.

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

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

Вопрос

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

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

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

Ответ

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

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

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

Проверяем возможность применения расширений конфигурации

Открываем конфигуратор и переходим к списку расширений конфигурации: Конфигурация => Расширения конфигурации. В списке расширений проверяем возможность применения всех расширений конфигурации: Действия => Проверка возможности применения расширений конфигурации.

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

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

Обновляем режим совместимости расширения конфигурации

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

Еще лучшим решением будет снятие контроля за режимом совместимости (система перестанет контролировать это свойство):

Исправляем ошибки изменения свойств объектов и их реквизитов

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

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

Аналогичный подход можно применять для всех свойств объектов и их реквизитов.

Обновляем формы в расширении конфигурации

При переходе на новую версию типовой конфигурации могут измениться формы, которые используются в расширении конфигурации. В платформе предусмотрен механизм быстрого обновления добавленных в расширение форм. Для начала, отобразим в дереве конфигурации расширения только измененные объекты — Действия => Измененные и добавленные в расширении:

Далее открываем нужную форму и нажимаем на кнопку «Обновить расширение формы»:

Переход на платформу 8.3.14 (и выше) и пересоздание расширения конфигурации

Фирма 1С с каждым релизом платформы развивает механизм расширений. Поэтому все расширения можно условно разделять на актуальные и устаревшие. Термин «устаревшие» означает устаревание внутренней структуры расширения относительно последних версий платформ. Первые расширения требовали включения в состав расширения большого количества объектов типовой конфигурации. Это означало, что очень часто такие расширения надо обновлять при обновлении типовой конфигурации. В версиях платформы 8.3.14 и выше добавлены механизмы, благодаря которым в расширение не нужно добавлять все объекты — фактически описываются и захватываются только нужные для доработки объекты типовой конфигурации. Поэтому если у Вас было разработано расширение на платформе 8.3.10 — 8.3.13 — его желательно переработать под актуальные версии платформы.

Если не получилось исправить ошибки?

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

Наши разработки:

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

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

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

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

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

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

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

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

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

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

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

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

Тэги:

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

Skip to content

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

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

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

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

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

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

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

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

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

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

Yulunga

1142 / 689 / 203

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

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

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

1

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

17.11.2017, 11:11. Показов 35405. Ответов 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,160

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

20.11.2017, 08:06

 [ТС]

3

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

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

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

Миниатюры

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



0



1142 / 689 / 203

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

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

Записей в блоге: 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,160

Записей в блоге: 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,160

Записей в блоге: 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.    Почему возникает ошибка при расширении конфигурации

2.    Решение проблемы с ошибкой при расширении конфигурации   

1.    Почему возникает ошибка при расширении конфигурации

Описан готовый механизм решения следующей проблемы:

При добавлении ролей в расширение конфигурации 1С 8.3 нет возможности в режиме предприятия корректно назначить их пользователю с полными правами (Администратору). Т.к. отрабатывает стандартный код общего модуля 1С УправлениеДоступомСлужебный процедуры ОбновитьРолиПользователей, который сбрасывает все роли, переназначая основную (ПолныеПрава) и дополнительную (ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок).

А теперь разберем пример на «простом языке».

Была задача создать новые роли в расширении. Режим совместимости конфигурации ниже 8.3.13 (т.е. нет возможности применения «Основные роли» в том числе). При назначении ролей полноправным пользователям выявлена проблема: роли из расширения конфигурации 1С 8.3 недоступны (по вышеуказанной причине).

2.    Решение проблемы с ошибкой при расширении конфигурации

Решение можно реализовать как в текущем, так и в отдельном расширении:

1. Добавить в расширение общий модуль УправлениеДоступомСлужебный:

2. Заменить процедуру ОбновитьРолиПользователей

Копировать код 1С:Предприятия из основной конфигурации. Между строк вставить код:

 

(!) Тут укажите имя своего расширения, которое содержит ваши роли:

3. Подключите (или обновите) расширение.

4. Назначьте эти роли в режиме 1С:Предприятия
(Роли – в Профиле, Профиль – в Группе доступа, Группу доступа – полноправному пользователю).

Специалист компании «Кодерлайн»

Антонова Юлия.

Понравилась статья? Поделить с друзьями:
  • Акционерное общество строительная компания мост
  • 1с получение значений дополнительных реквизитов
  • Азбука вкуса нижегородская улица 16 часы работы
  • Авто страховая компания альфастрахование отзывы
  • Акционерное общество телефонная компания сотком