Как я пытался перевести 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С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Зарплата и Управление Персоналом 2.5 Бухгалтерский учет Налоговый учет Управленческий учет Акцизы ЕНВД ЕСН Земельный налог ИП, ПБОЮЛ, КФХ Налог на имущество Налог на прибыль НДС НДФЛ ФОМС, ЕФС Транспортный налог УСН ПСН (патентная система налогообложения) Платные (руб)

Обновления для конфигураций: КА 1.1; ЗУП 2.5; БУХ 2.0; КА 1.1 Комплексная автоматизация торговли алкогольной продукцией; КА 1.1 Комплексный учет сельскохозяйственного предприятия

27900 руб.

01.04.2020    147137    649    360    

235

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

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

21.10.2024    2696    mixaeel    18    

17

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

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

1 стартмани

26.09.2024    503    3    milkers    2    

7

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

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

24.09.2024    875    gull22    2    

8

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

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

17.09.2024    4383    vatkir    15    

10

Обновление 1С Пользователь Платформа 1С v8.3 1С:Управление торговлей 11 Абонемент ($m)

Упрощенное обновление конфигураций 1С (предпочтительно самописных) с помощью батника и Яндекс Диска (по публичной ссылке)

1 стартмани

22.08.2024    561    0    user1694357    0    

4

Обновление 1С Системный администратор Россия Абонемент ($m)

На ИТС есть статья, в которой поверхностно описан процесс автоматического обновления тонких клиентов. В качестве примера, что логично, представлены методы конфигурации 1С. Но, в отличие от того же управления списками баз, для обновления не требуется хранить информацию, потому я решил переписать код на php, чтобы можно было отвязаться от 1С. Не работает для файловых баз, подключенных как File="ПутьКПапкеБазы"; (а жаль), для опубликованных файловых - работает.

1 стартмани

20.08.2024    689    MikeSh    10    

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. amon_ra 61 27.10.15 21:38 Сейчас в теме
вот уж интересненько) недавно сам задался перенести все в расширение, но откинул эту затею так как нет возможности обратиться к модулям объекта и менеджера. Что же посмотрим, что у вас будет дальше!
2. awk 744 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. Поручик 4692 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 4578 28.10.15 16:24 Сейчас в теме
Пока еще рано использовать расширения, слишком слабый поддерживаемый функционал. Возможность добавлять свои отчеты и обработки, так в БСП уже существует подсистема дополнительных отчетов и обработок.
Добавили хотя бы возможность добавлять общие модули и подписки в расширение, то уже можно о чем-то думать. Расширение пока даже не дотягивает до минимальных потребностей, на мой взгляд.
jokereinherjar; +1 Ответить
10. Letos 267 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 Ответить
Оставьте свое сообщение