Страница 1 из 1

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

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

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

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

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

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

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

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

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

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

Добавлено: 14 дек 2012, 07:28
avkim
Спасибо за утилиту! А как ее задействовать? Что-то инструкции не нашел.

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

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

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

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

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

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

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

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

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

Добавлено: 14 дек 2012, 12:46
Andrew
Запускать не важно где, она подключается как клиент к серверу.

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

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

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

Добавлено: 14 дек 2012, 13:14
Andrew
Да, рядом кстати, кнопка копирования тега.