Перенос документов УТ 10.3 — УТ 11.1




Обработка переноса документов за любой период из УТ 10.3 (Управление торговлей 10.3) в УТ 11.
Осуществляет перенос следующих документов:
— Заказ покупателя
— Поступление товаров и услуг
— Реализация товаров и услуг
— Перемещение товаров
— Платежные поручения входящие
— Платежные поручения исходящие
— Отчеты о розничных продажах
— Счета фактуры выданные
— Счета фактуры полученные
— Приходные кассовые ордера

Обработка переноса документов за любой период из УТ 10.3 в УТ 11 (Управление торговлей 10.3-11) .

Работает через OLE подключение к базе УТ 10.3.

Тестировалась в файловом варианте на релизах:

УТ 10.3.32.1

УТ 11.1.10.94

Платформа: 1С:Предприятие 8.3 (8.3.5.1482)

Порядок действий:

1. Выполнить все процедуры по подготовке к переходу на УТ 11 из readme комплекта поставки УТ 11.

2. Выполнить выгрузку-загрузку остатков на нужный период штатными средствами 1С согласно инструкции по переходу на версию 11. ОБЯЗАТЕЛЬНО!!!  Т.к. справочники, такие как номенклатура, контрагенты, единицы измерения и т.д. формируются на этом этапе. В данной обработке не предусмотрен код по созданию соответствующих структур. 

3. Открыть обработку в УТ 11.

4. Указать путь к базе источнику, Логин и пароль пользователя базы источника, нажать кнопку подключиться. В случае удачного подключения выполнить последовательную загрузку документов или нажать кнопку "Все документы", тогда указанные документы загрузятся автоматически за весь период.

Документы загружаются с тем же номером, какой был в УТ 10. Если номер совпадет с уже имеющимся в УТ11 документом, документ будет перезаписан! Чтобы этот документ не перезаписывался, например, он был загружен и отредактирован, поставьте первым символом комментария восклицательный знак. Тогда при повторной загрузке этот документ будет пропущен.

 

Обработка протестирована на двух базах. Выявленные проблемы:

— при отсутствующих элементах справочников (которые по какой-то причине не загрузились штатной загрузкой 1С) оставляет пустые реквизиты в документе, документ не проводит.

— не привязывает (или не всегда привязывает) реализацию к заказу, платеж к реализации или заказу.

— не работает с характеристиками, сериями, серийными номерами номенклатуры. Переносит только Номенклатуру, количество сумму, цену, НДС. 

 

В ближайшее время будет добавлено:

— загрузка РКО

— привязка реализаций к заказам, платежей к заказам и реализациям.

 

Код оставляю полностью открытым. На универсальность, красоту кода не претендую. На все вопросы, пожелания откликнусь.  

 

68 Comments

  1. asdfgcom

    Обновлено.

    Добавлен перенос Отчетов о розничной продаже.

    Reply
  2. asdfgcom

    Добавлена возможность загружать:

    -Счета фактуры выданные

    -Счета фактуры полученные

    Reply
  3. timofey

    Еще вопрос сделать перенос установку цен номенклатуры…. Очень надо

    Reply
  4. asdfgcom

    Вообще-то штатная обработка по переходу переносит установки цен. Не всегда проводит, т.к. встречаются дублирующиеся записи. Их надо убрать, провести.

    Но в любом случае Установку цен буду писать на следующей неделе. Будут переноситься установки так же как они были в 10.3.

    Reply
  5. asdfgcom

    (3) timofey, Кстати, обновил обработку. Переносит ПКО, СФ, Отчеты о розничных продажах. Если за повторное скачивание списываются sm, уточните, вышлю в почту.

    Reply
  6. asdfgcom

    Исправлены ошибки.

    — Перемещение не создавало движений

    — Обращение к метаданным COM соединения вызывало ошибку на платформе 8.2

    Reply
  7. kail_riss

    Может руки кривые, но на процедуре подключения 1с просто вылетает (закрывается УТ 11).

    V8=Новый COMОбъект(«V82.COMConnector»);

    СтрПодключения=»File=»»»+СокрЛП(Каталог)+»»»;Usr=»»» + СокрЛП(Пользователь) + «»»;Pwd=»»» + СокрЛП(Пароль)+»»»;»;

    ЕстьПодключение = Ложь;

    Попытка

    База=V8.Connect(СтрПодключения);

    Сообщить(«Подключено: » + СтрПодключения);

    ЕстьПодключение = Истина;

    ЗагрузитьСтруктуры();

    Исключение

    сообщить(ОписаниеОшибки());

    Предупреждение(«Ошибка при подключении!»);

    КонецПопытки;

    Возврат ЕстьПодключение;

    Попробовал V8=Новый COMОбъект(«V82.COMConnector»); поменять V8=Новый COMОбъект(«V83.COMConnector»); конечно подключение прошло на ура, но вот при обходе реквизитов пишет «База.Метаданные.Документы[«ПоступлениеТоваровУслуг»].Реквизиты» объект Метаданные не существует и закрывается с ошибкой.

    Как побороть ошибку?

    Релиз УТ 11.1.10.145 и УТ 10.3.32.2, платформы 8.3.6.2014 и 8.2.19.121

    Reply
  8. kail_riss

    Поправил следующим образом запустил ут 10.3 на платформе 8.3

    В коде поправил

    V8=Новый COMОбъект(«V83.COMConnector»);

    База.Метаданные().Документы[«ВидДокумента»].Реквизиты

    после это выгрузка пошла, спасиб большое буду дальше смотреть))).

    Reply
  9. asdfgcom

    (7) kail_riss, на инфостарте была методика исправления данной ошибки. Заключалась в ручной регистрации DCOM. В поиск описание ошибки.

    Reply
  10. asdfgcom

    (8) kail_riss, очень рад, что получилось. На этом загвоздка чаще всего. Жду отзывы и предложения. На очереди Авансовые отчеты и РКО. Уточняйте, какие документы перенести необходимо. Уточняйте, что неправильно загружается и как должно «вставать» в УТ11.

    Reply
  11. kail_riss

    большая просьба выгружать характеристики номенклатуры, пришлось доделать)))

    Reply
  12. asdfgcom

    (11)(11) kail_riss, согласен. Характеристики и серии номенклатуры появятся на выходные.

    Простите, что пишу без комментариев, но стараюсь не использовать сложные конструкции. Обратите внимание на функцию по вытаскиванию перечислений. Вместо структуры перечислений НДС взятую в начале написания обработки следует использовать обращение к функции по возврату значения перечисления (в последних функциях по загрузке ПКО). При COM подключении загружается таблица наименований ВСЕХ перечислений базы источника и сопоставление удобно вести обращаясь к этой таблице (методика получения значения перечисления через COM взята с инфостарта). Успехов в переходе!

    Reply
  13. Who

    При попытке выгрузить документы вылезает ошибка Значение «*НомерДокументаВБазе*» поля «Номер» не уникально,

    где НомерДокументаВБазе это различные номера документов, номера дублируются в базах каждый год, то есть при рассмотрении документа в разрезе номер и дата они различаются (номер документа УТ000001 от 1 января 2014г и документ УТ000001 от 1 января 2015г)

    Выгрузки не производится. Как исправить данную ошибку?

    Reply
  14. asdfgcom

    (13) Who, Проверил с приходниками, Создал документ с неуникальным номером в 2014 году. Загрузка приходников прошла успешно. На неуникальность ошибок не было. Уточните, на загрузке которого документа возникла ошибка? Попробую воссоздать ситуацию у себя.

    Reply
  15. Who

    При загрузке любого(или практически любого) документа. К примеру документы реализации за период большой с 1января 2004 до 28 мая 2015 (база с 2007г, просто чтобы весь период захватить) — вылезает ошибка: Значение «00000001» поля «Номер» не уникально.

    Стал тестировать в чём проблема, взял период выгрузки 1 год (то есть период с января до декабря любого года), тогда выгрузка производится, а если взять период захватывающий больше года и соответственно будут номера документов идентичные, но с разными датами, то вылезает ошибка уникальности. Тестируешь на демо базе? Там скорей всего номера различные.

    Может проблема в параметре ТекущаяДата() в коде?

    Док = Документы.ПоступлениеТоваровУслуг.НайтиПоНомеру(Парам.Номер,ТекущаяДата());

    Reply
  16. asdfgcom

    (15) Who, Вы правы. ТекущаяДата() предполагает поиск документа с 01.01.2015г. по текущий момент. Создавая обработку не предполагал, что мы будем грузить все документы за несколько лет. В идеале — делаем выгрузку штатными средствами 1С на 31.12.2014, делаем загрузку документов с начала года. В вашем случае меняйте все поиски документов ТекущаяДата() на Парам.Дата, если не ошибаюсь. В парам.Дата будет лежать Дата загружаемого документа и граница поиска сдвинется правильно. Отпишитесь, если удачно, добавлю в обработку.

    Reply
  17. Who

    Вроде выгружаются все документы если поменять на Парам.Дата.

    Вот только неправильно выгружаются некоторые реквизиты в документах. К примеру взять документ ПоступлениеТоваровУслуг

    в УТ10 реквизит Контрагент — справочник.Контрагенты с отбором Поставщики. А справочника Партнеры в УТ10 нет.

    Соответствено в УТ11 в документе реквизиты Партнер- отображаемое имя Поставщик(справочник.партнеры с отбором поставщики) = Контрагент из УТ10 и реквизит Контрагент(справочник.контрагенты с отбором партнер) в расшифровке это лицо предоставляющее расходный документ поступления, то есть по сути тот же поставщик из ут10(контрагент).

    У тебя в коде

    Партнер = Справочники.Партнеры.НайтиПоКоду(Парам.Контрагент);
    Контрагент = Справочники.Контрагенты.НайтиПоРеквизиту(«Партнер»,Партнер);
    ДокОбъект.Контрагент = Контрагент;
    ДокОбъект.Партнер = Партнер;
    

    то есть партнер указывается с поиском из справочника партнеры по параметру контрагент, которого в ут10 нету и соответственно выдаст пустое значение. А второе значение контрагент поиск по реквизиту партнер, в итоге он подставляет вообще какое-то левого контрагента.

    Почему не использовать Парам.Контрагент из документа ут10? то есть

    ДокОбъект.Контрагент = парам.Контрагент;
    ДокОбъект.Партнер = парам.Контрагент;
    Reply
  18. Proger2008

    Скачал, пробую — подключение проходит нормально, а вот документы не переносятся — выбираю какие документы переносить и всё…тишина

    версии моих программ:

    Управление торговлей, редакция 11.1 (11.1.10.150)

    Управление торговлей», редакция 10.3 (10.3.32.2)

    1С:Предприятие 8.3 (8.3.6.2014)

    Reply
  19. asdfgcom

    (18) Proger2008, в отладчике запускали? Посмотрите, в каком месте «Зависает»

    Reply
  20. platon-81

    ПЛЮС_+_БОЛЬШОЙ, все отработало на отлично!

    Reply
  21. asdfgcom

    Сейчас большая горячка по работе, но в проекте добавить РКО, авансовые, установки цен, серийные номера и характеристики.

    Reply
  22. tali6272

    Добрый вечер. А как понять вот такое сообщение? «{Форма.Форма.Форма(12)}: Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Не найдена лицензия. Не обнаружен ключ защиты программы или полученная программная лицензия!

    Поиск лицензии на клиенте:

    Ошибка программного лицензирования. Неверный формат файла программного лицензирования: file://C:/ProgramData/1C/licenses/file0.lic

    Ошибка программного лицензирования. Неверный формат файла программного лицензирования: file://C:/ProgramData/1C/licenses/file1.lic

    Цифровая подпись конфигурации неверна»

    Reply
  23. asdfgcom

    (22) tali6272, у меня аппаратная лицензия. Кстати, не базовая ли конфигурация у Вас стоит? На базовых не тестировал еще. Извините за задержку с ответом.

    Reply
  24. timunya

    (5) приветствую хотел качнуть новую версию, хочет списать денег. Вышли новую на почту протестирую выгрузку.

    Reply
  25. marinka2010-92

    Здравствуйте!

    Проблема: сделали перенос данных с ут 10.3.34.2 на ут 11.1.10.197. Не перешли отчеты о розничных продажах. В результате остатки «на складах» огромные — весь приход за всё время. Как это исправить? Повторно пробовали переносить не один десяток раз….

    Reply
  26. asdfgcom

    подключить можете тимвьювером?

    Reply
  27. asdfgcom

    (24) не вопрос, скиньте почту в личку. Пришлю в почту. Обновления не делал. Может только то, что описывается в возможностях. Деньги не может списывать, она за 1 SM.

    Reply
  28. asdfgcom

    (25) marinka2010-92, отвечу повторно, чтобы пришло оповещение. Можно посмотреть загрузку через тимвьювер? Запустим в отладчике, увижу что происходит.

    Reply
  29. IP43

    Вчера качнул, жаль загрузки РКО не появилось. Похоже придется допиливать самому, да и заодно заточить под УТ 11.2

    Reply
  30. artanto

    1С:Предприятие 8.3 (8.3.8.1861)

    Управление торговлей, редакция 11.2 (11.2.3.168)

    Управление торговлей, редакция 10.3 (10.3.37.2)

    Номенклатуру, контрагентов, заказы покупателей и реализацию загрузил из 10.3 в 11 без проблем, но при попытке загрузить Поступление сразу же появляется алерт:

    «Поле объекта не обнаружено (ВалютаВзаиморасчетовСоСтороннейКомпанией)»

    В настойках валют 11 проверил — RUB 643 есть, в 10.3 тоже.

    ЧЯДНТ?

    Reply
  31. asdfgcom

    (30) artanto, с подробным описанием ошибки было бы проще. Дело в том, что в одной из Ваших конфигураций (УТ10 или УТ11) нет реквизита справочника или документа с наименованием «ВалютаВзаиморасчетовСоСтороннейКомпанией». Скорее всего разница в релизах с тем для которого эта загрузка была написана.

    Код полностью открыт. Отладчик бы помог.

    Если затрудняетесь — в ЛС. Попробуем разобраться вместе.

    Reply
  32. korvinus-md

    Благодарю!

    Скажите пожалуйста, а планируется ли дополнение: выгрузить счета на оплату?

    Reply
  33. lefthander

    Спасибо. Обработка помогла.

    Reply
  34. lefthander

    (30) artanto, я эту строчку просто закомментировал.

    Reply
  35. lux17

    Спасибо. Обработка помогла перетащить многое из того, что нужно

    Reply
  36. asdfgcom

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

    Reply
  37. asdfgcom

    (32) К сожалению заказчик потерял интерес к данному проекту (переход на УТ11). Если появится клиент с переходом, будем развивать дальше. Обработка требует больших затрат по времени, а проектов и без нее много.

    Всем спасибо за хорошие отзывы.

    Reply
  38. forintek

    Добрый день.

    Работает ли эта обработка для выгрузки документов из УТ 10.3.46.2 в УТ 11.4.2.106

    Платформа 8.3.10

    Reply
  39. korvinus-md

    Добрый день! в общем обработка работает. правда сначала надо 11 версию настроить, смигрировать данные, только после пользоваться обработкой…

    правда сразу хочу предупредить — её надо будет допиливать под свою версию конфигурации УТ 10 и 11…

    все делается через конфигуратор, и достаточно просто для новичков (я про себя).

    там есть процедура и функция переноса, в которых надо — нужные параметры добавить, некоторые удалить…

    У меня допиливание обработки совместно с бухгалтером заняло около 3х дней…

    Reply
  40. Proger2008

    (38) Зачем, если вы переходите на ут 11 — там встроенный перенос есть же, не надо никаких обработок, если конфа типовая, только надо предварительно посмотреть, какой минимальной версии должна быть 10.3

    Reply
  41. korvinus-md

    (40) очень часто бухгалтерия ставит задачу: перенести историю документов — например за последние 6 месяцев. а в документах у вас как раз записаны все движения…

    стандартный перенос — переносит итоги, раньше даже итоги переносились не всегда корректно…

    Reply
  42. zmiulan03

    День добрый.

    Сначала хочу выразить благодарность за полезную обработку и следом опишу свою проблему.

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

    Выдаёт ошибку «Поле объекта не обнаружено (ПоступлениеТоваровУслуг)».

    Так я в общем-то не программист 1с, то можно как-то простыми и доступными словами объяснить мне в чем проблема? Смогу ли я сам её решить?

    Reply
  43. user705522_constantin_h

    (42)Документ изменился: теперь он называется ПоступлениеТоваров. Исправьте в тексте программы.

    Reply
  44. zmiulan03

    (43) А где конкретно надо это менять?

    Reply
  45. user705522_constantin_h

    (44)Я саму обработку не видел. В модуле формы и в модуле объекта. Находите ПоступлениеТоваровУслуг и заменяете на ПоступлениеТоваров.

    Reply
  46. zmiulan03

    (45) Модуль формы открыл, поменял. В модуле объекта ничего нет, менять нечего. В результате та же ошибка, только вместо (ПоступлениеТоваровУслуг) пишет (ПоступлениеТоваров).

    Reply
  47. user705522_constantin_h

    (46)По ошибке в конфигуратор можете перейти. Скриншот или текст места с ошибкой можете показать?

    Reply
  48. zmiulan03

    (47) Вот такую ошибку рисует.

    Reply
  49. user705522_constantin_h

    (48)А если в конфигураторе поставить Остановка по ошибке, чтобы программа остановилась на строке, вызвавшей ошибку.

    Reply
  50. zmiulan03

    (49) да, запустил в режиме отладки и выдало подробнее ошибку

    {ВнешняяОбработка.Загрузка.Форма.Форма.Форма(951)}: Поле объекта не обнаружено (ПоступлениеТоваров)

    Выборка = База.Документы.ПоступлениеТоваров.Выбрать(Дата1,КонецДня(Дата2));

    Reply
  51. user705522_constantin_h

    Установите в модуле формы на строку 951. Что перед ним? Интересует, что такое База?

    Reply
  52. zmiulan03

    Если я правильно понимаю, то База это:

    База=V8.Connect(СтрПодключения);

    Подключение к базе УТ10 происходит нормально, все другие документы переносятся и создаются. Затык только именно с поступлением.

    Reply
  53. korvinus-md

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

    я не програмер 1с, а только скромный админ — у меня на понимание — чего править ушло около полу дня. далее я эти параметры менял на лету и корректировал все необходимые данные.

    Главное запомни: сначала отрабатывает процедура, передает данные в функцию, функция уже лопатит базы.

    Reply
  54. korvinus-md

    (42) да сможешь, см. предыдущее сообщение. в конфигураторе разбери саму обработку — тебе нужна не форма обработки в конфигураторе, а её код. как до кода добраться не помню, но в обработке через правую кнопку мышки добирался через под-меню.. там реально все доступно..

    Reply
  55. user705522_constantin_h

    Здесь оставь

    Выборка = База.Документы.ПоступлениеТоваровУслуг.Выбрать(Дата1,КонецДня(Дата2));

    И вообще: всё что связано с УТ 10 оставь ПоступлениеТоваровУслуг.

    Reply
  56. zmiulan03

    (55) (53) спасибо за подсказки, но всё оказалось сложнее, чтобы я мог сам решить этот вопрос. Благо разработчик вышел на связь и в режиме онлайн поправил разработку под свежие изменения в УТ11.

    За что отдельное спасибо ему )

    Reply
  57. asdfgcom

    (55) Там не так было. Документа в УТ11 больше нет «ПоступлениеТоваровУслуг». Он теперь называется иначе. Проблема была в основном в этом. Обновил, выложил обработку для версии УТ 11.4 с данной поправкой.

    Reply
  58. for_indira

    Добрый день!

    Не подключается к УТ 10 (10.3.45.2), выдаёт ошибку — класс не зарегистрирован. Что может быть? Я вообще ни разу не программист(

    Reply
  59. asdfgcom

    (58) Не зарегистрирован класс 1С COM компоненты. Нужно больше информации. Версия ОС, разрядность ОС, разрядность платформы 1С, файловая или серверная ИБ… Постараюсь помочь. Есть возможность перенести на отдельный ПК обе базы в файловом варианте?

    Reply
  60. asdfgcom

    (58) В этом случае поставить Платформу 1С 8.3.10.2667 х 32bit, и все само взлетит.

    Reply
  61. Ander_Zar

    Здравствуйте.

    А нельзя ли добавить в Вашу обработку перенос Заказа Поставщику? Как неожиданно выяснилось бухгалтер без этого жить не может.

    Спасибо.

    Reply
  62. asdfgcom

    (61) Можно. В ближайших планах. Если Вы уже скачали, пришлю почтой доработанную версию. Прошу Ваш e-mail в ЛС.

    Reply
  63. Rezinkina

    Здравствуйте!

    Переносим документы на свежих версиях конфигураций и платформы. Заказы выгрузились хорошо, а вот с поступлениями проблема. После загрузки 13-15 поступлений обработка просто завершается. В режиме отладки ошибок тоже нет. Пробовали выгружать разные года. Не подскажете, в чём может быть проблема?

    Reply
  64. korvinus-md

    (63) сказать сложно. но на что рекомендую обратить внимание: сами сталкивались и вроде выше где то было описано:

    1) подчистите базу через SQL обработки — выше ссылка должна быть — от мусора. протестируйте базу и тд… были проблемы с обьемами в некоторых табличках изначально скуль баз.. — у нас получилось так, что часть журналов и еще каких то логов вливалось в БД мусором, это просто делитнули.

    2) эта обработка — легко правится в конфигураторе — надо внимательно смотреть соотв. разделы функций и процедур на соответствие переменных (исходник обработки открыт)

    3) откройте оба конфигуратора 10 и 11 — найдите таблицы и их связи в обоих базах конфигураций, и сопоставьте поля (мы это рисовали в экселе), и в п.2 — правьте в обработке исходник под свою версию..

    Reply
  65. asdfgcom

    (63) Да. Если есть программист, то, «ПоступлениеТоваровУслуг» теперь называется «ПриобретениеТоваровУслуг». Внутри почти ничего не поменялось. Если требуется пришлю с исправлениями. Укажите Ваши контактные данные в ЛС.

    Reply
  66. korvinus-md

    (65) знаете — я не программист 1с, но с пониманием — как написана обработка и связи таблиц разобрал где то за рабочий день.

    Спасибо автору т.е. вам за просто написанную обработку!

    Reply
  67. paulrem

    Евгений, спасибо за обработку!

    Пригодилась при переносе документов из УТ10.3 в КА 2.

    Reply
  68. asdfgcom

    (67) Пожалуйста. Очень рад.

    Reply

Leave a Comment

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