IE 2016

Расширения конфигурации. Полезные советы для разработки

Опубликовал mrXoxot в раздел Программирование - Практика программирования

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

0. Введение

1. Показать/скрыть неизмененные объекты

2. Последовательность выполнения обработчиков

а) Типовой код -> Код из расширения

б) Код из расширения -> Типовой код -> Код из расширения

в) Типовой код -> Код из расширения -> Типовой код

г) Отменить типовые обработчики

3. Создание и использование общего модуля, модуля менеджера или модуля объекта

4. Как подключить отладку

5. Как писать запросы

6. Как сохранять данные

а) Сохранение данных формы

б) Хранилище пользовательских настроек

7. Как добавить свой макет

8. Как подменить кнопку заполнения табличной части

9. Расширение как багфикс

10. Как вывести свою обработку в интерфейс

11. Как перевести расширение на 8.3.8

12. Как подключить расширение

13. Как обновить расширение

Благодарность

Комментарии

 

0. Введение


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

Согласно документации:

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

Основное назначение расширения конфигурации – это доработка прикладного решения при внедрении (или в «облаке») под нужды клиента. При этом дорабатываемую конфигурацию не надо снимать с поддержки. В результате сохраняется простота обновления типового прикладного решения, стоящего на поддержке, с необходимостью выполнять доработки. При разработке расширения следует понимать некоторые особенности функционирования расширения конфигурации. Так, расширяемая конфигурация в любой момент может быть изменена, например, в результате обновления. При этом разработчик расширения не может никак повлиять на возможность или невозможность обновления. Также следует учитывать тот факт, что в системе могут функционировать более одного расширения и автор каждого расширения (в общем случае) не знает, как функционирует другое расширение."

Более подробно о расширениях можно почитать и посмотреть здесь:

Заметки в зазеркалье
Документация
Курсы Гилёва и Насипова
Нюансы расширений
Расширения в 8.3.9 

Ниже я приведу полезные советы для работы с расширениями. 

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


Итак, поехали!


1. Показать/скрыть неизмененные объекты
 

При добавлении новых объектов в расширение также автоматически добавляются связанные объекты. В результате в метаданных расширения скапливается много служебных объектов.
Для того, чтобы показать только измененные объекты есть кнопка “Измененные и добавленные в расширении”. При нажатии отображаются только добавленные вручную и измененные объекты расширения.
Принцип её работы показан ниже:



2. Последовательность выполнения обработчиков
 

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

а) Выполнить сначала типовой код, затем код из расширения:

&НаСервере
Процедура Учеб_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	ДополнительныеПараметры = Новый Структура;
	ДополнительныеПараметры.Вставить("Сообщение", "ПослеТиповогоОбработчика!");
	УстановитьВыполнениеПослеОбработчиковСобытия("ВыполнитьПослеТиповогоОбработчика", ДополнительныеПараметры);
	
КонецПроцедуры

&НаСервере
Процедура ВыполнитьПослеТиповогоОбработчика(Отказ, СтандартнаяОбработка, ДополнительныеПараметры)

	Сообщить(ДополнительныеПараметры.Сообщение);

КонецПроцедуры

б) Выполнить сначала код из расширения, затем типовой код, затем опять код из расширения 

&НаСервере
Процедура Учеб_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	// Процедуры до типовых обработчиков
	Сообщить("До типового обработчика!");
	
	// Устанавливаем обработчик после типового обработчика событий
	УстановитьВыполнениеПослеОбработчиковСобытия("ВыполнитьПослеТиповогоОбработчика");
	// Дальше будет выполнен код из типового обработчика

КонецПроцедуры

&НаСервере
Процедура ВыполнитьПослеТиповогоОбработчика(Отказ, СтандартнаяОбработка, ДополнительныеПараметры)

	// Код после типового обработчика из расширения
	Сообщить("После типового обработчика!");

КонецПроцедуры

в) Выполнить сначала типовой код, затем код из расширения, затем снова типовой код

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

&НаСервере
Процедура Учеб_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	// Процедуры до типовых обработчиков
	Сообщить("ДоТиповогоОбработчика!");
	
	// Процедуры из типового обработчика
	Если НЕ ЗначениеЗаполнено(БанковскийСчет.ВалютаДенежныхСредств) Тогда
		БанковскийСчет.ВалютаДенежныхСредств = ОбщегоНазначенияБПВызовСервераПовтИсп.ПолучитьВалютуРегламентированногоУчета();
	КонецЕсли;
	
	РазместитьКонтактнуюИнформацию();
	
	Если Параметры.Ключ.Пустая() Тогда
		ПодготовитьФормуНаСервере();
	КонецЕсли;
	
	УправлениеФормой(ЭтаФорма);
	
	// Процедуры после типовых обработчиков
	Сообщить("ПослеТиповогоОбработчика!");
	
	// Остановим выполнение типовых обработчиков
	УстановитьВыполнениеОбработчиковСобытия(Ложь);
	
КонецПроцедуры

г) Отменить типовые обработчики 

&НаСервере
Процедура Учеб_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	// Остановим выполнение типовых обработчиков
	УстановитьВыполнениеОбработчиковСобытия(Ложь);
	
КонецПроцедуры


3. Создание и использование общего модуля, модуля менеджера или модуля объекта


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

&НаСервере
Процедура СообщитьДиректораНаСервере()
	
	Должность       = "Директор";
	ФИОРуководителя = "Иванов И.И.";
	Обработки.Учеб_Обработка.СообщитьДиректора(Должность, ФИОРуководителя);
	
КонецПроцедуры

Модуль менеджера обработки:

Процедура СообщитьДиректора(Знач Должность, Знач ФиоРуководителя) Экспорт
	
	ТекстСообщения = СтрШаблон(
		НСтр("ru='%1 %2'"),
		Должность,
		ФиоРуководителя);
		
	Сообщить(ТекстСообщения);
	
КонецПроцедуры

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


4. Как подключить отладку


В типовых конфигурациях на основе библиотеки стандартных подсистем (БСП) при отладке расширений встречается вот такое страшное сообщение:



Оно возникает если в конфигураторе открыто наше расширение и лечится только закрытием окна расширения.

Для того, чтобы подключить отладку в расширении следует использовать ключ командной строки - “РежимОтладки”

Это упрощает отладку кода. В частности:

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

Для того чтобы его установить:

  • Запустить предприятия с ключом командной строки - " /C РежимОтладки "
  • В режиме конфигуратора установить параметр запуска:
    Сервис -> Параметры -> Запуск 1С:Предприятия -> Параметр запуска: ввести строку <РежимОтладки>

 

При первом подключении расширения или при изменении в версии расширения или поставщика, отладка может не подключится с таким же сообщением.

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

1. В конфигураторе закрыть это расширение 
2. Запустить конфигурацию в режиме предприятие и открыть форму, связанную с расширением 
3. Открыть расширение в конфигураторе 
4. Перезапустить отладку.


5. Как писать запросы


Расширение видит и работает только с теми объектами, которые заимствованы из основной конфигурации.
Объекты, которые не заимствованы, в расширении не видны и при попытке обращения к ним, например, в тексте запроса, в режиме “Конфигуратор” вызывают ошибку. Хотя в пользовательском режиме код выполняется без проблем.
Для того чтобы писать или редактировать запросы с большим количеством метаданных лучше воспользоваться любой внешней обработкой. В ней доступны все метаданные из основной конфигурации:



6. Как сохранять данные


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

а) Сохранение данных формы

В редактируемой форме можно установить свойство - “АвтоматическоеСохранениеДанныхВНастройках” в "Использовать" и поставить флаг "Сохранение" над нужными реквизитами. Это позволит сохранять значения реквизитов типовым механизмом платформы:


Такое сохранение данных реализовано здесь.


б) Хранилище общих настроек

В этом хранилище можно хранить любые данные. Подробнее можно почитать здесь.
Рассмотрим пример хранения произвольных данных.

Сохранение данных:

&НаСервере
Процедура ПередЗакрытиемНаСервере()
	
	// Подготовим структуру хранения данных
	СтруктураНастроек = Новый Структура;
	СтруктураНастроек.Вставить("Всем",    Всем);
	СтруктураНастроек.Вставить("Близким", Близким);
	СтруктураНастроек.Вставить("Друзьям", Друзьям);
	// Сохраним данные в хранилище общих настроек
	ОбщегоНазначения.ХранилищеОбщихНастроекСохранить(
		"Учеб_СделатьВсёХорошо",
		"Настройки",
		СтруктураНастроек);
	
КонецПроцедуры

Восстановление данных:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	// Инициализируем структуру
	СтруктураНастроек = Новый Структура;
	// Восстановим сохраненные данные
	СтруктураНастроек = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить(
		"Учеб_СделатьВсёХорошо",
		"Настройки",
		СтруктураНастроек);
	// Заполним значения реквизитов формы
	ЗаполнитьЗначенияСвойств(ЭтаФорма, СтруктураНастроек);
	
КонецПроцедуры

 

7. Как добавить свой макет


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

 

 

 

 

8. Как подменить кнопку заполнения табличной части

 

Иногда может потребоваться и добавить свою кнопку заполнения и оставить типовую кнопку.
Для того, чтобы убрать типовую кнопку подальше, но не удалять её совсем можно установить свойство - “Только во всех действиях” - "Да":

 

 

 

В этом случае кнопка будет доступна из подменю “Еще”. Это позволит в случае непредвиденных ситуаций продолжить работу с типовой функциональностью.

 

9. Расширение как багфикс


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

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

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

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


10. Как вывести свою обработку в интерфейс


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


 

 

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

 

 

 

11. Как перевести расширение на 8.3.8

 

Чтобы перевести расширение на 8.3.8 следует выполнить следующие действия:

1. Снять режим совместимости в расширении.
Установить свойства совместимости такими же как и у основной конфигурации.

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

3. Обновить формы в расширении.
Следует обновить формы расширений из основной конфигурации. Чтобы и в расширении и в конфигурации формы были одинаковыми.

4. Привести компоновку формы к новым правилам движка.
С рекомендациями по адаптации форм к новой платформе можно ознакомиться по этой ссылке

5. Проверить, что расширение выглядит и работает правильно.

 

Более подробно по каждому пункту описано в этой памятке. Там же приведены полезные материалы по теме.


 

12. Как подключить расширение


1. Администрирование - "Печатные формы и обработки"

2. Гиперссылка "Расширения"

3. Кнопка "Добавить" - Выбираем файл

4. Кнопка "Перезапустить"

5. Готово!



13. Как обновить расширение

 

1. Администрирование - "Печатные формы и обработки"

2. Гиперссылка "Расширения"

3. Встаем на нужное расширение

4. "Еще" - Команда "Обновить из файла на диске"

5. Кнопка "Перезапустить"

6. Готово!

 

 

Пока на этом всё!

Благодарность можно выразить денежно, а то кризис, сами понимаете!

 

См. также

Лучшие комментарии

1. ya.Avoronov 12.01.2016 11:06
Очень талантливо сделана публикация! Спасибо! Пишите еще!
* Не знал про отладку в расширениях, очень бывает нужно.
* Запросы можно и в консоле запросов стряпать, удобнее.
* Багфикс согласен, очень действенно.
Ответили: (4)
# Ответить
3. white_sochi 13.01.2016 00:45
Внес свои 5 копеек ))) точнее 4.98, все что было. Спасибо за труд.
Не знал про отладку, раньше писал все в внеш обработках, потом переносил в расширение.
Ответили: (4)
# Ответить
5. FreeArcher 13.01.2016 10:42
Вот проблемы сейчас писать расширения нет, уже много инфы. А вот четкой уверенности, что после обновления измененной типовой формы не приедятся также перерабатывать эту форму в расширении у меня нет. Вот это тормозит применение расширений при доработках конфигурации.
Ответили: (8)
# Ответить

Комментарии

1. ya.Avoronov 12.01.2016 11:06
Очень талантливо сделана публикация! Спасибо! Пишите еще!
* Не знал про отладку в расширениях, очень бывает нужно.
* Запросы можно и в консоле запросов стряпать, удобнее.
* Багфикс согласен, очень действенно.
Ответили: (4)
# Ответить
2. MaxS 12.01.2016 14:24
А ещё, если, например, нужно с помощью расширения всего лишь добавить кнопку на форму документа, то придётся тянуть в расширение всю форму. И при последующем обновлении конфигурации расширение может перестать работать.
Почему нет режима объединения элементов расширения с основной конфигурацией? Добавил бы несколько элементов на форму и они бы объединились по именам.
Пока в некоторых ситуациях удобнее программно добавлять элементы на форму. Расширение и здесь плохо помогает, т.к. в общий модуль нельзя внедриться.
Ответили: (4)
# Ответить
3. white_sochi 13.01.2016 00:45
Внес свои 5 копеек ))) точнее 4.98, все что было. Спасибо за труд.
Не знал про отладку, раньше писал все в внеш обработках, потом переносил в расширение.
Ответили: (4)
# Ответить
4. mrXoxot 13.01.2016 07:20
(1) ya.Avoronov,
Спасибо! Я старался.

(2) MaxS,
И при последующем обновлении конфигурации расширение может перестать работать

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

Безусловно Вы правы!

(3) white_sochi,
Огромное спасибо! Перевод получил и очень Вам признателен.

Кстати, там можно делать переводы и с телефона...
Ответили: (11)
# Ответить
5. FreeArcher 13.01.2016 10:42
Вот проблемы сейчас писать расширения нет, уже много инфы. А вот четкой уверенности, что после обновления измененной типовой формы не приедятся также перерабатывать эту форму в расширении у меня нет. Вот это тормозит применение расширений при доработках конфигурации.
Ответили: (8)
# Ответить
6. Dach 13.01.2016 10:47
Скажите, я правильно понимаю, что теперь благодаря расширениям - можно по сути подписываться на события форм?

"а) Выполнить сначала типовой код, затем код из расширения:"

То есть, например, я хочу знать, что пользователь на форме документа нажал некую очень важную кнопку. Создав расширение и обработчик - могу отслеживать без изменения конфигурации, так?
Ответили: (7)
# Ответить
7. mrXoxot 13.01.2016 11:18
(6) Dach,

Да, именно так. В этом одна из прелестей этого механизма.
# Ответить
8. JohnyDeath 13.01.2016 22:01
(5) вот и я немного прилип после обновления типовой бухгалтерии 3.0. В справочнике "Контрагенты" был переименован реквизит "ОсновнойДоговорКонтрагента" (теперь он "УдалитьОсновнойДоговорКонтрагента") и всё, теперь расширение нерабочее. А допиливал я по мелочи: формы ПКО, РКО, договоры контрагентов
Ответили: (9)
# Ответить
9. mrXoxot 13.01.2016 22:07
(8) JohnyDeath,
Кажется, что в этом случае правильно, что отвалилось расширение.

Потому что если стал реквизит Удалить_, то скорее всего его использовать больше не надо. Было бы гораздо больше проблем, если расширение осталось рабочим, но делало что-то совсем другое.
Ответили: (12)
# Ответить
10. frkbvfnjh 14.01.2016 15:58
Титанический труд! +100500
# Ответить
11. MaxS 15.01.2016 10:12
(4) mrXoxot,
Кажется, это не так. Еще не проверял, но разработчики платформы заявляли...

Проверял таким образом: в БП 3.0.42 в форму документа АктОбОказанииПроизводственныхУслуг добавил элемент, например декорацию. Сохранил это расширение и загрузил в БП 3.0.41. Появилась ошибка, ругается на отсутствующий справочник.
Попробовал в расширении удалить все штатные элементы формы и добавить свой элемент. В предприятии при открытии этого документа пропали все элементы и форма не открылась.

До появления расширений несколько лет эта конфигурация обновлялась с дополнительным общим модулем, где изменения в формы документов вносились программно. Конфликтов небыло ни разу. Расширение пока не решило этот вопрос.
Ответили: (13) (30)
# Ответить
12. JohnyDeath 15.01.2016 20:57
(9) mrXoxot, конкретно в этом случае я просто немного правил под себя типовую форму. А когда первый раз добавлял ее в расширение, то все реквизиты объекта автоматом перешли в расширение. Переименованные реквизиты в расширении вообще не используются, но вот работать перестало все расширение.
Ответили: (13)
# Ответить
13. mrXoxot 16.01.2016 10:49
(11) MaxS, (12) JohnyDeath,
Да, тут вы правы. Расширение еще не умеет всего делать.

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

Я к нему отношусь как к еще одному инструменту, который может подходить для каких-то задач. А для каких-то быть совсем не пригодным. И это нормально, ведь только из-за того, что оно что-то не умеет не нужно ставить на нем крест.
# Ответить
14. tormozit 17.01.2016 09:47
Гифки хороши только для поверхностного просмотра. На них очень мелко и деталей не видно и нельзя на паузу нажать. Поэтому лучше видеоролики, которые например бы открывались по клику на гифке.
Ответили: (15)
+ 1 [ amon_ra; ]
# Ответить
15. mrXoxot 17.01.2016 11:32
(14) tormozit,
Согласен. Попробую в следующий раз. А есть где-нибудь примеры?
+ 1 [ amon_ra; ]
# Ответить
16. Доработай 1С 31.01.2016 16:21
Спасибо за статью!
Очень аккуратно и качественно сделано.
Приятно читать.
# Ответить
17. mrXoxot 06.02.2016 11:51
Искренне благодарю всех, кто перечислил денежку!

Это очень мотивирует.
И дает понимание, что такие публикации кому-то нужны и полезны!
Благодарю!
# Ответить
18. ben_art 26.02.2016 14:53
А свои реквизиты в расширении создавать можно ?
# Ответить
19. Blind_Guardian 01.03.2016 15:59
Хорошая статья, спасибо.
Ответили: (22)
# Ответить
20. sudmorsh 03.03.2016 16:07
Спасибо за статью!
Приятно читать.
Ответили: (22)
# Ответить
21. vlastapov 05.03.2016 14:21
Да, с отладкой расширения другое дело, Большое спасибо за науку.
Ответили: (22)
# Ответить
22. mrXoxot 11.03.2016 12:07
(19) Blind_Guardian, (21) vlastapov, (20) sudmorsh,
Пожалуйста!
+ 1 [ Alister; ]
# Ответить
23. polyaka 14.03.2016 12:22
Очень удобная статья! Коротко и по делу! Спасибо автору!
+ 1 [ mrXoxot; ]
# Ответить
24. polyaka 14.03.2016 12:34
Очень удобный механизм расширений, когда нужно доработать управляемые формы... Иногда правда, когда разработчики меняют названия реквизитов, приходится допиливать расширения заново... Но это не так часто происходит, поэтому можно и пережить этот момент.
Сейчас столкнулась с такой проблемкой, может кто поможет разобраться:
Добавляю в расширение форму, которая вызывается из основной формы объекта, по гиперссылке (например: Конфигурация БП 3.0, документ "Реализация", форма "ФормаДоставка").
Хочу заполнить часть реквизитов на основании данных из основной формы документа. Как это можно сделать?
Как в расширении обратиться к самому объекту?
# Ответить
25. GreenDragon 18.03.2016 11:06
Отличная статья! Также спасибо за дополнительные ссылки.
+ 1 [ mrXoxot; ]
# Ответить
26. zlato 23.03.2016 14:45
Отличная статья! А анимированные изображения облегчают понимание. Спасибо!
+ 1 [ mrXoxot; ]
# Ответить
27. Alister 23.03.2016 19:29
И очень вежливый автор.)
# Ответить
28. mrXoxot 24.03.2016 09:42
Коллеги! Всех поздравляю.
В 8.3.9 будет существенное развитие механизма Расширения конфигурации.
Почитать можно в зазеркалье.

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

Когда вы заимствуете и расширяете какой-нибудь модуль типовой конфигурации, то ваш расширяющий модуль будет находиться в одном пространстве имён с типовым модулем. Поэтому, находясь в расширяющем модуле, вы можете обращаться к любым переменным и методам типового модуля напрямую.
Если же вы находитесь в другом модуле, существующем в расширении, то вам будут доступны ваши же экспортируемые переменные и методы расширяющего модуля. Потому что они добавляются в результирующий публичный контекст типового модуля.
# Ответить
29. Alister 24.03.2016 10:05
Очень интересные возможности открываются.
# Ответить
30. Zhilyakovdr 30.03.2016 10:51
(11) MaxS, Добрый день!
Насколько я знаю, форму в расширении можно обновить из основной конфы, кнопка в конструкторе форм "Обновить расширение формы", при обновлении все изменения остаются, применяются только изменения из основной конфы.
# Ответить
31. bondar_vy@mail.ru 25.04.2016 15:42
Добрый день.
Подскажите пожалуйста куда рыть дальше.
Проблема с ошибкой блокировки расширения конфигуратором. Всё сделал как описано в п.4. Ошибка блокировки не ушла.
На вкладке Дополнительно поставил флажок "Устанавливать режим разрешения отладки". Ошибка блокировки не ушла.
И в запуске предприятия поставил режим отладки.
Снимки экранов приложил в файле. Подскажите пожалуйста что забыл сделать.
Ответили: (32)

Прикрепленные файлы:

После установки параметра не сработало.docx
# Ответить
32. mrXoxot 25.04.2016 15:46
(31) bondar_vy@mail.ru,
Такое может быть при первом подключении расширения или если изменился Поставщик расширения или номер версии.
Для исправления попробуйте следующие действия:
1. В конфигураторе закрыть это расширение
2. В режиме предприятия открыть форму связанную с расширением
3. Открыть расширение в конфигураторе
4. Перезапустить отладку.
# Ответить
33. bondar_vy@mail.ru 25.04.2016 16:17
Спасибо огромное. Помогло. Этот танец с бубнами было бы здорово добавить к п.4.
Ещё раз огромное спасибо.
Ответили: (34)
# Ответить
34. mrXoxot 25.04.2016 23:20
(33) bondar_vy@mail.ru,
Добавил в 4 пункт это уточнение. Спасибо за отзыв!
+ 1 [ Alister; ]
# Ответить
35. bondar_vy@mail.ru 26.04.2016 18:07
День добрый.
Есть ещё один теоретический вопрос. При обновлении основной конфигурации каким образом в расширение подтянуть все изменения. Я такого механизма не нашёл. Нашёл что можно сделать обновление расширенной формы. А всё остальное, то что присутствует в расширении и попало туда с формой как? Или оно обновится автоматически или в расширении только ссылки?
И можно ли обновить скажем все изменённые в расширении формы оптом или надо по одной?
+ 1 [ cleaner_it; ]
# Ответить
36. leonvlas 14.06.2016 13:30
Обновлял зуп. с расширением от внедренца- гемор полный
Инструмент очень далек от реалли и пользоваться им нормально не получится. Это глубокая альфа заявленная в 2014г и до сих пор ею остается.
Если кто соскучился по танцам, то флаг вам в руки.
Ответили: (37) (38) (39)
+ 1 [ Yashazz; ]
− 1 [ mrXoxot; ]
# Ответить
37. Alister 14.06.2016 13:41
(36) leonvlas, а подробности?
# Ответить
38. fomstas 08.07.2016 10:21
(36)leonvlas, Да иногда приходиться переписывать расширение, но так проще найти что нужно переписать! :)
# Ответить
39. Yashazz 19.07.2016 16:12
(36) leonvlas, воистину.

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

Добрый совет: если можете - пилите конфу и не связывайтесь с расширениями. Это полное и безысходное г****.

И ещё - ребятушки, а что, пересказ материалов с ИТС без указания копирайта так высоко котируется?
Ответили: (40) (44)
+ 2 [ smaximaa; james404; ]
− 1 [ mrXoxot; ]
# Ответить
40. mrXoxot 20.07.2016 14:52
(39) Yashazz,

Всё, изложенное в статье, конечно, очень демонстративно, круто и замечательно

Спасибо за оценку!

И ещё - ребятушки, а что, пересказ материалов с ИТС без указания копирайта так высоко котируется?

Странно, я думал ссылка на вашу публикацию и на материалы ИТС в самом начале помогут ознакомиться детальнее с расширениями.
В своей публикации я постарался свести все к маленьким практическим кейсам.
Если, считаете, что это плохо - то можете поставить публикации минус. И тогда, возможно, таких публикаций будет меньше.
# Ответить
41. Nkolp 04.08.2016 13:29
Очень ценная статья - СПАСИБО
# Ответить
42. DrSender 22.08.2016 11:18
Попробовал. Использовать не советую. Много глюков. Неудобно отлаживать.
Ответили: (43)
+ 1 [ Yashazz; ]
# Ответить
43. mrXoxot 22.08.2016 12:37
(42) DrSender,
А в чем сложность отладки? Пробовали это.
# Ответить
44. white-mount 31.08.2016 15:29
(39) Yashazz, Уважаемый, но разве у всех есть под рукой ИТС? Да и остальные не всегда читают весь ИТС, а ведут рубрикатор опубликованного и того меньше.
Статья полезна системным подходом, благодарность автору.
На мой взгляд не хватает предостережений, в этой части с Вами полностью согласен, правильно заточенный инструмент, конфа, надёжней в эксплуатации.
Ответили: (47)
+ 1 [ mrXoxot; ]
# Ответить
45. smaximaa 01.09.2016 14:49
Кто знает, добавляются ли в расширение глобальные параметризуемые команды формы? А то добавил форму, а этих команд нет, без низ мне смысл использовать расширение 0 ((
Ответили: (46)
# Ответить
46. white-mount 02.09.2016 11:28
(45) smaximaa,
а программно создавать при открытии формы не получается?
Хотя есть задача в которой это и мне может потребоваться, нужно будет попробовать.
Ответили: (50)
+ 1 [ smaximaa; ]
# Ответить
47. Yashazz 05.09.2016 20:03
(44) white-mount, вы знаете, что такое нарушение копирайта? Это, на минуточку, нарушение законодательства. А на ИС прям-таки стандартная реакция типа "нуачо" или "а у меня нет ИТС". Вы вообще понимаете, что это статья УК? А не повод вешать плюсики за плагиат?
Ответили: (48)
# Ответить
48. white-mount 05.09.2016 21:57
(47) Yashazz, уважаемый,
white-mount, вы знаете, что такое нарушение копирайта?

Ответ: Да
Вы вообще понимаете, что это статья УК?

Ответ: Нет
Подайте на меня в суд за то, что я на форуме направил Вам message:
Yashazz, Уважаемый, но разве у всех есть под рукой ИТС? Да и остальные не всегда читают весь ИТС, а ведут рубрикатор опубликованного и того меньше.
Статья полезна системным подходом, благодарность автору.
На мой взгляд не хватает предостережений, в этой части с Вами полностью согласен, правильно заточенный инструмент, конфа, надёжней в эксплуатации.
# Ответить
49. Milanick 09.09.2016 13:56
в чем GIFки делали?
Ответили: (60)
# Ответить
50. smaximaa 13.09.2016 10:17
(46) white-mount, программно не пробовал, но сработала другая вещь, надо было добавить зависимые объекты команды и она появилась в параметризируемых
# Ответить
51. smaximaa 13.09.2016 10:20
есть проблема, в определяемых типах нельзя менять тип, выходит ошибка и расширение не запускается, как можно это обойти?
ps. смысл тогда добавлять их в расширение если редактировать нельзя...
# Ответить
52. reznic 17.09.2016 11:04
есть вопрос, как добавить форму без реквизитов в расширение?
Ответили: (53)
# Ответить
53. mrXoxot 17.09.2016 17:41
(52) reznic,
А зачем?
Можно добавить форму к обработке и добавлять любые реквизиты.
Ответили: (54)
# Ответить
54. reznic 20.09.2016 12:50
(53) mrXoxot, вопрос поставил немного не правильно, если быть точнее то как добавлять объект чтобы он не тянул за собой по ссылкам другие объекты
Ответили: (55)
# Ответить
55. mrXoxot 20.09.2016 14:09
(54) reznic,
Никак.
Разработчики писали, что думают как сократить количество ссылок, но совсем от них отказаться не получиться.
Ответили: (56)
# Ответить
56. reznic 20.09.2016 14:24
(55) mrXoxot, смотри, просто мне попалось расширение и в нем добавлена только одна форма для документа, и та без реквизитов, я такого смог добиться только удалив все ненужное потом , как то это странно, неужели все так делают
Ответили: (57)
# Ответить
57. mrXoxot 20.09.2016 14:40
(56) reznic,
К сожалению, мне другой способ не известен.
А чем мешают реквизиты? Ведь можно скрыть неиспользуемые объекты, например так
# Ответить
58. reznic 20.09.2016 14:52
особо ничем, только весом расширения и лишними ненужными элементами
# Ответить
59. TreeDogNight 23.09.2016 12:31
Извиняюсь за вопрос не по теме: С помощью какого софта вы делали GIF-анимацию?
Ответили: (60)
# Ответить
60. mrXoxot 23.09.2016 13:22
(49) Milanick, (59) TreeDogNight,
Гифки я делал так:
1. Снимал видео через Snagit
2. Потом через сервис http://makeagif.com/ переделывал из видео в gif
# Ответить
Внимание! За постинг в данном форуме $m не начисляются.
Внимание! Для написания сообщения необходимо авторизоваться
Текст сообщения*
Прикрепить файл