Как я пытался перевести 1С 8.2 на расширение конфигурации

31.05.16

База данных - Обновление 1С

Имея нетиповую 1С Бухгалтерия 8,2 решил перенести все доработки в 1С 8.3 в расширение конфигурации, и что из этого получилось.

Тем, кто ещё не знаком с термином "Расширение конфигурации", советую прочесть следующую публикацию, так любезно предоставленную нам 1С ИТС: http://its.1c.ru/db/v83doc#bookmark:dev:TI000001523

А также на официальном сайте 1С:  http://v8.1c.ru/o7/201410ext/

Моими исходными данными были конфигурация 1С Бухгалтерия 8.2, сильно доработанная в ряде документов и в учете. И все это нужно было перевести на 1С:Предприятие 8.3 (8.3.6.2041) Бухгалтерия предприятия, редакция 3.0 (3.0.38.55) . Для переноса интерфейсных решений и отредактированных форм решил использовать Расширение конфигурации.

Создать расширение не составило труда. Решил начать переносить самые ходовые объекты, в моем случае это был Справочник Договоры контрагентов и Справочник Контрагенты.

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

Более легкий способ для решения подобной задачи, это создать ФормуЭлемента, чтобы на ней отразились все Реквизиты Справочника, и заимствовать в расширение эту форму, тогда все ваши реквизиты перейдут в расширение и все связанные с ними объекты, после чего уже можно приступить к доработке.

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

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

Следующая особенность Расширения - это то, что в программном коде внутри Расширения можно обращаться только к тем элементам, которые есть внутри текущего расширения. То есть если вам нужно программно обратиться к справочнику, например:

Справочники.Склад

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

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

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

Для решения данной проблемы необходимо  в конфигураторе (Сервис -> Параметры -> Запуск 1С:Предприятия -> Параметр запуска) указать параметр "РежимОтладки". После чего будет возможно проводить отладку.

ПРИМЕР:

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

Это только на уровне программы. Запуск у пользователей состоится через 2 недели. Тогда и ожидаю увидеть основные проблемы и нюансы.

расширение

См. также

Работа с интерфейсом Обновление 1С Программист Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 3.0 Бесплатно (free)

После обновления УНФ до 3.0.10.178 у ряда клиентов исчезла часть функционала: отчёт "Движение товаров", кнопка "Глаз" в Расходной накладной, часть документов складских перемещений. Для решения проблемы надо установить константы, чьё название подпадает под шаблон "Использовать подсистему NNN (Константы)" и соответствует "пропавшему" функционалу по смыслу.

16.01.2025    463    dime2    0    

3

Обновление 1С Программист Платформа 1С v8.3 1С:Управление торговлей 10 Россия Бухгалтерский учет Налоговый учет Управленческий учет ИП, ПБОЮЛ, КФХ НДС УСН Абонемент ($m)

Обновление, доработка для 1С: Управление торговлей 10.3 (УТ 10.3) организаций на упрощенной системе с 2025 года для использования ставок НДС 5 и 7 % в документах и печатных формах документов. Начиная с релиза 10.3.40.

4 стартмани

10.01.2025    1881    42    zhuravlev_as    37    

6

Обновление 1С Программист Платформа 1С v8.3 Бесплатно (free)

В статье рассматривается использование WinMerge для сравнения, объединения и обновления конфигураций 1С. Отдельно рассматривается методика трехстороннего сравнения при обновлении конфигурации

21.10.2024    3347    mixaeel    18    

17

Обновление 1С Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

Те кто объединял конфигурации находящиеся на поддержке, обновлял подсистемы БСП прекрасно помнят упражнение «10000 тысяч кликов мышкой» или, непонятное словесное заклинание, после которого конфигурация снимается с поддержки целиком.

1 стартмани

26.09.2024    671    7    milkers    2    

7

Обновление 1С Пользователь Платформа 1С v8.3 1С:Управление торговлей 11 Россия Бесплатно (free)

Вышел новый релиз для УТ11 5.19.63. На копии базы было выполнено обновление и вылезли проблемы с номенклатурой, подлежащей маркировке. В публикации описаны проблемы, обнаруженные в копии базы конкретной организации.

24.09.2024    1299    gull22    2    

9

Обновление 1С Программист Платформа 1С v8.3 Бесплатно (free)

Как исправить медленное сравнение конфигурации с файлом cf, сохраненным из хранилища.

17.09.2024    4699    vatkir    15    

10
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. amon_ra 61 27.10.15 21:38 Сейчас в теме
вот уж интересненько) недавно сам задался перенести все в расширение, но откинул эту затею так как нет возможности обратиться к модулям объекта и менеджера. Что же посмотрим, что у вас будет дальше!
2. awk 745 27.10.15 22:15 Сейчас в теме
Также после каждого перенесенного реквищита конфигурация

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


Надо бы поправить... И о чем статья?
disa_ostr; Betis; +2 Ответить
5. Painted 49 28.10.15 10:47 Сейчас в теме
Дополню (2) awk,
так как они не пресутствуют на типовой
заимствовать в расширение Эту форму
соответствующего справочникак
ну и т.д.
13. пользователь 06.11.15 11:03
Сообщение было скрыто модератором.
...
14. пользователь 06.11.15 13:49
Сообщение было скрыто модератором.
...
3. Поручик 4661 28.10.15 00:15 Сейчас в теме
Только я один обратил внимание на "компилятор" в 1С?
yuryshestakov; shalimski; Bassgood; +3 Ответить
4. Артано 795 28.10.15 02:43 Сейчас в теме
(3) awk в сообщении выше тоже обратил. Опечатался человек, вместо отладчик написал компилятор, бывает
NazarovV; 1cmax; jaroslav.h; +3 Ответить
6. qwed557 30 28.10.15 11:13 Сейчас в теме
Смысл перетаскивать все в расширения если все равно курочите типовые справочники добавлением своих реквизитов? Для хранения ваших реквизитов можно было бы добавить новый регистр сведений и хранить в нем все что вашей душе угодно, и подтягивать данные при открытии из этого регистра Тогда не пришлось бы курочить типовые объекты, а так не вижу смысла в данных извращениях.
jokereinherjar; Ali1976; ixijixi; +3 Ответить
7. insurgut 208 28.10.15 12:36 Сейчас в теме
(6) qwed557, а нельзя обойти при помощи использования дополнительных реквизитов?
8. Perk0n 13 28.10.15 13:50 Сейчас в теме
Брутальный инфостарт превращается.. превращается... в элегантную мисту.
Хабр пока стоит.
artichoke; +1 Ответить
9. ivanov660 4592 28.10.15 16:24 Сейчас в теме
Пока еще рано использовать расширения, слишком слабый поддерживаемый функционал. Возможность добавлять свои отчеты и обработки, так в БСП уже существует подсистема дополнительных отчетов и обработок.
Добавили хотя бы возможность добавлять общие модули и подписки в расширение, то уже можно о чем-то думать. Расширение пока даже не дотягивает до минимальных потребностей, на мой взгляд.
jokereinherjar; +1 Ответить
10. Letos 268 28.10.15 16:29 Сейчас в теме
(9) ivanov660, если вам нужно изменить что-то в работе функционала формы, то он весьма не плох. Да, соглашусь, многое приходится менять в самой конфигурации. Но у меня работа построена таким образом, что получается избежать изменение в типовых объектах 1С. Использование расширение позволяет свести к мнимому трудозатраты при обновлениях.
11. oberonm 9 29.10.15 07:39 Сейчас в теме
Был негативный опыт по переходу на расширение при доработке Документооборота. клиенты в локальной сети не испытывали проблем, то для удаленных клиентов (тонкий клиент через веб) пошли странный ошибки. из серии что форма расширения видна, а вот процедуры формы нет. Помогало переключение скорости соединение на "обычное".
И что ещё замечено - неудобство работы с расширениями при групповой разработке в тестовых базах. приходится переподключать расширение на "боевую" отдельно
12. Mortiferus 363 29.10.15 09:04 Сейчас в теме
Следующая особенность Расширения - это то, что в программном коде внутри Расширения можно обращаться только к тем элементам, которые есть внутри текущего расширения.

ну так про это в одной из статей, которые вы приводите вначале, так прямо и написано, чему же тут удивляться или возмущаться? внимательней надо читать...
15. insurgut 208 06.11.15 14:00 Сейчас в теме
Думаю будут не против: http:// /news/how-2-use-extensions-in-8-3-6/ - как всегда все аккуратно, четко и по теме.
artichoke; +1 Ответить
Оставьте свое сообщение