[КА 2.4][БП 3.0] Перенос данных из БП 3.0 в КА 2.4 (начальное заполнение КА 2.4 по данным БП 3.0)





Перенос данных из БП 3.0 в КА 2.4 для первоначального заполнения КА данными из БП.
Версия 3.2.0.1 БП 3.0.68.66 КА 2.4.7.109 платформа 8.3.14.1630.
Версия 3.2.1.2 БП 3.0.70.25 КА 2.4.7.141 платформа 8.3.14.1630. Расширен состав документов для переноса. Добавлены Авансовый отчет, Требование-Накладная и Комплектация номенклатуры.
Версия 3.2.1.6 БП 3.0.70.39 КА 2.4.7.150 платформа 8.3.14.1694. Доработан перенос документа Авансовый отчет.

Перенос данных из БП 3.0 в КА 2.4

 

Предыстория: Сделал перенос из БП 3.0 в УТ 11(//infostart.ru/public/754120/). С момента его создания появился типовой механизм начального заполнения УТ (и КА, с состав которой УТ 11 по факту входит):

Казалось бы можно было бы поставить на обработке крест…но, указанный помощник не лишён некоторых особенностей, как то, что им переносятся только остатки, и последним этапом настраивается синхронизация, в которой состав миграции документов, как известно, не позволяет перенести «купи/проданные» обороты за период, что уже даёт обработке переноса право на жизнь. По поводу переноса остатков в том м=помощнике тоже можно сказать много интересного, но то — тема другого романа.

В общем,обработка живёт, и получила неожиданное (по крайней мере для меня) развитие – возникла задача перейти с БП 3.0 на КА 2.4, и оказалось, что документы покупки / продажи за период переносятся в КА этой же обработкой… Но, КА таки не УТ, есть бухучет и нет (скорее всего) необходимости мутить постоянный перенос (синхронизацию) с БП. Опять же, в КА есть производство, потому есть выпуск продукции и переработка…получилось, что перенос для КА не совсем то, что перенос для УТ.

Не буду утверждать, что всё получилось без косяков, которые, при выявлении, постараюсь оперативно исправлять. Также, надеюсь, что будет наращиваться функционал.

Назначение: Организация вела учёт в конфигурации «1С:Бухгалтерия предприятия» ред.  3.0 (далее БП), в силу ряда причин принято решение перейти на конфигурацию «1С:Комплексная автоматизация» ред.2.4 (далее КА). Эта обработка – очередная попытка обеспечить перенос остатков, справочников и документов в УТ11 из БП. Перенос остатков можно осуществить помощником, упомянутым выше, но можно и этой обработкой (пока тщательно не тестировалось, увы не хватает времени). Отличие от переноса в УТ

– возможность использования без указания узлов обмена, если не планируется дальнейшая синхронизация с БП;

— Перенос документов производства в соответствующие документы КА, которых в УТ 11 нет;

— Возможность сравнить остатки и обороты по проводкам с помощью механизма, описанного в //infostart.ru/public/421541/ и использованного в //infostart.ru/public/509628/.

Описание: Перенос данных реализован через прямое подключение из ИБ БП к КА через COM.

Подключение реализовано как в //infostart.ru/public/421541/ и //infostart.ru/public/509628/, важное отличие обмена от этих обработок – там данные переносятся в «вызывающую» базу, а тут из обработки в БП данные записываются в открытую через COM ИБ КА.

Сам перенос можно разделить на отдельные задачи:

  1. Перенос входящих остатков:
  • Остатки товарно-материальных ценностей ТМЦ (с переносом ГТД опционально),
  • Остатки взаиморасчетов,
  • Установленные на дату начала работы в КА цены;
  1. Перенос нормативно-справочной информации (далее НСИ);
  2. Перенос документов за период.

В блоке скриншотов можно посмотреть какие справочники и документы сейчас переносит обработка. Отмечу, что все переносимые объекты записываются в регистр сведений «Соответствие объектов информационных баз» как в БП3.0, так и в УТ11.

Списком переносимых справочников и документов можно управлять установкой отборов с помощью компоновщика (код компоновщика заимствован из //infostart.ru/public/149404/ от ©Топчий Д.Ю.  г. Краснодар)

Поиск справочников в КА производится по коду (если он есть в КА) и наименованию (опять же если наименование используется). Критерии поиска можно изменить в шаблоне «Поля поиска». Далее поиск может осуществляется по регистру соответствия, если включен флаг «Регистрировать объекты для обмена».

Флаг «Обновлять реквизиты справочников» определяет перезапись всех реквизитов справочников при каждом обращении, существенно заменяет работу, и рекомендуется использовать, только если в БП массово изменялись какие-то справочники.

При переносе документов поступления, реализации и движения денежных средств перенесутся счета-фактуры, введённые на основании этих документов (сейчас только на поступление, продажу, полученные и выданные авансы).

После переноса остатков и оборотов донные БУ НУ итд можно сравнить с помощью встроенного в 1С сравнения файлов, для чего:

— вызвать диалог настройки сравнения на закладке «Прочее»:

— настроить желаемые объекты для сравнения:

 

В папку для сравнения будут записаны два файла, которые нужно выбрать через Главное меню – Файлы – Сравнить файлы. Дальше просто смотреть расхождения, что гораздо удобнее, чем «крыжить» тоже самое на листочках. Механизм использую со времен //infostart.ru/public/238523/, там же более он подробно и описан.

 

Заключение: С удовольствием отвечу на все вопросы, и буду дико благодарен за возможность доработать обработку на Ваших реальных базах (удалённо, или, если Вы их мне предоставите для опытов). Планируется публикация за рубли, но позже – сейчас слишком мало статистики её фактического применения…

 

25 Comments

  1. jobkostya1c8

    Посмотрел. На базе и Ваших обработок создава свой «обмен». Долго и дорога.

    Когда я уже научусь такие же полезные вещи создавать?!

    Reply
  2. Alex_E

    (1) Вопрос риторический?

    Reply
  3. jobkostya1c8

    (2)Верно. Займусь ка я работой. 1С уже плачет

    Reply
  4. weirdo_

    Документа «ГТД по импорту» не хватает…

    Reply
  5. mixanx

    Возможно ли использовать данный перенос для заполненной базы КА 2.4? Есть база КА 2.4 в которой уже ведется учет. Хочу подгрузить туда другую базу на БП 3.0 Версии конфигураций отличаются от ваших, но это я думаю не проблема.

    Reply
  6. Alex_E

    (5) Потренируйтесь на копии. Результат переноса в КА, как бы это сказать…, требует постобработки — документы переносятся, но,в связи с зоопарком релизов и разнообразием возможных настроек КА, вполне вероятно, что-=то придётся дозаполнять после переноса,или допиливать перенос…

    Ещё вполне наверняка возникнет проблема с дублями, н в Вашей ситуёвине без этого вообще никак…

    Reply
  7. mixanx

    (6) Да это понятно, что само все не встанет на свои места) Главное, что теоретическая возможность успеха есть, спасибо. Буду пробовать.

    Reply
  8. Alex_E

    (7) У меня получилось перенести, потом по каждому виду документов разбирался, чего не хватает — таки в БП реквизитов поменьше будет, чем в КА…

    Reply
  9. mixanx

    (8) Пытаюсь соединится обработкой версии 3.2.1.6 из БП к КА, выходит ошибка:

    Метод объекта не обнаружен (ЭтоВебКлиентПодMacOS)

    {ВнешняяОбработка.Выгрузка_БП30вКА24.Форма.Форма.Форма(246)}: ПараметрыРаботы.Вставить(«ЭтоВебКлиентПодMacOS», ОбщегоНазначенияКлиентПовтИсп.ЭтоВебКлиентПодMacOS());

    {ВнешняяОбработка.Выгрузка_БП30вКА24.Форма.Форма.Форма(361)}: ПараметрыРаботыКлиентаПриЗапуске = ПараметрыРаботыКлиентаПриЗапуске();

    {ВнешняяОбработка.Выгрузка_БП30вКА24.Форма.Форма.Форма(427)}: ЗарегистрироватьCOMСоединитель(Ложь);

    Версия платформы: 8.3.15.1489, версия БП 3.0.71.75, версия КА 2.4.8.79

    Похоже на глюк платформы, сначала запускал на 8.3.13, думал нужна более новая. Скачал последнюю: та же ошибка.

    Куда копать?

    Reply
  10. Alex_E

    (9) про регистрацию com написано полгугля ровно, почитайте, у меня работает и на 8.3.14, на 83.3.15 не пробовал пока

    Reply
  11. m.pikhota

    Получиться скомбинировать сначала перенос остатков и НСИ сделать типовым помощником перехода, а потом документы этой обработкой, справочники потом в документы подтянутся?

    Reply
  12. Alex_E

    (11) Я, собственно так и делал. Не скажу, что всё гладко получилось, н, ежели начать с того, что штатный перенос остатков без напильника категорически работать не захотел, а писать свои остатки не хотелось аж жуть, то именно так и сделал. С напильником перенес остатки помощником перехода с БП 3.0, потом перенес документы этой обработкой. Из проблемов: многое зависит от учётной политики в КА, создать универсальные набор переносимых реквизитов переноса (реквизиты справочников и документов, да и сами документы разные) мне не удалось. Что-то переносится созданием чего-то из воздуха — потому как в БП нету, а в КА без того никак…После переноса с документами, с большой долей вероятности, придётся поработать. Даже в списках документов из КА (ну тех, что в штатных разделах) и можно и не увидеть, но через Все функции в списках они будут доступны.

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

    Reply
  13. user1260425

    Почему в перечне документов нет требования-накладной и счет-фактуры выданные/полученные?

    Reply
  14. user1260425

    Почему в перечне документов нет требования-накладной и счет-фактуры выданные/полученные?

    Reply
  15. Alex_E

    Нет требования-накладной потому что в задачах не было (полного списка переносимых документов не помню,Вы только описание смотрели или в обработке нет/)? Счет-фактуры, когда есть, должны переноситься вместе с основаниями. Просто сейчас я не могу посмотреть

    Reply
  16. user1260425

    Я в описании смотрела.

    Reply
  17. user1260425

    Можно уточнить перенося ли ли все-таки счет-фактуры выданные полученные?

    Reply
  18. Alex_E

    (17) Переносятся, вот код:

    Процедура ПереносСЧФ(ОснованиеCOM, СчетФактура)
    ТипСЧФ = «»;
    Если ТипЗнч(СчетФактура) = Тип(«ДокументСсылка.СчетФактураВыданный»)Тогда
    Если СчетФактура.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.НаАванс Тогда
    ТипСЧФ = «на аванс полученный»;
    счф = _НайтиСоздатьДокумент( СчетФактура, «СчетФактураВыданныйАванс»);
    ИначеЕсли СчетФактура.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.НаАвансКомитента Тогда
    ИначеЕсли СчетФактура.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.НаАвансКомитентаНаЗакупку Тогда
    ИначеЕсли СчетФактура.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.НалоговыйАгент Тогда
    ИначеЕсли СчетФактура.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.НаРеализацию Тогда
    ТипСЧФ = «выданный»;
    счф = _НайтиСоздатьДокумент( СчетФактура, «СчетФактураВыданный»);
    ИначеЕсли СчетФактура.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.НаСуммовуюРазницу Тогда
    ИначеЕсли СчетФактура.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.СводнаяСправка Тогда
    КонецЕсли;
    ИначеЕсли ТипЗнч(СчетФактура) = Тип(«ДокументСсылка.СчетФактураПолученный»)Тогда
    Если СчетФактура.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыПолученного.Корректировочный Тогда
    ИначеЕсли СчетФактура.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыПолученного.НаАванс Тогда
    ТипСЧФ = «на аванс выданный»;
    счф = _НайтиСоздатьДокумент( СчетФактура, «СчетФактураПолученныйАванс»);
    ИначеЕсли СчетФактура.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыПолученного.НаАвансКомитента Тогда
    ИначеЕсли СчетФактура.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыПолученного.НаПоступление Тогда //на поступление
    ТипСЧФ = «полученный»;
    счф = _НайтиСоздатьДокумент( СчетФактура, «СчетФактураПолученный»);
    КонецЕсли;
    КонецЕсли;
    …
    

    Показать

    Reply
  19. sanytch

    (9)

    Функция ЭтоВебКлиентПодMacOS() может быть не в ОбщегоНазначенияКлиентПовтИсп а в ОбщегоНазначенияКлиентСервер

    Reply
  20. Alex_E

    (19) можно просто закомментарить, если у Вас не мак…опять поменяли что-то в общих можулях, а этот код оттуда

    Reply
  21. sanytch

    (20)

    Спасибо за ответ. Я подправил имя модуля. Далее в модуле обработки функция ИмяCOMСоединителя() почему то возвращала вместо положенного «V83.COMConnector» вот такое «v.COMConnector» — не стал заморачиваться а раскомментил Ваш строковый параметр «V83.COMConnector»

    Reply
  22. Alex_E

    (21) Спасибо за ошибку! Будет время — посмотрю и всё исправлю, сейчас просто некогда…

    Reply
  23. sanytch

    (18)

    Столкнулся с ошибкой переноса документа ПоступлениеТоваровУслуг. Все остальные документы перенеслись без ошибок. Прилагаю скриншоты. Думаю по ним автор сможет понять в чем дело и подсказать как исправить эту ошибку.

    На первом же документе выдает ошибку



    нажимаю на Подробно и иду в Конфигуратор



    Снова запускаю перенос и на строке с ошибкой останавливаюсь. Выяснилось что у ДокОснованияCOM нет НомерИсходногоДокумента равно как и следующего значения ДатаИсходногоДокумента.



    В сообщении пишет что документ перенесен, но по факту его нет.



    Прошу помощи. Подскажите где может быть проблема и что подправить. Спасибо

    Reply
  24. sanytch

    В качестве пояснения: Почему оформил как ответ — потому что ошибка именно в этой процедуре

    Reply
  25. Alex_E

    (23) Могу посмотреть через АА что происходит — пишите в личку.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *