Изменение типа поля существующего документа

Создание новых типов документов


Ответить
avkim
Пользователь
Сообщения: 186
Зарегистрирован: 03 апр 2012, 05:54
2 + 2 = ?: 4

Изменение типа поля существующего документа

Сообщение avkim » 13 дек 2012, 07:37

Добрый день!
У нас есть созданные нами формы документов. В них описаны поля. Например, поле "Объект" сделали справочным. Работали с ним, создали много документов. Теперь понадобилось, чтобы это поле "Объект" сделать справочным многозначным. Если я просто поменяю тип поля, то в уже созданных документах это поле становится пустым. Как можно поменять тип поля и при этом не потерять данные из старого типа поля? Такое возможно? Или подскажите, как лучше поступать в аналогичных случаях, т.к. такое бывает периодически необходимо делать.

Аватара пользователя
Andrew
Разработчики FossDoc
Сообщения: 869
Зарегистрирован: 26 дек 2008, 16:03

Re: Изменение типа поля существующего документа

Сообщение Andrew » 13 дек 2012, 09:56

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

Итак, откройте в админке один из таких документов, включите вверху показ "скрытых свойств", в результате появится скрытое поле, которое содержит ваши "пропавшие данные".

1) Сделайте снимок экрана вкладки объект, чтобы был виден тег поля (он нам потребуется).
2) Нам нужен идентификатор категории (по сути, это идентификатор типа документа).
Документ с изменным типом поля.jpg
Документ с изменным типом поля.jpg (108.74 КБ) 4600 просмотров
3) Картинка в этом посте - это пример. У вас тег и категория - будет другим.

Я подготовлю вам маленькую утилиту, которая "перекачает" свойства в новое поле. Вы ведь просто изменили тип поля на "многозначное справочное"? Если вы удалили поле, и создали новое - то мне нужно знать тег нового поля.
Все данные присылайте на support@fossdoc.ru.

Аватара пользователя
Andrew
Разработчики FossDoc
Сообщения: 869
Зарегистрирован: 26 дек 2008, 16:03

Re: Изменение типа поля существующего документа

Сообщение Andrew » 13 дек 2012, 12:02

Вот универсальная утилита. Она решает задачу "конвертировать" значение из справочного поля (единичного) в "многозначное", если тип поля был изменен и значения "пропали".
dictionary_to_multi_converter.zip
(3.3 МБ) 170 скачиваний
Этот инструмент в целом, требует аккуратности, поэтому если есть вопросы спрашивайте.

avkim
Пользователь
Сообщения: 186
Зарегистрирован: 03 апр 2012, 05:54
2 + 2 = ?: 4

Re: Изменение типа поля существующего документа

Сообщение avkim » 14 дек 2012, 07:28

Спасибо за утилиту! А как ее задействовать? Что-то инструкции не нашел.

Аватара пользователя
Andrew
Разработчики FossDoc
Сообщения: 869
Зарегистрирован: 26 дек 2008, 16:03

Re: Изменение типа поля существующего документа

Сообщение Andrew » 14 дек 2012, 10:01

Утилита.jpg
Утилита восстановления значения справочного поля
Утилита.jpg (33.56 КБ) 4590 просмотров
В утилите:
"Тег старого поля" - вы его должны увидеть, если включите "Show hidden properties", смотрите как в предыдущем рисунке выше. Это по сути, поле, которое было до изменения, там вы видите ваше справочное значение.
Например, тег может иметь вид вот такой: 0x802C0F00 - так как на картинке. Но у вас тег будет другой, смотрите на свой документ.

Тег нового поля - если вы просто сменили тип поля на "многозначное справочное", то оставьте пустым это поле ввода.

Категория - это ваш тип документа. На рисунке выше показано, что нужно стать на слово "Категория" и через контекстное меню нажать "Копировать ссылку". Вы получите идентификатор, его и нужно сюда вставить.

Далее нажимаем кнопку, логин диалог - там вводим пользователя Admin (или Administrator если это FossLook), и система все исправляет. Будет показано сколько документов оно "нашло", и еще раз спросит подтверждение.

Утилита ничего не ломает, поэтому в целом - если вы даже ошибетесь, это не конец света.

avkim
Пользователь
Сообщения: 186
Зарегистрирован: 03 апр 2012, 05:54
2 + 2 = ?: 4

Re: Изменение типа поля существующего документа

Сообщение avkim » 14 дек 2012, 12:16

Если я правильно понял, то приложение, которое нужно запустить AdminRootFix.
А где его надо запускать: на сервере или можно с раб.станции, где админка стоит?

Аватара пользователя
Andrew
Разработчики FossDoc
Сообщения: 869
Зарегистрирован: 26 дек 2008, 16:03

Re: Изменение типа поля существующего документа

Сообщение Andrew » 14 дек 2012, 12:46

Запускать не важно где, она подключается как клиент к серверу.

avkim
Пользователь
Сообщения: 186
Зарегистрирован: 03 апр 2012, 05:54
2 + 2 = ?: 4

Re: Изменение типа поля существующего документа

Сообщение avkim » 14 дек 2012, 13:04

Если я хочу поменять тип поля "Объект строительства" со справочного на многозначное, то тег могу взять здесь:
Тег.jpg
Тег.jpg (288.23 КБ) 4588 просмотров

Аватара пользователя
Andrew
Разработчики FossDoc
Сообщения: 869
Зарегистрирован: 26 дек 2008, 16:03

Re: Изменение типа поля существующего документа

Сообщение Andrew » 14 дек 2012, 13:14

Да, рядом кстати, кнопка копирования тега.

Ответить

Вернуться в «Конструктор типов документов»