Загрузка справочников и документов из 7.7 в 8.2 (OLE)

31.10.16

Разработка - Инструментарий разработчика

Доработанная версия обработки http://infostart.ru/public/66925/. Версия работает только в 8.2, добавлена работа со справочниками. Окно авторизации в 7.7 может быть не видно!! Переключение Alt-Tab!!

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

Наименование Файл Версия Размер
Загрузка документов и справочников из 7.7 в 8.2
.epf 30,45Kb
1981
.epf 30,45Kb 1981 Скачать

Доработанная версия обработки //infostart.ru/public/66925/.

Версия работает только в 8.2, добавлена работа со справочниками.

Текст обработки открыт для изменения.

Окно авторизации в 7.7 может быть не видно!! Переключение Alt-Tab!!

См. также

SALE! 20%

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 10400 руб.

02.09.2020    122069    670    389    

712

SALE! 25%

Infostart PrintWizard

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

18000 15300 руб.

06.10.2023    7272    21    6    

39

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 8000 руб.

10.11.2023    3514    11    1    

33

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 2520 руб.

14.01.2013    177730    1073    0    

849

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99342    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18104    6    8    

39

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28102    3    10    

15

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23598    15    15    

32
Отзывы
16. happyden 24 04.09.11 22:33 Сейчас в теме
Test-Life пишет:

Открываю обработку в 8.2.13.219 УТ 11.0.6.7.
Открывается абсолютно пустое маленькое окно ~2х7см, в правом нижнем углу одна единственная кнопка "все действия \/".
Подскажите, что делаю не так? Куда девается всё богатство этой обработки?

Открыть УТ в обычном приложении... Думаю что ты, дружище, уже открыл его, но оставляю сообщение потомкам :) Конфигуратор - Сервис - Параметры - Общие...
alekseynst; swimdog; Test-Life; +3 Ответить
Остальные комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Xenom 20.04.11 17:14 Сейчас в теме
Выбрал базу 7.7, восьмерка зависла((Терминальный сервер 2008 r2 (((
3. swimdog 765 22.04.11 20:44 Сейчас в теме
(1) она не зависла. Окно подключения к семерке может быть не видно. Переключение Alt-Tab
(2) поменял
2. Alex1c 29 20.04.11 18:11 Сейчас в теме
(0) При выборе базы появляется окошко входа в 1с 7.7, но его не видно. Добраться до него можно сворачивая разворачивая другие окна.

Недоработка при коннекте к 7.7. Нет возможности выбора версии 7.7. Не у всех отработает Новый COMОбъект("v77.Application"); Для SQL надо Новый COMОбъект("v77s.Application");
Остальное еще не смотрел
4. 28.04.11 07:54 Сейчас в теме
Попытался перенести платеж. поручение. Ни каких результатов. Такое ощущение - не создается OLE объект?
5. 28.04.11 13:05 Сейчас в теме
Посоветуйте,чем можно срочно перегнать платежки из 7.7 в 1с 8.2 Бухгалтерию предприятия.
6. swimdog 765 28.04.11 21:16 Сейчас в теме
(5) я полагаю, что можно перегнать стандартными правилами конвертации бухгалтерия 77-82. Если в них нет плат. поручения, то можно взять эти правила за основу.
7. CaSH_2004 372 29.04.11 00:48 Сейчас в теме
Очень мощная обработка, правда не без помарок. Вот например захожу на закладку справочнии и выбираю для 7 и 8 "Банковские счета"
Виден реквизит банки а у него для 7-ки тип реквизита "Справочник.Банки", а для 8-ки тип "Банки". Мне то понятно и без колонки Тип реквизита к какому типу что относится, т.к. знаю в оновном все реквизиты в типовых конфах, но если не секрет то что это? задумка или недоработка? Вроде уве должно быть максимально однотипным, а "Справочник.Банки" это гораздо нагляднее и правильнее, т.к. типа "Банки" в 1С не существует
новичка это вообще в супор ввести может :)
12. swimdog 765 06.07.11 23:57 Сейчас в теме
(7), (8) Внес изменения. Теперь список баз отсортирован по названиям, синонимы пишутся полностью.
8. awbyk 77 12.05.11 16:53 Сейчас в теме
Неплохо бы был отсортировать список семерочных баз по алфавиту, а то, когда баз на компе много,трудно искать нужную.
9. andispell 13.05.11 11:25 Сейчас в теме
varbasevisch 28.04.11 7:54 Ссылка Цитата Ник
Попытался перенести платеж. поручение. Ни каких результатов. Такое ощущение - не создается OLE объект?

Та же проблема. Никакой реакции...
10. Lunoli 29.05.11 18:12 Сейчас в теме
При переносе справочников поля код и наименование не указаны в общем списке...
А вообще больше спасибо автору:)
11. swimdog 765 05.07.11 21:46 Сейчас в теме
Внимание! Все вопросы по переносу документов можете адресовать автору обработки. Я добавил работу со справочниками. Документы я не переносил и не знаю как они должны переноситься.
13. info-office 13.07.11 15:54 Сейчас в теме
Выдает сообщение "Ошибка подключения!"
Подскажите, пожалуйста, как исправить?
До переустановки системы все подключалось...
14. Milanick 15.07.11 13:58 Сейчас в теме
Добрый день.
Коллега, не подскажите как правильно перенести справочник номенклатуры из 7ки в 8.2, с группами
15. Test-Life 21.07.11 17:28 Сейчас в теме
Открываю обработку в 8.2.13.219 УТ 11.0.6.7.
Открывается абсолютно пустое маленькое окно ~2х7см, в правом нижнем углу одна единственная кнопка "все действия \/".
Подскажите, что делаю не так? Куда девается всё богатство этой обработки?
16. happyden 24 04.09.11 22:33 Сейчас в теме
Test-Life пишет:

Открываю обработку в 8.2.13.219 УТ 11.0.6.7.
Открывается абсолютно пустое маленькое окно ~2х7см, в правом нижнем углу одна единственная кнопка "все действия \/".
Подскажите, что делаю не так? Куда девается всё богатство этой обработки?

Открыть УТ в обычном приложении... Думаю что ты, дружище, уже открыл его, но оставляю сообщение потомкам :) Конфигуратор - Сервис - Параметры - Общие...
alekseynst; swimdog; Test-Life; +3 Ответить
17. DERL 23.09.11 10:41 Сейчас в теме
а обработка будет работать в самописной конфигурации 8.2???
18. swimdog 765 23.09.11 21:06 Сейчас в теме
19. ilonnaa 29.09.11 17:44 Сейчас в теме
Шикарная обработка сейчас заценю.
20. пользователь 13.10.11 09:30
Сообщение было скрыто модератором.
...
63. Niksea 28.11.13 19:06 Сейчас в теме
Добрый день!

Сегодня купили эту обработку, базу 7.7 она видит, с реестра данные взяла, но ошибка:

{ВнешняяОбработка.ЗагрузкаДокументовИСправочниковИз77.МодульОбъекта(20)}: Ошибка при вызове конструктора (COMОбъект)
БазаОлеТек = Новый COMОбъект("v77s.Application");
по причине:
Недопустимая строка с указанием класса

Что делать?


Решено.
Спасибо за оперативность, Александр! (нужно было установить SQL версию 1С 7.7)
21. podolskholod 14.10.11 15:25 Сейчас в теме
Пробую перенести документы реализации ,поступление, платежное поручение через конвертацию данных.
Реализация не выгружается совсем.Поступление и платежки в файл выгружаются. При загрузке в 1с8.2 пишется, что документы загружены, но документов не видать.
РАБОТАЕТ ЛИ ДАННАЯ ОБРАБОТКА АВТОРА КОРРЕКТНО ?
22. swimdog 765 16.10.11 20:48 Сейчас в теме
(21) podolskholod, ответ в п. 11
28. Nikolenka 26.10.11 23:08 Сейчас в теме
(21) podolskholod,
Попробуйте в 8-ке в тех доках, что переносили, выключить сортировку по организации. Мне помогло, я увидел загруженные доки.
23. Meshimoto 18.10.11 12:49 Сейчас в теме
Из бухгалтерии 7.7 в 8.2 справочники перенеслись корректно, документы тоже.
Главное показать какие реквизиты переносить.
Очень нужная вещь для начала.
24. razzmuzz 25.10.11 09:31 Сейчас в теме
При выборе базы появляется окошко входа в 1с 7.7, но его не видно. Добраться до него можно сворачивая разворачивая другие окна.

Недоработка при коннекте к 7.7. Нет возможности выбора версии 7.7. Не у всех отработает Новый COMОбъект("v77.Application"); Для SQL надо Новый COMОбъект("v77s.Application"); При выборе базы появляется окошко входа в 1с 7.7, но его не видно. Добраться до него можно сворачивая разворачивая другие окна.

Недоработка при коннекте к 7.7. Нет возможности выбора версии 7.7. Не у всех отработает Новый COMОбъект("v77.Application"); Для SQL надо Новый COMОбъект("v77s.Application"); При выборе базы появляется окошко входа в 1с 7.7, но его не видно. Добраться до него можно сворачивая разворачивая другие окна.

Недоработка при коннекте к 7.7. Нет возможности выбора версии 7.7. Не у всех отработает Новый COMОбъект("v77.Application"); Для SQL надо Новый COMОбъект("v77s.Application"); При выборе базы появляется окошко входа в 1с 7.7, но его не видно. Добраться до него можно сворачивая разворачивая другие окна.

Недоработка при коннекте к 7.7. Нет возможности выбора версии 7.7. Не у всех отработает Новый COMОбъект("v77.Application"); Для SQL надо Новый COMОбъект("v77s.Application");
27. swimdog 765 26.10.11 21:21 Сейчас в теме
(24) razzmuzz, смотри описание обработки и п.3
25. daviels 26.10.11 10:54 Сейчас в теме
ну ка ну ка :) сейчас попробуем что за обработка. Отпишусь какие касяки, если найду конечно такие... ну вот народ пишет что что то уже есть. В целом думаю будет очень востребованный продукт
26. swimdog 765 26.10.11 21:19 Сейчас в теме
(25) daviels, это уже востребованный продукт, более 1100 скачавших пользователей
29. kakraz 27.10.11 13:12 Сейчас в теме
тоже возникла необходимость буду пробовать отпишусь как получилось)
30. пользователь 27.10.11 14:14
Сообщение было скрыто модератором.
...
33. yuyu1 5 06.11.11 18:50 Сейчас в теме
(30) sanbkavolkov2, так и не отписался! Конвертировалась реализация из семёрки или нет ?
31. пользователь 27.10.11 14:17
Сообщение было скрыто модератором.
...
32. yuri_ochichenko 06.11.11 18:44 Сейчас в теме
Версия v7plus.dll должна быть не ниже 7.70.011
34. ukgh 07.11.11 07:27 Сейчас в теме
35. Alexan78 07.11.11 13:43 Сейчас в теме
Нормальная обработка. Добавил на форму прогресс-бар, немного доработал код (выбор разных реквизитов по условиям)и теперь можно пользоваться с удобством. Автору респект!
36. swimdog 765 07.11.11 22:12 Сейчас в теме
(35) Alexan78, могу выложить, чтобы все пользовались
37. eleka 58 15.11.11 08:45 Сейчас в теме
Это очень хорошая обработка,спасибо. Еще ничего, правда, не пробовала переносить, если получиться, напишу отдельное спасибо еще раз
38. avkit 15.11.11 23:53 Сейчас в теме
Спасибо, пригодилась!
39. Asima 09.12.11 06:50 Сейчас в теме
Отличная обработка. При необходимости переноса большого объема документов!! Спасибо!
Единственная сложность - не переносит ед.измерения?
40. leafoe 18.12.11 01:22 Сейчас в теме
Спасибо за обработку, 1с могли бы и на ИТС приложить подобное..
41. Nikolenka 21.12.11 13:17 Сейчас в теме
Возник вопрос: пытаюсь перенести справочник номеклатура из ТиС в БП 2.0. Выводится ошибка - перед записью необходимо определить единицу измерения. Кто сталкивался?
42. Nikolenka 21.12.11 13:35 Сейчас в теме
Что касается переноса из БП 7.7 в БП 8.2 - обработка отличная, хотя сейчас 1С-ники сделали перенос документов.
45. Carw 25.02.12 16:37 Сейчас в теме
(42) Nikolenka, А не подскажете, где именно 1С-ники сделали перенос документов? Сейчас как раз необходимость в переносе возникла, а решения найти пока не получилось.
43. nanik 5 22.12.11 04:19 Сейчас в теме
Спасибо, удобная обработка и очень полезна.
44. Sbelyi78 9 20.01.12 08:50 Сейчас в теме
Спасибо. решил пару проблем с ее помощью
46. provnick 31.05.12 09:58 Сейчас в теме
Никак не отрабатывает Цикл
ДокумV7.ВыбратьСтроки();
Пока ДокумV7.ПолучитьСтроку() = 1 Цикл

По отладчику ДокумV7.ПолучитьСтроку() = 0 и, что делать непонятно, в 8.1 отрабатывалось и заполнялось
47. NataZ 01.06.12 03:44 Сейчас в теме
Подскажите, а из Предпринимателя 7.7 в 8.2 перенесет?
48. provnick 01.06.12 08:10 Сейчас в теме
Перенесет видимо все, что нужно, из любого вида документа в любой другой, только нужно знать, как обращаться к метаданным 77. Я столкнулся с проблемой переноса СФ. Табличной части в 77 нет, а в 8.2 есть, нужно обратиться к документу основанию в COMобъекте. То есть следующий код ДокумV7.ДокОснование.ВыбратьСтроки();
Пока ДокумV7.ДокОснование.ПолучитьСтроку() = 1 Цикл и ...не отрабатывает, то есть ДокОснования видит, количествоСтрок видит, Итог("Сумма") видит, но обратиться к табличной части не получается, ДокумV7.ДокОснование.Количество или ДокумV7.ДокОснование.Цена определяет как COMобъект, но значение как получить? Может, кто подскажет?
49. provnick 01.06.12 09:10 Сейчас в теме
Сам себе режиссер, видимо все уже это давно прошли, но может все таки кто то еще решает подобное. Разрешил вопрос присвоением ДокОсн = ДокумV7.ДокОснование; и дальше уже почти все получилось, детали дорабатываю. В целом идея хороша, но отравляет жизнь Alt+Tab. Если использовать ниже код, получается проще и без Alt+Tab
Процедура ПодключитьБазу()
База="";
База=Новый COMОбъект("V77.Application");
Попытка
СтрокаПодключения = "/D"""+СокрЛП(ПутьКБазе)+""" /N"""+СокрЛП(Пользователь)+""" /P"""+СокрЛП(Пароль)+"""";
Открыта=База.Initialize(База.RMTrade,СтрокаПодключения,"NO_SPLASH_SHOW");
Если Открыта Тогда
ЕстьПодключение = Истина;
Иначе
Предупреждение("Ошибка при подключении!");
ЕстьПодключение = Ложь;
КонецЕсли;
Исключение
Предупреждение("Ошибка при подключении!");
ЕстьПодключение = Ложь;
КонецПопытки;
подход проще,только на форму выводить нужно пользователя и т.д.,но работает в 8.2 быстро и наглядно, ну это уже как кому удобней.
50. Styvi 6 03.09.12 12:57 Сейчас в теме
(49) provnick, "В целом идея хороша, но отравляет жизнь Alt+Tab.."

Не вижу трудностей - при подключении к 77 (если есть проблемы, типа неоткрытого периода и т.п.)
Если много открытых окон, то проще не Alt+Tab мучить, а "Запустить диспетчер задач" в правой кнопке панели задач внизу экрана... Окно запуска или сообщения 77 будет как раз досовского изображения (синее) и сверху - сразу перейти к нему и ответить, что просят...

Обработку ещё не качал, но планирую почитать код, что в ней есть хорошего для справочников (иерархия интересует)...
55. DimanYa 11.10.12 05:34 Сейчас в теме
(49) provnick, Спасибо.
Действительно если присвоить новой переменной значение этого объекта, то потом доступна работа с его реквизитами в дальнейшем.
51. пользователь 07.09.12 12:29
Сообщение было скрыто модератором.
...
52. swimdog 765 07.09.12 20:35 Сейчас в теме
(51) Eugeneer, нет. обработку использовал всего пару раз, поэтому не заморачивался.
53. DimanYa 09.10.12 13:03 Сейчас в теме
Переношу вашей обработкой данные, но возникла одна небольшая проблемка. Можете подсказать?
Суть проблемы такова: при подключение к Базе 1С 7.7 я получаю документ и могу работать со всеми его реквизитами, кроме реквизитов в которых содержатся другие объекты. Например документ "Поступление доп. расходов" у которого есть реквизит "Основание" в котором содержится документ основание. При обращении к данному реквизиту я получаю значение Com-объект и больше ничего получить не могу. Ни номера его, ни даты.
Может подскажете, как можно вытащить дополнительно эту информацию?
54. swimdog 765 09.10.12 22:11 Сейчас в теме
(53) DimanYa, Com-объект получается в базе приемнике, так как документ основания - это объект другой базы, который нельзя получить/просмотреть в базе приемнике. Зато можно получить его текстовые / числовые реквизиты. В том числе номер и дату.
Например, Документ.Документ-основание.Номер
56. perceptron123 11.11.12 18:03 Сейчас в теме
Добрый день! Я совсем новичок в 1с. Переношу с помощью обработки справочник "Банковские счета", подскажите, пожалуйста, что надо написать вместо:

//НовыйСпрV8.Банк = СправV7.БанкОрганизации;
//НовыйСпрV8.БанкДляРасчетов = СправV7.БанкДляРасчетов;

- то есть как обработать реквизиты не простых типов (число, строка, булево и т.д.), а сложных типа справочник.банки? Приведите, пожалуйста один наглядный пример, дальше по-аналогии сам разберусь! =) Заранее спасибо!
57. perceptron123 11.11.12 20:49 Сейчас в теме
Вроде разобрался с предыдущим вопросом, но возник другой. Возникает ошибка "Значение поля "Владелец" не заполнено или заполнено не верно". В Чем может быть косяк? Вот все изменения которые я внес в код который предлагает обработка:
СправБ8 = Справочники.Банки;
СправВ = Справочники.Валюты;
НовыйСпрV8.НомерСчета = СправV7.Номер;
НовыйСпрV8.Банк = СправБ8.НайтиПоРеквизиту("КоррСчет",СправV7.БанкОрганизации.КоррСчет);
НовыйСпрV8.БанкДляРасчетов = СправБ8.НайтиПоРеквизиту("КоррСчет",СправV7.БанкОрганизации.КоррСчет);
НовыйСпрV8.ТекстКорреспондента = СправV7.Корреспондент;
НовыйСпрV8.ВидСчета = СправV7.ВидСчета;
НовыйСпрV8.ВалютаДенежныхСредств = СправВ.НайтиПоКоду(643);
НовыйСпрV8.НомерИДатаРазрешения = СправV7.НомерИДатаРазрешения;
НовыйСпрV8.ДатаОткрытия = СправV7.ДатаОткрытияСчета;
НовыйСпрV8.ДатаЗакрытия = СправV7.ДатаЗакрытияСчета;
НовыйСпрV8.МесяцПрописью = Булево(СправV7.МесяцПрописью);
НовыйСпрV8.СуммаБезКопеек = СправV7.СуммаБез00Копеек;
НовыйСпрV8.ВсегдаУказыватьКПП = Булево(СправV7.ВсегдаУказыватьКПП);
НовыйСпрV8.Записать();
И листинг с полным текстом кода во вложении. Спасибо! =)
Прикрепленные файлы:
list.txt
58. swimdog 765 11.11.12 21:53 Сейчас в теме
(57) perceptron123, поле владелец у справочника Банковские счета это обычно справочник Контрагенты или Организации. То есть, это та карточка, для которой заполняется банковский счет.
Владелец должен быть указан 2 раза: в момент выборки данных в 7.7 и при записи новой карточки в 8.
59. perceptron123 12.11.12 17:50 Сейчас в теме
Спасибо! =) Разобрался! Обработка хороша! =) С КД как новичку в 1с мне разобраться было совсем тяжело (слишком много терминов =)), здесь все понятнее. Из минусов - редактор кода (в 1с он и так ужасен, а тут еще и контекстная справка недоступна) и отсутствие заготовки в тексте автогенерируемого кода для реквизита "наименование", но это я скорее уже придираюсь... =)
60. warlomak 07.02.13 16:08 Сейчас в теме
Обработка очень помогла, написал за вечер правила для обмена между нестандартными конфами.
61. warlomak 07.02.13 16:11 Сейчас в теме
Если один недостаток, при сохранении не всегда потом опять загружаются процедуры.
62. alekseies 19.02.13 14:55 Сейчас в теме
Из 7.7 в 8.2 ряд справочников перенесла нормально, документы также ......
Главное правильно показать какие реквизиты переносить.
Нужная вещь для начала. Плюсую ....
64. MyPuK_OLD 23.12.13 15:46 Сейчас в теме
Всем доброго времени суток!!!
У данной обработки уж очень короткое описание..
Эта обработка создает в 8.2 номенклатуру копируя её Наименование, Код, Артикул и т. д. из 7.7? Имеет ли какое-то значение конфигурация? Или из любой 7.7 в любую 8.2 переноситься?
Сядут ли номенклатуры при таком переносе в свои же номенклатурные группы (имею ввиду Родителя, (папку более высокого уровня))
Или я что-то недопонимаю?..
Всем заранее Спасибо!
65. swimdog 765 23.12.13 21:43 Сейчас в теме
(64) MyPuK_OLD, обработка связывает 2 базы и дает возможность исполнить написанный ВАМИ код. А что, как и куда сядет зависит от кода.
66. Abbra 23 29.12.13 21:49 Сейчас в теме
swimdog, так как все-таки с иерархией загружаемого справочника поступить?
есть варианты?
67. Abbra 23 30.12.13 00:22 Сейчас в теме
решение иерархичности для номенклатура пуб7.7-номенклатура бп3.0:


СправV8 = Справочники.Номенклатура;
СправV7 = БазаОле.CreateObject("Справочник.Номенклатура");
СправV7.ВыбратьЭлементы();
Пока СправV7.ПолучитьЭлемент() = 1 Цикл
ОбработкаПрерыванияПользователя();
Если СправV7.ПометкаУдаления() = 1 Тогда
// Продолжить;
КонецЕсли;

Код = "З"+стПривестиНомерКДлине(СправV7.Код, 10);
НовыйСпрV8 = СправV8.НайтиПоКоду(Код);

если СправV7.уровень() = 1 тогда
иначе
КодРодителя = "З"+стПривестиНомерКДлине(СправV7.Родитель.Код, 10);
РодительСпрV8 = СправV8.НайтиПоКоду(КодРодителя);
КонецЕсли;

Если СправV7.ЭтоГруппа() Тогда
//Сообщить("Это группа");
Если НовыйСпрV8 = Неопределено ИЛИ НовыйСпрV8.Пустая() Тогда
НовыйСпрV8 = СправV8.СоздатьГруппу();
НовыйСпрV8.код = код;

Иначе
НовыйСпрV8 = НовыйСпрV8.ПолучитьОбъект();
Если НовыйСпрV8.Наименование <> СправV7.Наименование тогда
Сообщить("ТРЕВОГА ТРЕВОГА ВОЛК УНЕС ЗАЙЧАТ");
продолжить;
конецЕсли;
КонецЕсли;
НовыйСпрV8.Наименование = СправV7.Наименование;
//сообщить("1 уровень "+СправV7.уровень());
//сообщить("2 полный код "+СправV7.полныйкод());
если СправV7.уровень() = 1 тогда
НовыйСпрV8.Записать();
иначе
Если РодительСпрV8 = Неопределено ИЛИ РодительСпрV8.Пустая() Тогда
//Сообщить("код не найденного родителя "+кодродителя);
Сообщить("код не найденного родителя "+кодродителя+" код элемента"+НовыйСпрV8.код);
прервать;
//РодительСпрV8 = СправV8.СоздатьГруппу();
продолжить;
Иначе
НовыйСпрV8.Родитель = РодительСпрV8;
//Сообщить("Код родителя "+кодродителя);
//Сообщить("Нашли родителя "+РодительСпрV8);
НовыйСпрV8.Записать();

КонецЕсли;
КонецЕсли;
Иначе
//Сообщить("Это элемент");
Если НовыйСпрV8 = Неопределено ИЛИ НовыйСпрV8.Пустая() Тогда
НовыйСпрV8 = СправV8.СоздатьЭлемент();
НовыйСпрV8.код = код;
Иначе
НовыйСпрV8 = НовыйСпрV8.ПолучитьОбъект();
Если НовыйСпрV8.Наименование <> СправV7.Наименование тогда
Сообщить("ТРЕВОГА ТРЕВОГА ВОЛК УНЕС ЗАЙЧАТ");
продолжить;
конецЕсли;

КонецЕсли;
//Сообщить("в группе "+СправV7.родитель.код);
//Сообщить("Код родителя "+кодродителя);
если СправV7.уровень() = 1 тогда
НовыйСпрV8.Записать();
иначе
Если РодительСпрV8 = Неопределено ИЛИ РодительСпрV8.Пустая() Тогда
//РодительСпрV8 = СправV8.СоздатьГруппу();
Сообщить("код не найденного родителя "+кодродителя+" код элемента"+НовыйСпрV8.код);
продолжить;
Иначе
НовыйСпрV8.Родитель = РодительСпрV8;
//Сообщить("Код родителя "+кодродителя);
//Сообщить("Нашли родителя "+РодительСпрV8);
//НовыйСпрV8.Записать();

КонецЕсли;
КонецЕсли;


НовыйСпрV8.Наименование = СправV7.Наименование;
НовыйСпрV8.НаименованиеПолное = СправV7.ПолнНаименование;
НовыйСпрV8.Артикул = СправV7.Артикул;

НовыйСпрV8.ЕдиницаИзмерения = справочники.КлассификаторЕдиницИзмерения.НайтиПоКоду(СправV7.ЕдиницаИзмерения.Код);

//Если СправV7.СтавкаНДС = неопределено Тогда
//сообщить(""+БазаОле.ПустоеЗначение(СправV7.СтавкаНДС));
//Если БазаОле.ПустоеЗначение(СправV7.СтавкаНДС.Получить(БазаОле.ТекущаяДата())) <> 0 Тогда
//ИначеЕсли СправV7.СтавкаНДС.Ставка.Получить(БазаОле.ТекущаяДата()) = 18 Тогда НовыйСпрV8.СтавкаНДС = перечисления.СтавкиНДС.НДС18;
//ИначеЕсли СправV7.СтавкаНДС.Ставка.Получить(БазаОле.ТекущаяДата()) = 10 Тогда НовыйСпрV8.СтавкаНДС = перечисления.СтавкиНДС.НДС10;
//КонецЕсли;
НовыйСпрV8.СтавкаНДС = перечисления.СтавкиНДС.НДС18;
НовыйСпрV8.Комментарий = СправV7.Комментарий;

//Сообщить("услуга-"+СправV7.ВидНоменклатуры.ТипНоменклатуры.Идентификатор()+"-услуга");
НовыйСпрV8.Услуга = ?(СправV7.ВидНоменклатуры.ТипНоменклатуры.Идентификатор()="Услуга",Истина,Ложь);
//НовыйСпрV8.НоменклатурнаяГруппа = СправV7;
//НовыйСпрV8.СтранаПроисхождения = СправV7.СтранаПроисхождения;
//НовыйСпрV8.НомерГТД = СправV7.ГТД; //пустые
//НовыйСпрV8.СтатьяЗатрат = СправV7.;
//НовыйСпрV8.ОсновнаяСпецификацияНоменклатуры = СправV7.;
//НовыйСпрV8.Производитель = СправV7.;
//НовыйСпрV8.Импортер = СправV7.;
НовыйСпрV8.Записать();

КонецЕсли;
Если СправV7.ПометкаУдаления() = 1 Тогда
НовыйСпрV8.ПометкаУдаления = Истина;
НовыйСпрV8.Записать();
КонецЕсли;


КонецЦикла;
68. Abbra 23 30.12.13 00:24 Сейчас в теме
выполнять несколько раз пока не пропадут сообщения "код не найденного родителя..."
69. Abbra 23 30.12.13 00:29 Сейчас в теме
Если возникает сообщение "ТРЕВОГА..." то надо было перенумеровать справочник в 7.7
70. Abbra 23 30.12.13 03:34 Сейчас в теме
вот еще загрузка материалов в номенклатуру
тут периодичность кодов в пределах подчинения
и ставки ндс разные - теперь переносятся


СправV8 = Справочники.Номенклатура;
СправV7 = БазаОле.CreateObject("Справочник.Материалы");
СтавкаНДСV7 = БазаОле.CreateObject("Справочник.СтавкиНДС");
СправV7.ВыбратьЭлементы();
Пока СправV7.ПолучитьЭлемент() = 1 Цикл
ОбработкаПрерыванияПользователя();
Если СправV7.ПометкаУдаления() = 1 Тогда
// Продолжить;
КонецЕсли;

ПолныйКод = СправV7.полныйкод();
// Сообщить("ПолныйКод "+ПолныйКод);
Р = "/";
Код = "М";
ур = 2;
Пока Найти(Полныйкод,Р) > 0 цикл
поз = Найти(Полныйкод,Р);
Код = Код + стПривестиНомерКДлине(Лев(ПолныйКод,поз-1),3-ур);
ур = 0;
ПолныйКод = сред(ПолныйКод,поз+1);
КонецЦикла;
Код = Код + стПривестиНомерКДлине(ПолныйКод,3-ур);
длинакода = СтрДлина(код);
Для сч = длинакода+1 по 11 цикл
Код = Код + "0";
КонецЦикла;
//Сообщить("Код "+код);

//Код = "М"+стПривестиНомерКДлине(СправV7.Код, 10);
НовыйСпрV8 = СправV8.НайтиПоКоду(Код);

если СправV7.уровень() = 1 тогда
иначе
ПолныйКод = СправV7.родитель.полныйкод();
//Сообщить("ПолныйКодРодителя "+ПолныйКод);
Р = "/";
КодРодителя = "М";
ур = 2;
Пока Найти(Полныйкод,Р) > 0 цикл
поз = Найти(Полныйкод,Р);
КодРодителя = КодРодителя + стПривестиНомерКДлине(Лев(ПолныйКод,поз-1),3-ур);
ур = 0;
ПолныйКод = сред(ПолныйКод,поз+1);
КонецЦикла;
КодРодителя = КодРодителя + стПривестиНомерКДлине(ПолныйКод,3-ур);
длинакода = СтрДлина(КодРодителя);
Для сч = длинакода+1 по 11 цикл
КодРодителя = КодРодителя + "0";
КонецЦикла;
//Сообщить("КодРодителя "+КодРодителя);

//КодРодителя = "З"+стПривестиНомерКДлине(СправV7.Родитель.Код, 10);
РодительСпрV8 = СправV8.НайтиПоКоду(КодРодителя);

КонецЕсли;

//продолжить;


Если СправV7.ЭтоГруппа() Тогда
//Сообщить("Это группа");
Если НовыйСпрV8 = Неопределено ИЛИ НовыйСпрV8.Пустая() Тогда
НовыйСпрV8 = СправV8.СоздатьГруппу();
НовыйСпрV8.код = код;

Иначе
НовыйСпрV8 = НовыйСпрV8.ПолучитьОбъект();
Если НовыйСпрV8.Наименование <> СправV7.Наименование тогда
Сообщить("ТРЕВОГА ТРЕВОГА ВОЛК УНЕС ЗАЙЧАТ");
продолжить;
конецЕсли;
КонецЕсли;
НовыйСпрV8.Наименование = СправV7.Наименование;
//сообщить("1 уровень "+СправV7.уровень());
//сообщить("2 полный код "+СправV7.полныйкод());
если СправV7.уровень() = 1 тогда
НовыйСпрV8.Записать();
иначе
Если РодительСпрV8 = Неопределено ИЛИ РодительСпрV8.Пустая() Тогда
//Сообщить("код не найденного родителя "+кодродителя);
Сообщить("код не найденного родителя "+кодродителя+" код элемента"+НовыйСпрV8.код);
прервать;
//РодительСпрV8 = СправV8.СоздатьГруппу();
продолжить;
Иначе
НовыйСпрV8.Родитель = РодительСпрV8;
//Сообщить("Код родителя "+кодродителя);
//Сообщить("Нашли родителя "+РодительСпрV8);
НовыйСпрV8.Записать();

КонецЕсли;
КонецЕсли;
Иначе
//Сообщить("Это элемент");
Если НовыйСпрV8 = Неопределено ИЛИ НовыйСпрV8.Пустая() Тогда
НовыйСпрV8 = СправV8.СоздатьЭлемент();
НовыйСпрV8.код = код;
Иначе
НовыйСпрV8 = НовыйСпрV8.ПолучитьОбъект();
Если НовыйСпрV8.Наименование <> СправV7.Наименование тогда
Сообщить("ТРЕВОГА ТРЕВОГА ВОЛК УНЕС ЗАЙЧАТ");
продолжить;
конецЕсли;

КонецЕсли;
//Сообщить("в группе "+СправV7.родитель.код);
//Сообщить("Код родителя "+кодродителя);
если СправV7.уровень() = 1 тогда
НовыйСпрV8.Записать();
иначе
Если РодительСпрV8 = Неопределено ИЛИ РодительСпрV8.Пустая() Тогда
//РодительСпрV8 = СправV8.СоздатьГруппу();
Сообщить("код не найденного родителя "+кодродителя+" код элемента"+НовыйСпрV8.код);
продолжить;
Иначе
НовыйСпрV8.Родитель = РодительСпрV8;
//Сообщить("Код родителя "+кодродителя);
//Сообщить("Нашли родителя "+РодительСпрV8);
//НовыйСпрV8.Записать();

КонецЕсли;
КонецЕсли;


НовыйСпрV8.Наименование = СправV7.Наименование;
НовыйСпрV8.НаименованиеПолное = СправV7.ПолнНаименование;
НовыйСпрV8.Артикул = СправV7.Артикул;

НовыйСпрV8.ЕдиницаИзмерения = справочники.КлассификаторЕдиницИзмерения.НайтиПоКоду(СправV7.ЕдиницаИзмерения.Код);

найдСтНДС = СтавкаНДСV7.НайтиЭлемент(СправV7.СтавкаНДС.получить(Дата(2013,12,31)));
//сообщить("материал "+СправV7.наименование);
//сообщить("ставка "+СтавкаНДСV7.ставка);

Если БазаОле.ПустоеЗначение(СтавкаНДСV7)=СтавкаНДСV7 или неопределено = СтавкаНДСV7 или найдстндс = 0 Тогда
НовыйСпрV8.СтавкаНДС="";
//сообщить("поймал "+СправV7.наименование);
//сообщить("ставка "+найдСтНДС.ставка.идентификатор);
//Если БазаОле.ПустоеЗначение(СправV7.СтавкаНДС.Получить(БазаОле.ТекущаяДата())) <> 0 Тогда
ИначеЕсли СтавкаНДСV7.ставка = 18 Тогда НовыйСпрV8.СтавкаНДС = перечисления.СтавкиНДС.НДС18;
ИначеЕсли СтавкаНДСV7.ставка = 10 Тогда НовыйСпрV8.СтавкаНДС = перечисления.СтавкиНДС.НДС10;
ИначеЕсли СтавкаНДСV7.ставка = 0 Тогда НовыйСпрV8.СтавкаНДС = перечисления.СтавкиНДС.БЕЗНДС;
КонецЕсли;
//НовыйСпрV8.СтавкаНДС = перечисления.СтавкиНДС.НДС18;
НовыйСпрV8.Комментарий = СправV7.Комментарий;

//Сообщить("услуга-"+СправV7.ВидНоменклатуры.ТипНоменклатуры.Идентификатор()+"-услуга");
//НовыйСпрV8.Услуга = ?(СправV7.ВидНоменклатуры.ТипНоменклатуры.Идентификатор()="Услуга",Истина,Ложь);
//НовыйСпрV8.НоменклатурнаяГруппа = СправV7;
//НовыйСпрV8.СтранаПроисхождения = СправV7.СтранаПроисхождения;
//НовыйСпрV8.НомерГТД = СправV7.ГТД; //пустые
//НовыйСпрV8.СтатьяЗатрат = СправV7.;
//НовыйСпрV8.ОсновнаяСпецификацияНоменклатуры = СправV7.;
//НовыйСпрV8.Производитель = СправV7.;
//НовыйСпрV8.Импортер = СправV7.;
НовыйСпрV8.Записать();

КонецЕсли;
Если СправV7.ПометкаУдаления() = 1 Тогда
НовыйСпрV8.ПометкаУдаления = Истина;
НовыйСпрV8.Записать();
КонецЕсли;


КонецЦикла;
71. Abbra 23 30.12.13 05:22 Сейчас в теме
контрагенты


СправV8 = Справочники.Контрагенты;
СправV7 = БазаОле.CreateObject("Справочник.Контрагенты");
СправV7.ВыбратьЭлементы();
Пока СправV7.ПолучитьЭлемент() = 1 Цикл
ОбработкаПрерыванияПользователя();
Если СправV7.ПометкаУдаления() = 1 Тогда
// Продолжить;
КонецЕсли;

Код = "З"+стПривестиНомерКДлине(СправV7.Код, 8);
НовыйСпрV8 = СправV8.НайтиПоКоду(Код);

если СправV7.уровень() = 1 тогда
иначе
КодРодителя = "З"+стПривестиНомерКДлине(СправV7.Родитель.Код, 8);
РодительСпрV8 = СправV8.НайтиПоКоду(КодРодителя);
КонецЕсли;

Если СправV7.ЭтоГруппа() Тогда
//Сообщить("Это группа");
Если НовыйСпрV8 = Неопределено ИЛИ НовыйСпрV8.Пустая() Тогда
НовыйСпрV8 = СправV8.СоздатьГруппу();
НовыйСпрV8.код = код;

Иначе
НовыйСпрV8 = НовыйСпрV8.ПолучитьОбъект();
Если НовыйСпрV8.Наименование <> СправV7.Наименование тогда
Сообщить("ТРЕВОГА ТРЕВОГА ВОЛК УНЕС ЗАЙЧАТ");
продолжить;
конецЕсли;
КонецЕсли;
НовыйСпрV8.Наименование = СправV7.Наименование;
//сообщить("1 уровень "+СправV7.уровень());
//сообщить("2 полный код "+СправV7.полныйкод());
если СправV7.уровень() = 1 тогда
НовыйСпрV8.Записать();
иначе
Если РодительСпрV8 = Неопределено ИЛИ РодительСпрV8.Пустая() Тогда
//Сообщить("код не найденного родителя "+кодродителя);
Сообщить("код не найденного родителя "+кодродителя+" код элемента"+НовыйСпрV8.код);
прервать;
//РодительСпрV8 = СправV8.СоздатьГруппу();
продолжить;
Иначе
НовыйСпрV8.Родитель = РодительСпрV8;
//Сообщить("Код родителя "+кодродителя);
//Сообщить("Нашли родителя "+РодительСпрV8);
НовыйСпрV8.Записать();

КонецЕсли;
КонецЕсли;
Иначе
//Сообщить("Это элемент");
Если НовыйСпрV8 = Неопределено ИЛИ НовыйСпрV8.Пустая() Тогда
НовыйСпрV8 = СправV8.СоздатьЭлемент();
НовыйСпрV8.код = код;
Иначе
НовыйСпрV8 = НовыйСпрV8.ПолучитьОбъект();
Если НовыйСпрV8.Наименование <> СправV7.Наименование тогда
Сообщить("ТРЕВОГА ТРЕВОГА ВОЛК УНЕС ЗАЙЧАТ");
продолжить;
конецЕсли;

КонецЕсли;
//Сообщить("в группе "+СправV7.родитель.код);
//Сообщить("Код родителя "+кодродителя);
если СправV7.уровень() = 1 тогда
НовыйСпрV8.Записать();
иначе
Если РодительСпрV8 = Неопределено ИЛИ РодительСпрV8.Пустая() Тогда
//РодительСпрV8 = СправV8.СоздатьГруппу();
Сообщить("код не найденного родителя "+кодродителя+" код элемента"+НовыйСпрV8.код);
продолжить;
Иначе
НовыйСпрV8.Родитель = РодительСпрV8;
//Сообщить("Код родителя "+кодродителя);
//Сообщить("Нашли родителя "+РодительСпрV8);
//НовыйСпрV8.Записать();

КонецЕсли;
КонецЕсли;


НовыйСпрV8.Наименование = СправV7.Наименование;
НовыйСпрV8.НаименованиеПолное = СправV7.ПолнНаименование;
//НовыйСпрV8.ОбособленноеПодразделение = СправV7.;
НовыйСпрV8.ЮридическоеФизическоеЛицо = ?(СправV7.ВидКонтрагента.Идентификатор() = "Организация",перечисления.юридическоефизическоелицо.ЮридическоеЛицо,перечисления.юридическоефизическоелицо.ФизическоеЛицо);
//НовыйСпрV8.ГоловнойКонтрагент = СправV7.;
Инн = сокрлп(СправV7.ИНН);
Если стрДлина(Инн) = 12 или стрДлина(Инн) = 13 тогда
НовыйСпрV8.ЮридическоеФизическоеЛицо = перечисления.юридическоефизическоелицо.ФизическоеЛицо;
НовыйСпрV8.ИНН = лев(ИНН,12);
Иначе
НовыйСпрV8.ИНН = лев(ИНН,10);
НовыйСпрV8.КПП = сред(инн,12);
КонецЕсли;

НовыйСпрV8.КодПоОКПО = СправV7.ОКПО;
НовыйСпрV8.ДокументУдостоверяющийЛичность = "Паспорт "+СправV7.ДокументСерия+" "+СправV7.ДокументНомер+", выдан "+СправV7.ДокументДатаВыдачи+" "+СправV7.ДокументКемВыдан;
//НовыйСпрV8.ОсновнойБанковскийСчет = СправV7.;
//НовыйСпрV8.ОсновнойДоговорКонтрагента = СправV7.;
//НовыйСпрV8.ОсновноеКонтактноеЛицо = СправV7.;
НовыйСпрV8.Комментарий = ""+СправV7.ИНН+" "+СправV7.Комментарий;
//НовыйСпрV8.ДополнительнаяИнформация = СправV7.;
//НовыйСпрV8.УдалитьЮрФизЛицо = СправV7.;
ки = НовыйСпрV8.КонтактнаяИнформация;
ки.очистить();
ски = ки.добавить();
ски.тип = перечисления.ТипыКонтактнойИнформации.Телефон;
ски.вид = справочники.ВидыКонтактнойИнформации.ТелефонКонтрагента;
ски.представление = СправV7.Телефоны;
ски = ки.добавить();
ски.тип = перечисления.ТипыКонтактнойИнформации.Адрес;
ски.вид = справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента;
ски.представление = СправV7.ЮридическийАдрес;
ски = ки.добавить();
ски.тип = перечисления.ТипыКонтактнойИнформации.Адрес;
ски.вид = справочники.ВидыКонтактнойИнформации.ПочтовыйАдресКонтрагента;
ски.представление = СправV7.ПочтовыйАдрес;
ки.свернуть("тип,вид,представление");

//ДанныеШапки.Вставить("АдресПокупателя", ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОПокупателе, "ЮридическийАдрес,"));
//СведенияОПокупателе = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(Реквизиты.Покупатель, ВыборкаСФ.Дата);

НовыйСпрV8.Записать();
КонецЕсли;


Если СправV7.ПометкаУдаления() = 1 Тогда
НовыйСпрV8.ПометкаУдаления = Истина;
НовыйСпрV8.Записать();
КонецЕсли;

КонецЦикла;
72. piterantares 239 05.03.14 03:06 Сейчас в теме
Тогда уж создай файлы под основные справочники и документы =)
Спасибо!
73. Vadim75 19 22.10.14 16:21 Сейчас в теме
Еще не скачивал обработку, предварительно хотелось бы узнать, как здесь реализована создание иерархической структуры для нового элемента в справочнике (контрагенты или номенклатура)? Спасибо.
75. swimdog 765 22.10.14 17:37 Сейчас в теме
(73) Vadim75, см. комментарий 65
74. Vadim75 19 22.10.14 16:47 Сейчас в теме
Подскажите, пожалуйста, как открыть обработку в 1с 8.3?
76. swimdog 765 22.10.14 17:38 Сейчас в теме
(74) Vadim75, см. комментарий 16
77. gribas 25.11.18 16:51 Сейчас в теме
Кто переносил справочники из 7.7 КА?
При переносе контрагентов минимум полей, даже ИНН нет..
Прикрепленные файлы:
78. swimdog 765 25.11.18 16:53 Сейчас в теме
(77) может инн в справочнике юрфизлицо?
Оставьте свое сообщение