gifts2017

Перенос справочников из 7.7 в 8.1 (OLE)

Опубликовал Дмитрий (deemaa) в раздел Обработки - Обработка справочников

Обработка позволяет перенести простые справочники из семерки в восьмёрку. Реквизиты справочников могут не совпадать.

Обработка позволяет перенести простые справочники из семерки в восьмёрку. Реквизиты справочников могут не совпадать. Подключаем через ОЛЕ 7.7, выбираем справочник, потом вручную сопоставляем реквизиты и переносим. Всё интуитивно понятно. Мне помогло перенести несколько больших справочников. Буду рад, если кому-нибудь пригодится

Скачать файлы

Наименование Файл Версия Размер
RefFrom7to8 2633
.1220363001 12,42Kb
25.09.09
2633
.1220363001 12,42Kb Бесплатно

См. также

Contragent+ 5.0 от 2 500
Подписаться Добавить вознаграждение
Комментарии
1. Андрей Ильин (su_mai) 02.09.08 21:34
Хорошо, что делаете такие вещи, но есть конфигурация конвертация данных - очень мощная вещь!
2. cs25 (cs25) 02.09.08 22:23
Из-за чего может быть:
{Форма.Форма(159)}: Ошибка при вызове конструктора (COMОбъект): Недопустимая строка с указанием класса
V7=Новый COMОбъект("V77s.Application");
kosmonavtka; Wince25; +2 Ответить 1
3. Аркадий Кучер (Abadonna) 03.09.08 03:38
(2)>V7=Новый COMОбъект("V77s.Application");
А у тебя движок точно V77s? Скульный?
4. cs25 (cs25) 03.09.08 15:06
2 Abadonna > движок скульный, бваза dbf ...
5. Александр (BandW) 03.09.08 15:38
конфигурация конвертация данных делает тоже вродек как.
А вот не то не другое не помогает перенести на пример историю значений курса по валюте
6. Андрей Зайцев (zaic) 03.09.08 16:05
Вот добавить сюда перенос групп - ценность повысится на порядок. В основном ведь все большие справочники иерархические.
А вот перенос истории вообще отдельня песня.
7. Дмитрий (deemaa) 03.09.08 16:32
(6) перенос групп сделаю попозже, не вопрос
8. cs25 (cs25) 03.09.08 16:42
2 > deemaa 03.09.2008
(6) перенос групп сделаю попозже, не вопрос

Было бы рульно !!!
terran_1C; +1 Ответить
9. Анатолий (anatoly1234) 04.09.08 08:54
Abadonna, объясни плиз, что значит это сообщение:
{Форма.Форма(159)}: Ошибка при вызове конструктора (COMОбъект): Недопустимая строка с указанием класса
V7=Новый COMОбъект("V77s.Application");
по причине:
Недопустимая строка с указанием класса.
Чего-то я не понимаю!
Перенос групп - это супер!
10. Андрей Зайцев (zaic) 04.09.08 10:28
9. скорее всего надо версию 7.7 для СКЛ установить, чтоб в реестр прописать. Еще права проверить и т.д.
Такие вопросы обычно обычно решаются поиском. Или на форумах, где с вас стрясут кучу дополнительной информации про вас и ваши компьютеры.
11. rasswet (rasswet) 04.09.08 13:55
указал базу 77. подключить. спросило логин-пароль и зависло. лажа((
12. Светлана (amazonka) 19.09.08 11:41
Дмитрий, а у тебя нет ли обработки для вызова из 7.7 по Оле 8.1 .
и вопрос: вариант из 8.1 вызов 7.7 по Оле лучше технически или в части программирования чем из 7.7 вызов 8.1?
Noveng; terran_1C; rich888; +3 Ответить 1
13. Аркадий Кучер (Abadonna) 19.09.08 12:20
(12)>вариант из 8.1 вызов 7.7 по Оле лучше
Лучше не по Оле, а по Наташе :)))
14. Георгий (GeorgeU) 07.10.08 11:01
Спасибо. Мне нравится. На основе Вашей обработки мастячу свою.
15. Дмитрий Романовский (vdscom) 07.10.08 17:10
спасибо за обработку, с нее начал кодирование в восьмерке :-)
добавил перенос групп с учетом иерархии и очистку справочника (для удаления последствий неудачного переноса) - куда можно ее выложить ?
16. Дмитрий Романовский (vdscom) 07.10.08 17:16
из минусов - не переносит ссылки на объекты (элементы справочников и перечислений) - справочник Номенклатура в 1с8.1 УТ перенести не смог - доработать пока тоже -(
17. Дмитрий (deemaa) 08.10.08 15:06
спасибо за отзывы
(16) если переносить ссылки- пока не знаю как не потерять универсальность обработки
Дорабатывайте, выкладывайте, можете мне выслать я выложу deemaa<a>tut.by
18. Дмитрий Романовский (vdscom) 08.10.08 23:51
(17)
отправил на мыло
"если переносить ссылки- пока не знаю как не потерять универсальность обработки" - делать все через метаданные, как же еще :-). как - понимаю, но еще не разобрался, как работать с ними в восьмерке
19. Роман (Zhorland) 13.10.08 14:17
Отличная обработка, но возникла проблема с допиливанием ее под себя - и именно с переносом ссылок. Если с ссылками на справочники я худо-бедно разобрался - создаем с помощью V7.CreateObject , а потом находим элемент и мы счастливы - то как обратится к перечислению? V7.CreateObject("Перечисление.СтавкиНДС") не прокатывает :(
20. Дмитрий Романовский (vdscom) 13.10.08 23:50
(19) объект "перечисление" создавать не нужно. вот фрагмент кода, правда, выполняемый в 7.7 - думаю, суть понятна
Если Метаданные.Справочник(Справ).Реквизит(ТекущийРеквизит).Тип="Перечисление" Тогда
ВидПеречисл=Строка(Метаданные.Справочник(Справ).Реквизит(ТекущийРеквизит).Вид);
Кво=Метаданные.Перечисление(ВидПеречисл).Значение();
Для н=1 По Кво Цикл
ЗначПеречисл=Метаданные.Перечисление(ВидПеречисл).Значение(н);
Если Нрег(ЗначРекв)=Нрег(Строка(ЗначПеречисл)) Тогда
Элемент.УстановитьАтрибут(ТекущийРеквизит,Перечисление.ПолучитьАтрибут(ВидПеречисл).ЗначениеПоНомеру(н));
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;

21. Илья (Cyberboy) 12.12.08 23:29
почему когда переносишь из бух 7,7 в УТ 8.1 то выдает вот это сообщение.
Перед записью в элементе справочника "Номенклатура" необходимо заполнить "базовая единица"!
Перед записью в элементе справочника "Номенклатура" необходимо заполнить "вид номенклатуры"!
Ошибка! Возможно код элемента справочника не уникален!
22. Константин Исиченко (IsiKosta) 11.01.09 10:16
Чтобы не было ошибки V7=Новый COMОбъект("V77s.Application");
надо добавить в функцию

ПодключитьБазу(ТекПутьКБазе,ТекПользователь,ТекПароль) Экспорт

Попытка
V7=Новый COMОбъект("V77.Application");
Исключение
V7=Новый COMОбъект("V77s.Application");
КонецПопытки;

А еще бы сохранение настроек не помешало!
23. АНдрей (toys-nn) 18.02.09 16:32
открываю обработку указываю базу, пользователя , пароль, нажимаю подключиться потом пишит "не удалось подключиться" помогите люди добрые
24. Алексей Коликов (Flinky) 10.03.09 09:39
25. sorg (sorg) 24.04.09 16:02
справочник переносится, но реквизиты как перетащить? например справочник КОНТРАГЕНТЫ. Как перенести адреса? телефоны? уз бух 77 в ут 8.1
Stanhard; +1 Ответить
26. Владимир Денисов (den_vladimir) 10.06.09 22:35
Автор молодец! Я дописал ее с вытаскиванием всех зарегиных баз и выводом списка, чтоб не выбирать из каталогов.
По поводу V7=Новый COMОбъект("V77.Application"); есть проще вариант

V7=Новый COMОбъект("V1CEnterprise.Application");
Это универсальный объект, независимо от платформы, сам определяет!
27. Данил Данилов (URFF) 17.06.09 15:22
а возможности переноса с папками есть?
28. BDE30 (Re:аниматор) 06.07.09 07:13
почему забывают переносить "ПометкаУдаления"?... сколько не смотрел подобных оле переносов
29. Pavlo (pavlo) 22.08.09 16:04
с одной и другой стороны Код справочника типа строка, а в коде 134 строка стоит принудительно число и сразу же падает и ничего не грузит, сырая имхо обработка!
30. Timmy GTA (Union37) 05.11.09 17:54
31. Николай (provnick) 26.01.10 01:35
Вываливается с ошибкой "неверный формат хранилища"
32. Василий Гиричев (Greymem) 30.03.10 10:54
Автор, спасибо за обработку
Скачал, запустил, вроде подключает базу 1С 7.7 нормально, всё видит

Да вот незадача... как быть?
Хочу перенести справочник номенклатура, но в базе 1С 8.1 уже есть номенклатура с кодами как в базе 1С 7.7
Как добавить префикс перед кодом для элементов из 1С 7.7 чтобы нормально элементы записывались

И вообще дай справочку по настройкам, как настраивать?
33. abd iv (pomestnik1) 06.07.10 11:04
при переносе справочника с 7.7 КА в 8.1 УТ выдает кучу ошибок
Перед записью в элементе справочника "Номенклатура" необходимо заполнить "базовая единица"!
Перед записью в элементе справочника "Номенклатура" необходимо заполнить "вид номенклатуры"!
Ошибка! Возможно код элемента справочника не уникален!
34. xsnika (EMelihoff) 14.09.10 11:19
Спасибо конечно, только вот какая ОШИБКА:
{Форма.Форма(138)}: Ошибка при получении значения атрибута контекста (ПолноеНаименование): Неизвестная ошибка
Эл[СокрЛП(СтрокаСт.Реквизит)] = Спр77[СокрЛП(СтрокаСт.Реквизит_77)];
по причине:
Неизвестная ошибка
35. isn Игнатьев (isn) 14.10.10 13:47
было бы неплохо добавить в перенос помимо сопоставления ещё и принудительное присвоение значений реквизитов справочника в базе приемника, т.к. в некоторых случаях отсутствуют реквизиты и сопоставить их нечему. а в целом обработка хороша и удобна. Буду использовать как шаблон, добавлю элемент "универсальности".
36. Alexey Fedorov (agentesecreto) 13.01.11 11:10
потребовалось срочно перенести выборочные справочники из бух 7.7 в БП 8.1
нашел здесь обработку переноса, плюсанул, но обработка не переносит группы
в комментариях так и не дождался чтобы выложили доработанную обработку, поэтому немного доработал сам, ТЕПЕРЬ ПЕРЕНОСЯТСЯ ГРУППЫ с соблюдением иерархии и ДОБАВЛЕНА КНОПКА ОЧИСТКИ загруженного справочника (возможно придется нажать несколько раз)
кроме того, убрано пребразование кода в число, и восстановлена синхронизация по коду
кому интересно, берите на http://infostart.ru/public/80256/
37. Алексей Фокин (fokin_an) 31.03.11 13:08
Полный бред!!! Не советую даже смотреть. Это делается за 10 мин. А если я хочу перенести, конкретную группу номенклатуры??? что тогда??? отсос?
к тому же, как вытащить наименование и код-понятно всем. Вот, как быть с единицами - это вопрос, который надо было решить))))
38. Дмитрий Антонов (linkdp) 22.09.11 10:29
Отличная обработка, мне оч. помогла разобраться в хитростях и основах ole-систем. Автору респект...)
39. Эльвира (eli1984) 04.10.11 07:06
мне обработка к сожалению не помогла потому что перенос оказался не корректным, пришлось другими способами делать выгрузку.
40. Александр (karbofos) 06.10.11 12:14
Да. Тоже долго разбирался, но всеже помогло, хотя и не в полной мере. Автору респект.
41. igor kouzenkov (raffall) 24.10.11 14:59
42. Олег Компаниец (ok1infos) 14.11.11 19:13
Спасибо конечно, но ошибки полезли, пришлось менять

V7=Новый COMОбъект("V77s.Application");
на
V7=Новый COMОбъект("V77.Application");


ну и с Код. проблемы были. код вовсе не числовой оказался, а преобразование было лишним.
43. Андрей (andersss) 17.11.11 10:11
44. Грааль (Грааль) 24.11.11 15:30
Ах какое огромное вам спасибо!!! Даже представить не можете как выручили!!!
45. xDee (xDee) 15.12.11 18:15
Спасибо огромное, просто за готовую реализацию идеи.
46. Ягр Еромир (trum86) 22.12.11 02:10
СПАСИБО!!! НАСТОЯЩИЙ МАСТЕР!!!=))))
47. nanik nanik (nanik) 22.12.11 03:21
Попробовал перенести из 1с 77 ЗиК в 1с 8.2 конфигурацию на базе Управления производственным предприятием справочник физические лица (77 Сотрудники, 8.2 Физические лица) только общие реквизиты, выдает ошибку:
{Форма.Форма.Форма(134)}: Преобразование значения к типу Число не может быть выполнено
Эл.Код =Число(Спр77.Код);
:(
Что ж будет время поковыряю обработку, а идея очень хорошая.
48. CrVik 14.01.12 09:58
работает, как положено, спасиб!
49. Алекс Ю (AlexO) 05.03.12 15:00
(47) nanik,
То, что в строке 134 замените на:
		Если ТипЗнч(Эл.Код) = Тип("Число") Тогда			 
			Попытка
				Эл.Код = Число(Спр77.Код);
			Исключение
				Сообщить("Ошибка! Код """ + Спр77.Код + """ импортируемого элемента справочника не может быть преобразован в число."
					+ Символы.ПС + "Код элемента " + Спр77.Наименование + " не записан!", СтатусСообщения.Важное);
			КонецПопытки;
		Иначе
			Если ТипЗнч(Спр77.Код) = Тип("Число") Тогда
				Эл.Код = Строка(Спр77.Код);
			Иначе
				Эл.Код = Спр77.Код;
			КонецЕсли;
		КонецЕсли;
...Показать Скрыть
50. Светлана Даниленко (LanaSN) 30.08.12 09:01
Хорошая обработка, спасибо за помощь!