Как перенести форму документа (справочника, ...) из одного документа (справочника, ...) в другой похожий документ (справочник, ...)

26.11.14

Разработка - Механизмы платформы 1С

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

Как перенести форму документа (справочника,...) из одного документа (справочника,...) в другой похожий документ (справочник, ...)

(Пробовал на 1С:Предприятие 8.3.5.1248)

 

Имеем:

Переделанная конфигурация Бухгалтерия 3.х

В которую добавлены следующие документы:

АвансовыйОтчет2

АвансовыйОтчет3

ПриходныйКассовыйОрдер2

ПриходныйКассовыйОрдер3

РасходныйКассовыйОрдер2

РасходныйКассовыйОрдер3

 

Эти документы полностью идентичны документам:

АвансовыйОтчет

ПриходныйКассовыйОрдер

РасходныйКассовыйОрдер

 

ЗЫ: Почему так сделано - в другом посте («Как НЕ НАДО Изменять конфигурацию»)

Задача:

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

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

В модуле обновления ИБ добавить обработчики обновлений на созданные документы.

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

 

При попытке изменить Тип Реквизита «Объект» все элементы формы теряли путь к данным, ладно бы «поля ввода» можно было выбрать заново «путь к данным», но с табличными частями вообще труба, при выборе в «Таблице» все колонки в этом элементе банально удалялись.

Можно, конечно, потратить кучу времени и вручную продублировать все то, что есть в форме оригинала, но я нашел другой путь!

Решение:

В 8.3 есть такая фишка, как выгрузка конфигурации в файлы

Получим кучу файлов, нужно найти нужный нам файл формы документа

И в нем указать другой тип объекта:

Было:

Стало: 

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

После загрузки получаем результат:

Загруженную сохраняем в файл и объединить с обновляемой и вуаля.

скопировать форму заменить форму форма форму перенести форму

См. также

Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

23.06.2024    7459    bayselonarrend    20    

154

Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Пример использования «Сервисов интеграции» без подключения к Шине и без обменов.

13.03.2024    5947    dsdred    16    

80

Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 Бесплатно (free)

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

24.01.2024    17674    YA_418728146    26    

71

Перенос данных 1C Механизмы платформы 1С Системный администратор Программист Стажер Платформа 1С v8.3 Бесплатно (free)

Вы все еще регистрируете изменения только на Планах обмена и Регистрах сведений?

11.12.2023    11227    dsdred    44    

130

Механизмы платформы 1С Программист Бесплатно (free)

Язык программирования 1С содержит много нюансов и особенностей, которые могут приводить к неожиданным для разработчика результатам. Сталкиваясь с ними, программист начинает лучше понимать логику платформы, а значит, быстрее выявлять ошибки и видеть потенциальные узкие места своего кода там, где позже можно было бы ещё долго медитировать с отладчиком в поисках источника проблемы. Мы рассмотрим разные примеры поведения кода 1С. Разберём результаты выполнения и ответим на вопросы «Почему?», «Как же так?» и «Зачем нам это знать?». 

06.10.2023    23763    SeiOkami    48    

135

Механизмы платформы 1С Системный администратор Платформа 1С v8.3 Бесплатно (free)

Начиная с версии платформы 8.3.22 1С снимает стандартные блокировки БД на уровне страниц. Делаем рабочий скрипт, как раньше.

14.09.2023    18835    human_new    27    

80

WEB-интеграция Универсальные функции Механизмы платформы 1С Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

28.08.2023    14735    YA_418728146    7    

166
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. script 128 26.11.14 12:24 Сейчас в теме
Отлично. Проверю на обычных формах, но думаю результат будет положительным
2. mulla1979 9 28.11.14 11:18 Сейчас в теме
Автору +. Возьму на заметку
3. elizarovs 83 03.12.14 12:28 Сейчас в теме
Не понял. А где "+" можно поставить? Или я отстал и плюсы уже не ставим? Поставил звёздочку. Вроде бы счетчик увеличился.
4. lefthander 03.12.14 13:31 Сейчас в теме
Хорошая идея. Спасибо.
5. gigagr 03.12.14 16:03 Сейчас в теме
Возьму на заметку ... интересное решение
6. SemenovaMarinaV 04.12.14 10:36 Сейчас в теме
Интересно. Сама не додумалась
7. glek 120 08.12.14 14:28 Сейчас в теме
Класс. Тоже долго думал. Но времени особо не было, поэтому пошел по пути перепривязывания реквизитов
8. acsent 1203 08.12.14 15:57 Сейчас в теме
А как же одинаковые id форм, не заглючит на этом месте?
9. RomanBor 118 08.12.14 22:44 Сейчас в теме
(8) acsent, Ну вроде как перенеслось все ок
10. fomix 33 12.12.14 10:57 Сейчас в теме
(9) Ссыкотно конечно воспользоваться способом, который вы предлагаете, но как говорят: "Кролики кололись и плакали, но продолжали жрать кактус...". Ведь другого способа пока в 1С не придумали.
11. b-dm 174 12.12.14 15:10 Сейчас в теме
Я тоже перепривязыванием реквизитов решил проблему. Но этот подход также интересный...
12. dim0n_la 94 17.12.14 17:42 Сейчас в теме
Раз все так сложно, то почему бы просто не создать новую конфигурацию, в которую скопировать весь объект. Переименовать его как надо, выгрузить и сравнить объединить?
u_n_k_n_o_w_n; alexscamp; +2 Ответить
14. RomanBor 118 19.12.14 15:39 Сейчас в теме
(12) dim0n_la,
Раз все так сложно, то почему бы просто не создать новую конфигурацию, в которую скопировать весь объект. Переименовать его как надо, выгрузить и сравнить объединить?

возможно сработает кстате
13. sergey_irk 19.12.14 00:51 Сейчас в теме
Прикольное решение. Попробую
15. artbear 1563 24.12.14 21:08 Сейчас в теме
Нормальное решение.
ИМХО для обычных сложнее, т.к. 1С обычные формы выгружает в виде бинарников.
Бинарники распаковывать другими средствами либо конфигурацию разбирать/собирать другими средствами, не штатными от 1С,
16. KliMich 24.12.14 23:49 Сейчас в теме
Спасибо за статью!
Новое всегда интересно!
17. alexscamp 28.12.14 18:47 Сейчас в теме
К сожалению, одна из немногих статей, но к счастью - как раз одна из тех, что абсолютно корректно, методически верно и с понятным практическим применением описывает проблему и ее неординарное решение, которое может многим оказаться полезным. Автор молодец! Возможно, по аналогии с рассматриваемой проблемой, так можно будет решить и какие-то другие.
dim0n_la - тоже правильная идея)
Оставьте свое сообщение