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

31.10.16

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Загрузка документов и справочников из 7.7 в 8.2
.epf 30,45Kb
1981
1981 Скачать (5 SM) Купить за 3 050 руб.

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

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

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

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

См. также

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

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

12000 руб.

02.09.2020    172249    964    403    

925

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

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    14795    108    46    

108

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

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

22200 руб.

06.10.2023    17387    43    15    

75

Инструментарий разработчика Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    27421    96    48    

139

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

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

15000 руб.

10.11.2023    11983    45    33    

67

SALE! %

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

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

4800 3840 руб.

14.01.2013    191424    1153    0    

920

Инструментарий разработчика Программист 8.3.14 Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

20000 руб.

07.10.2021    18128    7    32    

42

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

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    1176    2    0    

5
Отзывы
16. happyden 25 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 774 22.04.11 20:44 Сейчас в теме
(1) она не зависла. Окно подключения к семерке может быть не видно. Переключение Alt-Tab
(2) поменял
2. Alex1c 32 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 774 28.04.11 21:16 Сейчас в теме
(5) я полагаю, что можно перегнать стандартными правилами конвертации бухгалтерия 77-82. Если в них нет плат. поручения, то можно взять эти правила за основу.
7. CaSH_2004 373 29.04.11 00:48 Сейчас в теме
Очень мощная обработка, правда не без помарок. Вот например захожу на закладку справочнии и выбираю для 7 и 8 "Банковские счета"
Виден реквизит банки а у него для 7-ки тип реквизита "Справочник.Банки", а для 8-ки тип "Банки". Мне то понятно и без колонки Тип реквизита к какому типу что относится, т.к. знаю в оновном все реквизиты в типовых конфах, но если не секрет то что это? задумка или недоработка? Вроде уве должно быть максимально однотипным, а "Справочник.Банки" это гораздо нагляднее и правильнее, т.к. типа "Банки" в 1С не существует
новичка это вообще в супор ввести может :)
12. swimdog 774 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 774 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 25 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 774 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 774 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 774 26.10.11 21:21 Сейчас в теме
(24) razzmuzz, смотри описание обработки и п.3
25. daviels 26.10.11 10:54 Сейчас в теме
ну ка ну ка :) сейчас попробуем что за обработка. Отпишусь какие касяки, если найду конечно такие... ну вот народ пишет что что то уже есть. В целом думаю будет очень востребованный продукт
26. swimdog 774 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 774 07.11.11 22:12 Сейчас в теме
(35) Alexan78, могу выложить, чтобы все пользовались
37. eleka 59 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 6 22.12.11 04:19 Сейчас в теме
Спасибо, удобная обработка и очень полезна.
44. Sbelyi78 10 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 774 07.09.12 20:35 Сейчас в теме
(51) Eugeneer, нет. обработку использовал всего пару раз, поэтому не заморачивался.
53. DimanYa 09.10.12 13:03 Сейчас в теме
Переношу вашей обработкой данные, но возникла одна небольшая проблемка. Можете подсказать?
Суть проблемы такова: при подключение к Базе 1С 7.7 я получаю документ и могу работать со всеми его реквизитами, кроме реквизитов в которых содержатся другие объекты. Например документ "Поступление доп. расходов" у которого есть реквизит "Основание" в котором содержится документ основание. При обращении к данному реквизиту я получаю значение Com-объект и больше ничего получить не могу. Ни номера его, ни даты.
Может подскажете, как можно вытащить дополнительно эту информацию?
54. swimdog 774 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 774 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 774 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 774 22.10.14 17:37 Сейчас в теме
(73) Vadim75, см. комментарий 65
74. Vadim75 19 22.10.14 16:47 Сейчас в теме
Подскажите, пожалуйста, как открыть обработку в 1с 8.3?
76. swimdog 774 22.10.14 17:38 Сейчас в теме
(74) Vadim75, см. комментарий 16
77. gribas 25.11.18 16:51 Сейчас в теме
Кто переносил справочники из 7.7 КА?
При переносе контрагентов минимум полей, даже ИНН нет..
Прикрепленные файлы:
78. swimdog 774 25.11.18 16:53 Сейчас в теме
(77) может инн в справочнике юрфизлицо?
Оставьте свое сообщение