|
Вопрос про конвертацию данных из 1с7.7 в 1с8.2 | ☑ | ||
---|---|---|---|---|
0
Help1c8
19.07.11
✎
11:47
|
Подскажите пожалуйста. Я пытаюсь конвертировать справочник физ лица из 7 в 8.
Столкнулся с проблемой не хочет выгружаться ПОЛ тип перечисление. и в 7 и в 8 реквизит ПОЛ имеет тип перечисление. Побывал делать по книге В ПКС (конвертация свойств) -> модуль Перед Выгрузкой делал так: 1) Значение = "Мужской"; 2) Значение = СокрЛП(Строка(Источник.Пол)); Затем сохранял правила, а в 7 при помощи обработки "Универсальная выгрузка данных в формате ХМЛ" в. 2.1.5 выгружал в файл данных. После чего в окне сообщений выдает следующее: ПКС_ПередВыгрузкой_ФизическиеЛица_Пол_Реквизит9<<?>>(Источник, Приемник, ВходящиеДанные, ИсходящиеДанные, НомерПКС, НомерПКО, ОбъектКоллекции, Значение, ТипПриемника, ИмяПКО, ИмяПКОВидСубконто, Пусто, Выражение, НеЗамещать, УзелКоллекцииСвойств) Функция не обнаружена (ПКС_ПередВыгрузкой_ФизическиеЛица_Пол_Реквизит9) Заранее спасибо за советы |
|||
1
Dorosh
19.07.11
✎
17:12
|
Модуль обработки не забыл заменить?
|
|||
2
Amra
19.07.11
✎
17:22
|
(0) НАфуя такой изврат?
|
|||
3
Help1c8
20.07.11
✎
09:59
|
Да забыл модуль заменить потом уже сам разобрался.
Есть еще вопрос. В правилах конвертации объектов есть обработчики Перед загрузкой и после загрузки. В обработчике после загрузки у меня получается обратиться к Объекту т.е. например Объект.ФизЛицо.Код а как мне обратиться к этим данным перед загрузкой. Это возможно? |
|||
4
nazi
20.07.11
✎
10:01
|
(2) ну может еще не до шел человек до инфы про ПКЗ )
|
|||
5
Help1c8
20.07.11
✎
10:06
|
(4) Это правило конвертации значений? Но я не совсем понял как это работает. Как я понял там надо было добавить 2 элемента
Мужской и Женский. Это и все? или там еще что то нужно прописывать? |
|||
6
nazi
20.07.11
✎
10:07
|
там надо сопоставить перечисление 7.7 и перечисление 8.2 в твоем случае - пол:
делаем ПКО - перечисление пол на закладке правила конвертации значений делаем: мужской - м; женский - ж |
|||
7
ДенисЧ
20.07.11
✎
10:12
|
+6 и в правиле конвертации указать это ПКЗ...
|
|||
8
nazi
20.07.11
✎
10:13
|
(7) ну это самосабой уже)))
|
|||
9
Help1c8
20.07.11
✎
10:21
|
Ага спасибо получилось) Хотя мне вариант кода в одну строчку больше нравиться)
Значение = СокрЛП(Строка(Источник.Пол)); А по поводу поста (3)? |
|||
10
nazi
20.07.11
✎
11:16
|
(9) вариант в строчку придется повторят 100500 раз, через ПКО - 1 раз сделал, потом подцепляешь и все.
ни как по ходу - опиши задачу что нужно, другой вариант подскажут |
|||
11
Help1c8
20.07.11
✎
11:27
|
После того как я в регистр сведений выгружаю паспортные данные создается новая запись. Почему не пойму, хотя все ресурсы в регистре совпадают кроме даты создания. По идее он не должен создавать новую запись, исключение если бы данные паспорта поменялись серия номер и т.д.
Раз так получилось что он создает новую запись я решил удалять предыдущие и написал обработчик. Обработчик После загрузки. ОтборПД = Новый Структура; ОтборПД.Вставить("ФизЛицо",Объект.ФизЛицо); РС_ПД=РегистрыСведений.ПаспортныеДанныеФизЛиц.Выбрать(,,ОтборПД); Пока РС_ПД.Следующий() цикл Если РС_ПД.Период<ТекущаяДата() тогда РС_ПД.ПолучитьМенеджерЗаписи().Удалить(); КонецЕсли; КонецЦикла; Объект.ДокументВид = Справочники.ДокументыУдостоверяющиеЛичность.НайтиПоНаименованию("Паспорт",истина); Но это не совсем хорошо т.к. программа сначала добавляет данные, а я потом удаляет что сказывается на скорости выгрузки. Вот я и хочу сделать проверку перед выгрузкой, если все поля в регистре совпадают с данными в хмл то не записывать в регистр данные (дата создания не в счет). |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |