0. Yashazz 2323 05.01.16 16:12 Сейчас в теме

Расширения конфигурации. Нюансы поведения

Предлагаю дополнения к документации, полученные опытным путём. Это поможет лучше понять специфику поведения расширений и учесть "подводные камни".

Перейти к публикации

Вознаграждение за ответ
Показать полностью
Комментарии
Избранное Подписка Сортировка: Древо
1. ekaruk 4264 06.01.16 22:46 Сейчас в теме
Спасибо, полезный обзор.
Действительно в работе с расширениями сейчас много нюансов.

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

Если нужное мне изменение укладывается в эти принципы, то скорее всего его можно реализовать в расширении.
2. DitriX 1622 07.01.16 05:25 Сейчас в теме
Работаю с расширениями уже долго. Вполне сносно.
За исключением багов с динамическими списками, когда в список документов добавляешь свои поля, и потомзначения этих полей выводятся в первой колонке списке. Например, я добавил поле СтатьяДДС, и значение этих статей теперь появляется (дублируется) там, где должен быть номер документа.
Что самое смешное - если передвинуть на первую колонку дату, то теперь данные меняться будут в дате. А Номер бует нормально.
Решение простое - надо переименовать первую колонку, например, в НомерДокумента. И тогда все ок.

Статья большая, но вы ее разбавьте как то оформлением, что бы было за что глазу зацепиться, а то читать не удобно. И картинки вставьте лучше в саму статью, а то бегать в блок картинок - ваще не айс.
melik.kasumov; mrXoxot; h00k; dj_serega; Abbra; CyberCerber; support; +7 Ответить
3. Yashazz 2323 07.01.16 14:31 Сейчас в теме
(2) DitriX, а равно и все читатели - заранее извиняюсь, но это - уже вершина оформления, которой я смог достигнуть за полтора часа извращённого этсамого. Форматирование было, и было оно гораздо лучше, нежели вы видите. Но по малопонятным причинам движок ИС не позволил мне ни вставить картинки в текст, ни сохранить исходное форматирование. Как и всегда, впрочем.

DitriX, твой пример погоняю, поэкспериментирую, и вставлю в статью, можно?
7. DitriX 1622 07.01.16 23:30 Сейчас в теме
(3) конечно можно.
Открою секрет как офрмлять статьи - берешь пишешь все в доке, потом сохраняешь док в html и вставляешь исходник сюда :)

9. Yashazz 2323 08.01.16 10:15 Сейчас в теме
(7) DitriX, ага, ага. Этот способ тоже не прокатил. Это ж первое, что приходит в голову. Поэтому я так не люблю писать статьи на ИС, а в публикации по веб-сервисам вообще плюнул и прицепил сам вордовский файл.
11. ekaruk 4264 09.01.16 17:34 Сейчас в теме
(9) На самом деле редактор достаточно сносный.
Я при необходимости просто переключаюсь в режим html и правлю исходный текстовый вариант оформления.
Выдели хотя бы жирным подзаголовки (кнопочка "B"). Уже будет гораздо удобнее.
12. Yashazz 2323 11.01.16 11:43 Сейчас в теме
(11) ekaruk, что мог, то поправил. А редактор этот просто с моим браузером не дружит, видимо.

Так всё же, были у тебя проблемы с переходом расширений с 8.3.6 на 8.3.7, или прошло гладко?
13. ekaruk 4264 11.01.16 14:09 Сейчас в теме
(12) Не было проблем. Работает аналогично 8.3.6.
4. mszsuz 74 07.01.16 15:35 Сейчас в теме
Для отладки расширений с конфигурациями на основе БСП, разработчиками предусмотрен параметр запуска приложения "РежимОтладки"
Его можно указать и в конфигураторе: Сервис -> Параметры -> Запуск 1С:Предприятия -> Параметр запуска: <ввести строку РежимОтладки>.
Ссылки по теме:
https://partners.v8.1c.ru/forum/topic/1394558
http://its.1c.ru/db/bspdoc#content:531:hdoc
5. Yashazz 2323 07.01.16 16:18 Сейчас в теме
(4) mszsuz, беценно! Спасибо! Эту страничку видел, но сеть так тормозила, что не дождался открытия, а зря)

Кстати, вот с этим:
Поменял у расширения версию и синоним — схема перестала работать, опять БП ругается на блокировку расширения.
Всё восстановилось только после полного ТиИ и последовательности запусков: 1) Конфигуратор и Закрыть, 2) БП и Закрыть, 3) Конфигуратор - далее всё работает, как должно.
иногда всё бывает хуже, конфигуратор безо всяких БП может сглючить, как я показал на рис.2, лучше так не делать вообще.

Сегодня же дополню обзор указанной фичей.
24. Yashazz 2323 17.02.16 15:16 Сейчас в теме
(4) mszsuz, как показал эксперимент, конфигурации поколения УТ 11.2.3 плевать хотели на "РежимОтладки".

Очень предметно хочется сказать пару ласковых криворуким писателям этой УТ.
27. Sergafan10 15.03.16 09:39 Сейчас в теме
(24) отлаживается всё на УТ 11.2.3.66 благодаря РежимОтладки, платформа 7.1949
28. Yashazz 2323 17.03.16 00:57 Сейчас в теме
(27) Sergafan10, вот чесслово, на той же 11.2.3.66 не реагировало. Правда, у меня релиз был 1917. Ну или руки у меня кривые совсем, что тоже не исключено... Или "везуха" такая.
Спасибо, учту.
6. Yashazz 2323 07.01.16 17:30 Сейчас в теме
Ещё замечу: возможность создания собственных обработок позволяет организовать программный код расширения по их менеджерам, что по сути аналогично созданию своих общих серверных модулей.

А что касается сведений в http://its.1c.ru/db/bspdoc#content:531:hdoc, то они тоже не вполне точны. В БСП, встроенной в УТ 11.2, параметр "ОтключитьЛогикуПриНачалеРаботыСистемы" нигде не упоминается, например, а эксперимент с параметром "РежимОтладки" тоже показал, что всё не так просто: при первичной регистрации расширения (первого запуска системы вообще или первого запуска с расширением) оно должно быть сохранено и закрыто в конфигураторе; у него обязательно должны быть непустые поставщик и версия. Только после такой регистрации можно держать его открытым, указав "РежимОтладки".
8. CyberCerber 237 08.01.16 10:04 Сейчас в теме
Спасибо за обширную статью.
Да, всяких "интересных" сюрпризов при работе с расширениями возникает немало.
Вот, например, нетривиальная была задача вставить в расширение регистр бухгалтерии. Задавал вопрос на эту тему: https://partners.v8.1c.ru/forum/topic/1377887

Но вообще механизм расширений мощный и постоянно развивается. А у вас такая статья грустная получилась, что кажется, лучше его вообще не использовать. :-) В конце бы хоть немного позитива добавили...
И по оформлению, да, добавьте яркости в однородную буквенную массу. Хотя бы подзаголовки выделите жирным.
16. Yashazz 2323 17.01.16 18:25 Сейчас в теме
(8) CyberCerber, а что весёлого-то? Что при самых невинных операциях с расширениями конфигуратор тихо падает? Я уж утомился считать ситуации, при которых это происходит. Кривая полусырая подсистема в сплошном потоке наспех сляпанных релизов - это действительно грустно.

И да, я ещё раз повторюсь - если есть возможность не использовать какую-то "новинку" от 1С, то не используйте. Пока минимум релизов четыре-пять не сменится, и её хотя бы относительно не доведут до ума.

Но, к сожалению, если раньше можно было "отсидеться" на стабильных релизах, то теперь 1С насильно загоняет пользователей в кривые, зато "новые" релизы 8.3. Что обидно, большинство молча терпит - начиная от рядовых региональных франчей и заканчивая разработчиками самих типовых конфигураций.
10. JohnyDeath 291 08.01.16 15:50 Сейчас в теме
Для меня самое главное разочарование - невозможность встроить расширения в типовой механизм обмена между распределенными базами.
Подробнее задавал вопрос здесь: https://plus.google.com/u/0/+ЕвгенийМартыненков/posts/X3TVCGg4NGD
14. dezzarr 5 12.01.16 10:35 Сейчас в теме
После обновления основной конфы (проверял на паре БП и ЗУП 3.0) начинается форменный песец. Измененные формы из расширений просто отваливаются от своих родителей, и лечится это только полным удалением их из расширения, заимстованием по-новой, и переносом изменений. Так и не понял как это победить, вернул изменения в основную конфу. Сыровато.
15. Yashazz 2323 14.01.16 10:59 Сейчас в теме
Интересную штуку пронаблюдал с планами видов характеристик. Наследуем ПВХ (остаются только простые типы), добавляем свой тип (сняв флажок контроля), система его спокойно сохраняет и подключает расширение, но - увы, поля такого типа "характеристик" не могут содержать значения добавленного типа; преобразуют его в строку. Пичаль.
17. Yashazz 2323 22.01.16 16:07 Сейчас в теме
И ещё раз о косяках платформы: если вы добавили реквизит в расширение формы, и он упомянут где-то в вашем (расширенном) коде формы, то при попытке его удалить конфигуратор аварийно завершится. Ситуация стабильно воспроизводится на всех релизах 8.3.6 и 8.3.7
Комментарии излишни)))
19. JohnyDeath 291 28.01.16 23:55 Сейчас в теме
(17), (18)
Баги зарегистрировал в 1с?
20. Yashazz 2323 29.01.16 01:10 Сейчас в теме
(19) JohnyDeath, неа. Смысл? Я представляю себе, как этот багтрекер разбирается и принимается к сведению. Смысла дёргаться нету ни-ка-ко-го.
Я уж лучше тут соберу пройденные грабли, дабы оно было общедоступно.
21. JohnyDeath 291 30.01.16 10:59 Сейчас в теме
(20) как это нет смысла? Как вообще разработчики платформы должны по твоему узнавать о багах? Читать все форумы про 1С?
И почему ты думаешь, что смысла нет? Я, наверное, уже с десяток багов зарегистрировал. ВСЕ были исправлены.

Странный подход. Очень странный.
22. Yashazz 2323 31.01.16 14:01 Сейчас в теме
(21) JohnyDeath, очень просто.
1. Я наивно полагаю, что бета-тестирование не должно производиться на конечных потребителях ПО. Я считаю, что баги такого характера должны вылавливаться на этапах до широкой публикации и уж тем более до оголтелых призывов переходить на такие релизы и юзать такие доработки. Узнавать о багах следует от своих тестировщиков, работающих по систематизированной схеме проверки основных механизмов, которую частично отработал я, когда готовил эту статью. Хотя я ни разу не тестер...

2. Все форумы читать не надо. Раз ИС позиционирует себя как крупнейший, а с определённого времени партнёрский и, чего там, частично финансируемый и крышуемый фирмой 1С, то вполне достаточно читать тут.

3. Я знаю, что смысла нет. Я примерно знаю внутреннюю кухню и не питаю иллюзий. Ошибки исправляются хаотично, непредсказуемо и спонтанно, и чем дальше, тем хаотичнее. Ну, зарегистрирую я ошибку, и что? Года через три её вдруг исправят, мне и моим пользователям от этого не легче, если у них здесь и сейчас фатально глючит. Конечная цель автоматизации - работающая эффективная система, и телодвижения по регистрации ошибок влияют на достижение этой цели негативно, т.к. я, тратя время на регистрацию и общение с поддержкой (простихосспади) ухожу из области своих возможностей в сферу зависимости от 1С. Но ключевое, всё же, именно трата времени на "регистрацию ошибки". Я лучше обходной костыль сделаю, чем ждать у моря погоды.
fuxic; smaximaa; lisrws; Ali1976; scanner1980; +5 Ответить
18. Yashazz 2323 28.01.16 22:27 Сейчас в теме
До кучи: есть табличная часть объекта, взятая в расширение, и реквизит типа одного из справочников, который тоже в расширении есть. При попытке открыть конструктором запрос в обработке, созданной в расширении, где на этот реквизит наложено условие, ругается, что нельзя сравнивать поля "тра-ля-ля". При попытке открыть ровно этот же запрос в коде конфы или во внешней обработке всё ОК. Красота.

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

Что-то, смотрю, тишина в теме. Мне одному везёт, или все считают, что так и надо?
23. Yashazz 2323 01.02.16 22:48 Сейчас в теме
Следующий баг платформы: в расширенной форме, унаследованной от документа типовой, группа формы с элементами делалась и отлаживалась в режиме "Такси". В результате, если запускать в другом режиме, то эту группу не видно. Другие - да, а эту почему-то нет, хотя сделано таких было несколько. Только "Такси" и никак иначе.
25. mszsuz 74 19.02.16 23:01 Сейчас в теме
Это не писатели УТ, а писатели БСП и причем у них тоже похоже связаны руки.
Я на оф.форуме предложил очень простое решение этой проблемы - не удалять расширение, а определять с помощью ОбъектМД.Родитель().ПринадлежностьОбъекта, но там сказали что это "незапланированное поведение" и ждите, короче, пока исправим.
26. mszsuz 74 19.02.16 23:31 Сейчас в теме
"А мы пока лучше сделаем круглые кнопки и удалим линейку прокрутки, потому что через 5 лет это будет круто, просто вы ещё об этом не знаете"
29. Yashazz 2323 17.03.16 15:11 Сейчас в теме
30. хакер 23.03.16 13:48 Сейчас в теме
Платформа 8.3.7.1970 , конфигурация УТ(11.2.3.108, при попытке добавить в действующее расширение формы списка журнала документов "Документы продажи", расширение перестает работать, может кто нибудь сталкивался с подобным ?
31. Yashazz 2323 24.03.16 13:38 Сейчас в теме
Мало им было старых косяков и кривизны, так они ещё добавить хотят: http://v8.1c.ru/o7/201603module/index.htm
Имхо, просто издеваются. Хотя, может, лет через 10 (когда уже будут активно продвигать сырую, неудобную и стрёмную 1С 9.9) эта механика чуток устаканится и кое-чем даже можно будет пользоваться.
32. MaxS 1405 25.03.16 14:53 Сейчас в теме
Во внешних обработках можно программно установить разрешение, например, для доступа к временным файлам, А как тоже самое в расширении, которое работает в безопасном режиме разрешить некоторые действия?
33. AndreykO 4 14.04.16 08:07 Сейчас в теме
У нас клиент-серверная 1С 8.3.7.1845 и Документооборот 8 КОРП, редакция 2.0 (2.0.15.6), расширение одно, в нём добавлена пара обработок и изменены некоторые заимствованные формы. В целом, расширения как инструмент для нашей пользы хороши, но есть моменты, с которыми не удалось справиться:
1. Многие формы "искривляются". При добавлении в расширение формы "ФормаТекущиеДела" обработки "ТекущиеДелаДокументооборот" из основной, поля виджетов на этой форме изменили свои размеры - это форма начальной страницы простых пользователей, заметно сразу. Также сильно нехорошо получается с формой "ФормаСписка" журнала документов "ЭлектроннаяПочта": когда письмо содержит вложения, поле "ПредпросмотрHTML" очень мало по ширине и текста письма совсем не видно.

2. Если добавить в расширение форму "ФормаСписка" журнала документов "ЭлектроннаяПочта", то при запуске в пользовательском режиме вываливается ошибка: "Ошибка подключения расширения: ... - Ошибка свойства РегистрируемыеДокументы у объекта ЖурналДокументов.ЭлектроннаяПочта". При чём, заставил себя, потратил много времени (минут 7) и добавил в расширение всё содержимое документов "ВходящееПисьмо" и "ИсходящееПисьмо" - реквизиты, табчасти, формы, команды - не взлетело. Не помогла также отметка обоих документов в списке "Регистрируемые документы" в палитре свойств этого журнала в расширении.

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

Хммм. Эксперементировал и разобрался :)
с первым: у самого расширения в палитре свойств есть "Режим совместимости" - ставим "8.3.6" и в конфигурации, соответственно тоже "8.3.6" (так и есть в типовой в стоке) - в результате размеры окошек в порядке и "раздвигалка" на месте.
со вторым: вообще убрать галку "Регистрируемые документы" в палитре свойств журнала в расширении - работает )) правда, теперь эта форма мне не нужна, но опыт зачтён. :)
34. v3rter 06.05.16 17:51 Сейчас в теме
Читаю http://v8.1c.ru/o7/201603module/index.htm и понимаю, что для появления вредоносных расширений осталось дописать возможность их программной установки или установки из командной строки. Кроме шуток.
35. Yashazz 2323 08.05.16 12:33 Сейчас в теме
(34) v3rter, мне тут кошмар приснился, будто пытаюсь я обойти невозможность команды "Выполнить" в веб-клиенте следующим образом: из какого-то макета распаковываются исходные файлы мини-расширения, ну как обычная выгрузка в файлы, сохраняются куда-то в темпы на клиентской машине, в xml-исходнике формы делается правка со вставкой туды этого несчастного выполняемого кода; потом (как, не знаю, но во сне получилось) всё это собирается в cfe, и оно тут же подключается. Жесть.
36. Alex_E 1918 08.05.16 12:46 Сейчас в теме
(34) v3rter,
что для появления вредоносных расширений осталось дописать возможность их программной установки или установки из командной строки. Кроме шуток.
- а появление вредноносных внешних обработок Вас не пугает? Они, к слову из командной строки спокойно могут запускаться....
JohnyDeath; +1 Ответить
37. hulio 51 23.06.16 13:38 Сейчас в теме
(34) v3rter, (36) Alex_E, кто-то явно прочитал эту ветку форума )))
http://1c.ru/news/info.jsp?id=21537
38. tormozit 4954 10.11.16 10:20 Сейчас в теме
EDT уже поддерживает редактирование расширений? Вроде не встречал инфы про их поддержку в описании.
39. tormozit 4954 12.11.16 17:42 Сейчас в теме
Как массово добавить объекты из конфигурации (CF) в расширение (CFE)?
40. ret 51 18.11.16 12:12 Сейчас в теме
А в хранилище конфигурации для совместной доработки как-то расширение вставляется? Или пока ничего нет такого?
41. e.kogan 1840 28.02.17 22:48 Сейчас в теме +300 $m
Мне вот грустно, да. Ну ладно пришлось врубить изменяемость типовой конфе, чтобы воткнуть пару реквизитов туда, куда никак иначе не втыкалось. Но форма-то! вытащила в расширение, всё-всё-всё в расширении уже есть, и реквизиты, и типы оных... и вот вроде в расширении добавлены оба нужных реквизита на форму... и даже запустить удалось, привет всем безопасным режимам... только вот почему-то добавленный реквизит простого типа видно, а типа ссылки на справочник (справочник в расширении есть!) - нету. Хотя добавляла на форму одновременно.
Молчу уже про регулярные пропадания расширения в никуда.
8.3.9.2170.
42. гаврюша 3 05.03.17 20:32 Сейчас в теме
Может кто подскажет что делать:
Конфигурация ERP платформа 8.3.9.2170 есть расширение.
При обновлении до релиза 2.2.2.199 проблемы с расширением не возникло, все запустилось.
При обновлении основной конфигурации до релиза 2.2.2.212 расширение не запускается.
Ошибка: Значение контролируемого свойства Type у объекта InformationRegister.РеестрДокументов.Resource.Сумма не совпадает со значением в расширяемой конфигурации.

Что делать, чтобы работало расширение? И как можно избежать подобных ситуаций после обновления релизов?
43. JohnyDeath 291 05.03.17 23:47 Сейчас в теме
Очевидно, что в новом релизе изменили тип ресурса (наверное увеличили длину числа).
Надо "обновить" тип этого ресурса в расширении
44. гаврюша 3 06.03.17 11:17 Сейчас в теме
45. Yashazz 2323 06.07.17 12:12 Сейчас в теме
Из описания "новенького" в 8.3.10:
Справка, открываемая в расширяемой конфигурации, включает в себя справочную информацию по объектам расширения.
Справочная информация расширения конфигурации используется при поиске по справке.

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


Ага, а вот теперь, господа разработчики 1С, идите и верните нам того клиента, который, во многом по этой причине, из-за справки, полтора года назад сказал, что "фигня эти ваши расширения" и ушёл к франчу, смело принявшемуся пилить саму конфу.

Просто уже зла не хватает, так их разэдак.
46. D.B.Sokolov 49 17.08.17 01:35 Сейчас в теме
8.3.10.2252
Создал свой макет печатной формы документа, скопировав существующий. Сперва создал его в расширении. Вроде всё работает, но есть нюанс. Если отключить вывод дополнительной колонки печати (Код/Артикул). То ширина колонки "Товар" увеличивается каждый раз при печати документа. Сколько раз вывели на печать, столько раз добавилась. И так до бесконечности. Закрытие окна с табличным документом не сбрасывает ширину колонки, она остаётся в памяти. Проблема решилась только переносом макета из расширения в основную конфигурацию.
47. D.B.Sokolov 49 18.08.17 15:51 Сейчас в теме
Формы рабочей области начальной страницы, добавленные в расширении конфигурации, не видны в режиме 1С:Предприятие?
48. Yashazz 2323 13.04.18 09:41 Сейчас в теме
Релиз 8.3.10.2699. Добавляю новое расширение с назначением "Дополнение". При попытке открыть окно расширения из списка расширений конфигуратор тихо падает. Красота, что можно сказать...
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Москва
Полный день

Программист 1С
Видное
Полный день

Программист 1С
Москва
зарплата до 120 000 руб.
Полный день

Консультант-аналитик 1С
Москва
зарплата от 100 000 руб. до 170 000 руб.
Полный день