Перенос регистра бухгалтерии "Хозрасчетный" в идентичную конфигурацию

12.08.12

Интеграция - Обмен между базами 1C

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

Скачать исходный код

Наименование Файл Версия Размер
Выгрузка хозрасчетного через внешнее соединение
.epf 7,74Kb
35
.epf 7,74Kb 35 Скачать

Обработка запускается на базе, куда нужно перенести данные, и подключается к базе, через внешнее соединение, откуда нужно перенести данные. Вызывает функцию из модуля внешнего соединения подключенной базы, которая возвращает данные (ТЗ с данными хозрасчетного) и в текущей базе замещает все данные регистра полученными из другой базы.

В общем, в базе, к которой подключается обработка, в модуле внешнего соединения должна быть процедура:

// Процедура в модуле внешнего соединения подключаемой базы:  
        Функция ПолучитьДанныеТаблицыОбъекта() Экспорт   
           Запрос = Новый Запрос;  
           Запрос.Текст = "ВЫБРАТЬ  
           |   *  
           |ИЗ  
           |   РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто КАК ХозрасчетныйДвиженияССубконто
           |ГДЕ
           |   ХозрасчетныйДвиженияССубконто.Регистратор = &Регистратор";  
           Запрос.УстановитьПараметр("Регистратор",Документы.ЗакрытиеМесяца.НайтиПоНомеру("ГД000000001",'20110731'));
           ТЗ = Запрос.Выполнить().Выгрузить();  
           ТЗ.Сортировать("Регистратор");  
           ТЗ.Колонки.Добавить("СубконтоДт1Тип");  
           ТЗ.Колонки.Добавить("СубконтоДт2Тип");  
           ТЗ.Колонки.Добавить("СубконтоДт3Тип");  
           //ТЗ.Колонки.Добавить("СубконтоДт4Тип");  
           ТЗ.Колонки.Добавить("СубконтоКт1Тип");  
           ТЗ.Колонки.Добавить("СубконтоКт2Тип");  
           ТЗ.Колонки.Добавить("СубконтоКт3Тип");  
           //ТЗ.Колонки.Добавить("СубконтоКт4Тип");     
           ТЗ.Колонки.Добавить("РегистраторСсылка");  
           ТЗ.Колонки.Добавить("СчетДтСсылка");  
           ТЗ.Колонки.Добавить("СубконтоДт1Ссылка");  
           ТЗ.Колонки.Добавить("СубконтоДт2Ссылка");  
           ТЗ.Колонки.Добавить("СубконтоДт3Ссылка");  
           //ТЗ.Колонки.Добавить("СубконтоДт4Ссылка");  
           ТЗ.Колонки.Добавить("СчетКтСсылка");  
           ТЗ.Колонки.Добавить("СубконтоКт1Ссылка");  
           ТЗ.Колонки.Добавить("СубконтоКт2Ссылка");  
           ТЗ.Колонки.Добавить("СубконтоКт3Ссылка");  
           //ТЗ.Колонки.Добавить("СубконтоКт4Ссылка");  
           ТЗ.Колонки.Добавить("ОрганизацияСсылка");  
           ТЗ.Колонки.Добавить("ВалютаДтСсылка");  
           ТЗ.Колонки.Добавить("ВалютаКтСсылка");  
           ТЗ.Колонки.Добавить("НалоговоеНазначениеДтСсылка");  
           ТЗ.Колонки.Добавить("НалоговоеНазначениеКтСсылка");
           ТЗ.Колонки.Добавить("СчетДополнительныйСсылка");  
           Для Каждого Строка Из ТЗ Цикл  
              Строка.СубконтоДт1Тип = ЗначениеВСтрокуВнутр(Строка.ВидСубконтоДт1);  
              Строка.СубконтоДт2Тип = ЗначениеВСтрокуВнутр(Строка.ВидСубконтоДт2);  
              Строка.СубконтоДт3Тип = ЗначениеВСтрокуВнутр(Строка.ВидСубконтоДт3);  
              //Строка.СубконтоДт4Тип = ЗначениеВСтрокуВнутр(Строка.ВидСубконтоДт4);  
              Строка.СубконтоКт1Тип = ЗначениеВСтрокуВнутр(Строка.ВидСубконтоКт1);  
              Строка.СубконтоКт2Тип = ЗначениеВСтрокуВнутр(Строка.ВидСубконтоКт2);  
              Строка.СубконтоКт3Тип = ЗначениеВСтрокуВнутр(Строка.ВидСубконтоКт3);  
              //Строка.СубконтоКт4Тип = ЗначениеВСтрокуВнутр(Строка.ВидСубконтоКт4);        
              Строка.РегистраторСсылка = ЗначениеВСтрокуВнутр(Строка.Регистратор);  
              Строка.СчетДтСсылка = ЗначениеВСтрокуВнутр(Строка.СчетДт);  
              Строка.СубконтоДт1Ссылка = ЗначениеВСтрокуВнутр(Строка.СубконтоДт1);  
              Строка.СубконтоДт2Ссылка = ЗначениеВСтрокуВнутр(Строка.СубконтоДт2);  
              Строка.СубконтоДт3Ссылка = ЗначениеВСтрокуВнутр(Строка.СубконтоДт3);  
              //Строка.СубконтоДт4Ссылка = ЗначениеВСтрокуВнутр(Строка.СубконтоДт4);  
              Строка.СчетКтСсылка = ЗначениеВСтрокуВнутр(Строка.СчетКт);  
              Строка.СубконтоКт1Ссылка = ЗначениеВСтрокуВнутр(Строка.СубконтоКт1);  
              Строка.СубконтоКт2Ссылка = ЗначениеВСтрокуВнутр(Строка.СубконтоКт2);  
              Строка.СубконтоКт3Ссылка = ЗначениеВСтрокуВнутр(Строка.СубконтоКт3);  
              //Строка.СубконтоКт4Ссылка = ЗначениеВСтрокуВнутр(Строка.СубконтоКт4);  
              Строка.ОрганизацияСсылка = ЗначениеВСтрокуВнутр(Строка.Организация);  
              Строка.ВалютаДтСсылка = ЗначениеВСтрокуВнутр(Строка.ВалютаДт);  
              Строка.ВалютаКтСсылка = ЗначениеВСтрокуВнутр(Строка.ВалютаКт);  
              Строка.НалоговоеНазначениеДтСсылка = ЗначениеВСтрокуВнутр(Строка.НалоговоеНазначениеДт);  
              Строка.НалоговоеНазначениеКтСсылка = ЗначениеВСтрокуВнутр(Строка.НалоговоеНазначениеКт);  
              Строка.СчетДополнительныйСсылка = ЗначениеВСтрокуВнутр(Строка.СчетДополнительный);     
           КонецЦикла;  
           Возврат(ТЗ);  
        КонецФункции

Как видим в запросе стоит отбор по регистратору. Таким образом перетянутся данные только одного документа. Если убрать отбор - перетянутся все данные.

А это модуль формы обработки, которая запускается в базе, куда нужно перенести данные:

Перем ТекПоказатьСостояние;  
        Процедура КнопкаВыполнитьНажатие(Кнопка)  

           ПоказатьСостояние("Попытка подключения...");  
           Соединение = Новый COMObject("V82.COMConnector");   

           База = Соединение.Connect("Srvr=""server1c"";Ref=""GOR_B"";Usr=""Логин"";Pwd=""36787463""");         // Для серверной базы
         //    База = Соединение.Connect("File=""D:\Bases\GOR_B"";Usr=""Логин"";Pwd=""36787463""");  // Для файловой базы

           ПоказатьСостояние("Выполняется получение данных из удаленной базы...");  
           ТЗ = База.ПолучитьДанныеТаблицыОбъекта();   
           КолВсего = ТЗ.Количество();  
           ПоказатьСостояние("Выполняется заполнене данных на этой базе...");  

           Итератор = 1;  

           ПервыйРаз = Истина;  
           ТекРегистратор = Неопределено;  
           НаборЗаписей = Неопределено;  
           Для Каждого Выборка Из ТЗ Цикл        
              Если ЗначениеИзСтрокиВнутр(Выборка.РегистраторСсылка) <> ТекРегистратор Тогда  
                 Если ПервыйРаз Тогда  
                    ПервыйРаз = Ложь;  
                 Иначе           
                    Попытка  
                       НаборЗаписей.Записать();  
                    Исключение  
                       Сообщить("Не удалось присвоить регистратора: "+ТекРегистратор);  
                       Возврат;  
                    КонецПопытки  
                 КонецЕсли;  
                 ТекРегистратор = ЗначениеИзСтрокиВнутр(Выборка.РегистраторСсылка);  
                 НаборЗаписей = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();  
                 НаборЗаписей.Отбор.Регистратор.Установить(ТекРегистратор);
                 //НаборЗаписей.Записать();
              КонецЕсли;  
              ПоказатьСостояние("Выполняется заполнене данных "+Окр(Итератор*100 /КолВсего,6)+" %");  
              Итератор = Итератор + 1;  
              Запись = НаборЗаписей.Добавить();  
              ЗаполнитьЗначенияСвойств(Запись,Выборка);  
              Запись.Регистратор = ЗначениеИзСтрокиВнутр(Выборка.РегистраторСсылка);  
              Запись.СчетДт = ЗначениеИзСтрокиВнутр(Выборка.СчетДтСсылка);  
              Запись.СубконтоДт[ЗначениеИзСтрокиВнутр(Выборка.СубконтоДт1Тип)] = ЗначениеИзСтрокиВнутр(Выборка.СубконтоДт1Ссылка);  
              Запись.СубконтоДт[ЗначениеИзСтрокиВнутр(Выборка.СубконтоДт2Тип)] = ЗначениеИзСтрокиВнутр(Выборка.СубконтоДт2Ссылка);  
              Запись.СубконтоДт[ЗначениеИзСтрокиВнутр(Выборка.СубконтоДт3Тип)] = ЗначениеИзСтрокиВнутр(Выборка.СубконтоДт3Ссылка);  
              //Запись.СубконтоДт[ЗначениеИзСтрокиВнутр(Выборка.СубконтоДт4Тип)] = ЗначениеИзСтрокиВнутр(Выборка.СубконтоДт4Ссылка);  
              Запись.СчетКт = ЗначениеИзСтрокиВнутр(Выборка.СчетКтСсылка);  
              Запись.СубконтоКт[ЗначениеИзСтрокиВнутр(Выборка.СубконтоКт1Тип)] = ЗначениеИзСтрокиВнутр(Выборка.СубконтоКт1Ссылка);  
              Запись.СубконтоКт[ЗначениеИзСтрокиВнутр(Выборка.СубконтоКт2Тип)] = ЗначениеИзСтрокиВнутр(Выборка.СубконтоКт2Ссылка);  
              Запись.СубконтоКт[ЗначениеИзСтрокиВнутр(Выборка.СубконтоКт3Тип)] = ЗначениеИзСтрокиВнутр(Выборка.СубконтоКт3Ссылка);  
              //Запись.СубконтоКт[ЗначениеИзСтрокиВнутр(Выборка.СубконтоКт4Тип)] = ЗначениеИзСтрокиВнутр(Выборка.СубконтоКт4Ссылка);  
              Запись.Организация = ЗначениеИзСтрокиВнутр(Выборка.ОрганизацияСсылка);  
              Запись.ВалютаДт = ЗначениеИзСтрокиВнутр(Выборка.ВалютаДтСсылка);  
              Запись.ВалютаКт = ЗначениеИзСтрокиВнутр(Выборка.ВалютаКтСсылка);
              Запись.НалоговоеНазначениеДт = ЗначениеИзСтрокиВнутр(Выборка.НалоговоеНазначениеДтСсылка);  
              Запись.НалоговоеНазначениеКт = ЗначениеИзСтрокиВнутр(Выборка.НалоговоеНазначениеКтСсылка);
              Запись.СчетДополнительный = ЗначениеИзСтрокиВнутр(Выборка.СчетДополнительныйСсылка);     
           КонецЦикла;  
           НаборЗаписей.Записать();  

        КонецПроцедуры  

        Процедура ПоказатьСостояние(Текст)  
           ТекПоказатьСостояние = Текст;  
           Состояние(Текст);  
        КонецПроцедуры  

        Процедура ОбновлениеОтображения()  
           Состояние(ТекПоказатьСостояние);  

       КонецПроцедуры

Конечно при нажатии на кнопку "Выполнить" запускается процедура "КнопкаВыполнитьНажатие".

Обработка перетяжки добавлена.

Опубликовал по своей оригинальной статье здесь: http://pro1c.org.ua/index.php?showtopic=4883

См. также

SALE! 10%

Перенос данных из УПП 1.3 в ERP 2 / УТ 11 / КА 2. Переносятся документы, справочная информация и остатки

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

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) в продаже с 2015 года, постоянно работаем над их развитием | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

50722 45650 руб.

04.08.2015    160276    356    268    

349

SALE! 15%

[ED3] Обмен для ERP 2.5, КА 2.5, УТ 11.5 БП 3.0, Розница, УНФ и других с EnterpriseData (универсальный формат обмена), правила обмена

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

25080 руб.

12.06.2017    135547    729    291    

391

SALE! 10%

Перенос данных из ERP 2 / КА 2 / УТ 11 в БП 3.0. Переносятся документы, начальные остатки и справочники

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | В продаже с 2019г. | Воспользовались более 176 предприятий! | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой, обращайтесь!

38500 34650 руб.

15.04.2019    68833    181    139    

111

Перенос данных из УПП 1.3 в БП 3.0. Переносятся документы (обороты за период), справочная информация и остатки

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.226.x) и БП 3.0 (3.0.151.x). Правила подходят для версии ПРОФ и КОРП.

28000 руб.

15.12.2021    20608    136    38    

94

Перенос данных из УТ 10.3 в УТ 11.5. Переносятся документы (обороты за период), справочная информация и остатки

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.87.x) и УТ 11.5 (11.5.16.x).

28000 руб.

23.07.2020    46755    199    64    

162

SALE! 10%

Перенос данных из БП 3.0 в УТ 11 / КА 2 / ERP 2. Переносятся начальные остатки, документы и справочники

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

В продаже с 2014г. | Воспользовались более 122 предприятий! | Перенос данных из БП 3.0 в УТ 11 | из БП 3.0 в КА 2 | из БП 3.0 в ERP | Сэкономьте свое время - используйте готовое решение для перехода! | Постоянно работаем над развитием переноса данных | Обновляем на новые релизы 1С | Есть фильтр выгрузки по организациям | Переносятся начальные остатки на выбранную дату, документы за период времени и вся возможная справочная информация | Перенос сделан на технологии КД 2 (правила конвертации данных)

50722 45650 руб.

31.10.2014    231898    125    327    

296

SALE! 10%

Перенос данных из БП 3.0 в УНФ 3.0 / УНФ 1.6. Переносятся остатки, документы и справочная информация

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

В продаже с 2018г. | Воспользовались более 41 предприятия! | Правила конвертации (КД 2) для переноса данных из БП 3 в УНФ | Переносятся все виды документов, начальные остатки и вся возможная справочная информация | Есть фильтр по организациям | Оперативно обновляем на новые релизы | Оказываем техподдержку | В комплект файлов входит инструкция, авторская версия обработки "Универсальный обмен...", актуальные правила переноса данных и архив старых версий переноса | Учет в БП 3 должен быть корректным, некорректные данные не переносятся | Можно бесплатно проверить на вашем сервере до покупки!

50722 руб.

10.07.2018    67751    41    123    

46

SALE! 10%

Перенос данных из ERP 2 / КА 2 в ЗУП 3. Переносятся остатки, документы и справочники

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Воспользовались более 79 предприятий! | Предлагаем приобрести готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | В продаже с 2020г. | Оперативно обновляем правила до актуальных релизов 1С | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

48278 43450 руб.

03.12.2020    34417    81    58    

78
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. m_aster 111 26.09.12 06:54 Сейчас в теме
Не открывается, ошибка хранилища!(
+
2. modul 157 27.09.12 12:23 Сейчас в теме
Странно, попробуйте скопируйте код из текста статьи.
+
3. a-m-gv 36 12.12.13 22:44 Сейчас в теме
Идея понравилась - за это плюсик.
НО выходит ошибка как и у m_asret. У меня обычная файловая база.
+
4. IMSensei 20.08.17 03:19 Сейчас в теме
5. Bunny 01.08.18 11:16 Сейчас в теме
ошибка хранилища
+
6. blockcode 40 20.02.19 13:42 Сейчас в теме
Ошибка при выполнении файловой операции 'D:\1C\Обработки\ВыгрузкаХозрасчетногоЧерезВнешнееСоединение_20­12_03.epf'
по причине:
Неверный формат хранилища данных 'file://D:/1C/Обработки/ВыгрузкаХозрасчетногоЧерезВнешнееСоединение_20­12_03.epf'
+
7. Vetal012 17 15.07.20 15:27 Сейчас в теме
Обработка не открывается!
Ошибка при выполнении файловой операции 'C:\Users\vitalii.vsc\Desktop\PUBID_147018-ВыгрузкаХозрасчетногоЧерезВнешнееСоединение_2012_03.epf'
по причине:
Неверный формат хранилища данных 'file://C:/Users/vitalii.vsc/Desktop/PUBID_147018-ВыгрузкаХозрасчетногоЧерезВнешнееСоединение_2012_03.epf'
+
8. VitalyKepov 53 27.04.22 22:56 Сейчас в теме
Обработку не качал. Сделал по описанию: всё прекрасно работает.
Спасибо)
+
Оставьте свое сообщение