Как грамотно перевести реквизит из одного типа в другой? (в расширении)
Привет!
Помогите, пожалуйста, разобраться со следующим вопросом.
Исходные данные:
Есть расширение. В нем есть документ «Заявка». У него есть реквизит «Статус» - тип «Перечисление».
Задача:
Перевести Статус из Перечисления в Справочник.
Как я делал:
- реквизит переименовал в «Удалить Статус»
- добавил новый реквизит «Статус»
- при запуске систему добавил обновление: во всех заявках прописывается реквизит «Статус» на основании «Удалить Статус».
Все отработало отлично.
Проблема:
Существует несколько различный версий расширений, и они все немного видоизменены друг от друга.
Поэтому они будут обновляться через «Сравнить-объединить» ( а не полной загрузкой cfe)
При этому получается следующее:
- «Статус» перезаписывается, т.е. обнуляется.
- «Удалить Статус» - просто добавляется новый пустой реквизит.
Таким образом мы не сможем установить нормально перезаписать статусы.
Вопрос: каким образом можно обновиться методом «Сравнить, Объединить» без потери статусов?
Возможное решения:
1. выпускать промежуточные версии для обновления, но с обязательным контролем порядка обновлений.
Например в первой версии мы бы добавили временный реквизит, куда бы перекинули текущие статусы.
А во втором обновлении мы бы из временного реквизита переписали в уже нормальный.
Но хочется расмтореть что-то попроще.
Помогите, пожалуйста, разобраться со следующим вопросом.
Исходные данные:
Есть расширение. В нем есть документ «Заявка». У него есть реквизит «Статус» - тип «Перечисление».
Задача:
Перевести Статус из Перечисления в Справочник.
Как я делал:
- реквизит переименовал в «Удалить Статус»
- добавил новый реквизит «Статус»
- при запуске систему добавил обновление: во всех заявках прописывается реквизит «Статус» на основании «Удалить Статус».
Все отработало отлично.
Проблема:
Существует несколько различный версий расширений, и они все немного видоизменены друг от друга.
Поэтому они будут обновляться через «Сравнить-объединить» ( а не полной загрузкой cfe)
При этому получается следующее:
- «Статус» перезаписывается, т.е. обнуляется.
- «Удалить Статус» - просто добавляется новый пустой реквизит.
Таким образом мы не сможем установить нормально перезаписать статусы.
Вопрос: каким образом можно обновиться методом «Сравнить, Объединить» без потери статусов?
Возможное решения:
1. выпускать промежуточные версии для обновления, но с обязательным контролем порядка обновлений.
Например в первой версии мы бы добавили временный реквизит, куда бы перекинули текущие статусы.
А во втором обновлении мы бы из временного реквизита переписали в уже нормальный.
Но хочется расмтореть что-то попроще.
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) Да, тоже так думал. Но есть такой момент:
- в итоге в новых версиях захочется избавиться от уже ненужного перечисления.
Если мы захотим его удалить, тогда надо будет вводить понятие "Промежуточный релиз и контроль порядка обновления" (я описывал как возможное решение), т.к. если обновиться сразу на актуальный релиз (уже без перечисления), то у нас обнулятся Статусы.
- если же мы сохраним Перечисление (переименовав в "Удалить..."), тогда нам придется всегда поддерживать этот составной тип (в запросах и пр.)
Тогда уже лучше его выделить в отдельный реквизит...
- в итоге в новых версиях захочется избавиться от уже ненужного перечисления.
Если мы захотим его удалить, тогда надо будет вводить понятие "Промежуточный релиз и контроль порядка обновления" (я описывал как возможное решение), т.к. если обновиться сразу на актуальный релиз (уже без перечисления), то у нас обнулятся Статусы.
- если же мы сохраним Перечисление (переименовав в "Удалить..."), тогда нам придется всегда поддерживать этот составной тип (в запросах и пр.)
Тогда уже лучше его выделить в отдельный реквизит...
(6)
И что?
Вместе с расширением поставлять файл ReadMe.txt и/или UpdateXXX аналогично типовым конфигурациям/библиотекам, в которых прописать требования для работы/обновления расширения.
Не прочитали - ваши проблемы - восстанавливайте из бэкапа.
- в итоге в новых версиях захочется избавиться от уже ненужного перечисления.
Если мы захотим его удалить, тогда надо будет вводить понятие "Промежуточный релиз и контроль порядка обновления" (я описывал как возможное решение), т.к. если обновиться сразу на актуальный релиз (уже без перечисления), то у нас обнулятся Статусы.
Если мы захотим его удалить, тогда надо будет вводить понятие "Промежуточный релиз и контроль порядка обновления" (я описывал как возможное решение), т.к. если обновиться сразу на актуальный релиз (уже без перечисления), то у нас обнулятся Статусы.
И что?
Вместе с расширением поставлять файл ReadMe.txt и/или UpdateXXX аналогично типовым конфигурациям/библиотекам, в которых прописать требования для работы/обновления расширения.
Не прочитали - ваши проблемы - восстанавливайте из бэкапа.
(7)
Да, этот вариант есть сейчас. Но ищу более попроще ...
И что?
Вместе с расширением поставлять файл ReadMe.txt и/или UpdateXXX аналогично типовым конфигурациям/библиотекам, в которых прописать требования для работы/обновления расширения.
Не прочитали - ваши проблемы - восстанавливайте из бэкапа.
Вместе с расширением поставлять файл ReadMe.txt и/или UpdateXXX аналогично типовым конфигурациям/библиотекам, в которых прописать требования для работы/обновления расширения.
Не прочитали - ваши проблемы - восстанавливайте из бэкапа.
Да, этот вариант есть сейчас. Но ищу более попроще ...
При сравнении объединении конфигураций, на сколько я помню можно указать руками соответствие объектов/реквизитов
если ПКМ щелкнуть по реквизиту "Статус" то там есть "отменить соответствие объектов" и после этого к "Удалить статус" можно будет привязать освободившийся "Статус" из конфы которая накатывается
если ПКМ щелкнуть по реквизиту "Статус" то там есть "отменить соответствие объектов" и после этого к "Удалить статус" можно будет привязать освободившийся "Статус" из конфы которая накатывается
(3)
Возможно, но дело в том, что другие расширения будет обновлять другой специалист, который может не обладать такой информацией.
Т.е. надо такое решение, при котором обновление проходит по простой схеме
сколько я помню можно указать руками соответствие объектов/реквизитов
если ПКМ щелкнуть по реквизиту "Статус" то там есть "отменить соответствие объектов" и после этого к "Удалить статус" можно будет привязать освободившийся "Статус" из конфы которая накатывается
если ПКМ щелкнуть по реквизиту "Статус" то там есть "отменить соответствие объектов" и после этого к "Удалить статус" можно будет привязать освободившийся "Статус" из конфы которая накатывается
Возможно, но дело в том, что другие расширения будет обновлять другой специалист, который может не обладать такой информацией.
Т.е. надо такое решение, при котором обновление проходит по простой схеме
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот