Перенос документов между идентичными конфигурациями для платформы не ниже 8.2.18.82

Обработка выполняет перенос документов между идентичными конфигурациями на платформе не ниже 8.2.18.82. Тестирование выполнялось для конфигурации "Бухгалтерия предприятия версия 2.0.49.15"

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

51 Comments

  1. paulpit

    Обработка переносит измененные документы?

    А чем не устроила универасльная обработка с ИТС-а?

    Reply ↓
  2. XSlava

    Этой обработке все равно изменен или не изменен документ, т.к. в качестве основного правила обмена используется сама структура конфигурации (метаданные). Почему не с ИТС, искать, затем разбираться и проверять, тоже самое по времени, что и написать. Скорее всего для типовой обработки нужны еще и правила.

    Надеюсь, что ответил на ваши вопросы.

    Reply ↓
  3. awbyk

    Попробовал перенос для БГУ из редакции 1.0.14.2 в редакцию 1.0.20.6

    Пришлось слегка подправить модуль формы:

    — Организации изменил на Учреждения;

    — Обошел попыткой, исключением, поскольку в редакции 1.0.14.2 нет константы.ЗаголовокСистемы строку

    ЭтаФорма.Заголовок = ЭтаФорма.Заголовок + » » + константы.ЗаголовокСистемы.Получить();

    — Список видов документов отсортировал по представлению.

    В принципе удобнее, чем универсальный перенос.

    Reply ↓
  4. Жискар

    Запускал в «Зарплата и кадры бюджетного учреждения, редакция 1.0 (1.0.60.3)» ,

    «Бухгалтерия предприятия, редакция 2.0 (2.0.49.11)».

    Платформа 1С:Предприятие 8.2 (8.2.18.109).

    Получал сообщение «Обработка завершена».

    Ни одной записи в результат не перенесено.

    Может что-то ещё надо установить, чтобы обработка работала?

    Reply ↓
  5. XSlava

    На закладке «Настройки переноса» нужно выбрать вид документа, затем нажать кнопку «Заполнить», за указанный период будет заполнена таблица переносимых документов. Затем переносить.

    Reply ↓
  6. Жискар

    Брал один вид документа «Начисление зарплаты» по одной организации и за период с февраля по апрель.

    Вибиралось штук 5. Нажал выполнить. Обработка завершена.

    Перенесено 0 документов. Все гладко, только результата нет.

    Reply ↓
  7. XSlava

    Значит при переносе есть ошибки, их можно посмотреть создав файл отладки.

    Reply ↓
  8. Жискар

    Файл отладки не создается вообще, даже пустой. Машина домашняя, доступно всё.

    Reply ↓
  9. XSlava

    Странно. «Начисление зарплаты» говорите. Посмотрю.

    Reply ↓
  10. apostal86

    (2) XSlava, Стандартную ИТС-кую проверять не нужно, с ней все ОК, работает во всех идентичных конфигурациях. Для типовой правила не нужны. То что у Вас выложено практически то же самое, что и в обработке с ИТС. Какое у Вашей обработки принципиальное отличие?

    Reply ↓
  11. XSlava

    Видимо отличается формой.

    Reply ↓
  12. Жискар

    apostal86. Извиняюсь за серость. Стандартная ИТС-кая это ВыгрузкаЗагрузкаДанныхXML82.epf

    или что-то другое?

    Reply ↓
  13. XSlava

    Я не знаю, никогда не пользовался. Возникла необходимость, написал свою.

    Reply ↓
  14. Slater_7

    Таже ерудна что и у Жискар. Говорит что Завершено, но ничего не переносит и отладка не создаётся. Конфа — Бухгалтерия для Казахстана(2.0.11.8) 1С:Предприятие 8.2 (8.2.18.102). Где копать хотябы — есть идеи?

    Reply ↓
  15. XSlava

    (8) Жискар, Исправлено.

    Reply ↓
  16. Жискар

    (15) XSlava, Все прекрасно работает. Спасибо.

    Началась новая жизнь.

    Reply ↓
  17. XSlava

    (16) Жискар, Хорошо. Пишите, если будут идеи по улучшению.

    Reply ↓
  18. hawl

    Спасибо большое, всё работает хорошо.

    Reply ↓
  19. ilsijar

    Не очень универсален, но доработать для себя можно.Спасибо,сэкономила время.

    Reply ↓
  20. silver-747

    Спасибо. выручила обработка.

    Reply ↓
  21. Felix1

    Выдает ошибку »

    {ВнешняяОбработка.ПереносМеждуИдентичнымиКонфигурациями.МодульОбъекта(46)}: Ошибка при вызове метода контекста (Записать)

    о.Записать();

    по причине:

    Произошла исключительная ситуация (1C:Enterprise 8.2.16.368): Не удалось записать «Счет на оплату покупателю ДПб00000365 от 23.08.2013 16:23:45»!

    «

    Reply ↓
  22. Felix1

    не понимаю в чем проблема ? переношу документы за 4 кв 2013 г, в базе приемнике установил дату запрета редактирования по 30.09.2013 ? вопрос причем тут счет от23.08.2013

    Reply ↓
  23. XSlava

    Скорее всего в каком нибудь переносимом документе есть ссылка на данный счет, вот он его и переносит.

    Reply ↓
  24. Felix1

    А что с этим делать ???, если я сниму дату запрета редактирования, то у меня поедет прошлый период ?

    Reply ↓
  25. XSlava

    (24) Felix1, Один из вариантов очистить ссылку на данный документ в переносимом документе. Решение данной проблемы зависит от задач которые вы решаете.

    Reply ↓
  26. Felix1

    хорошо , а как мне найти тот самый документ,

    на который ссылается на счет ???

    Reply ↓
  27. XSlava

    (26) Felix1, Написать запрос, затем обработку.

    Reply ↓
  28. Felix1

    (27) XSlava, А для бухгалтера, есть вариант по проще ???

    Reply ↓
  29. XSlava

    Есть, открыть период.

    Reply ↓
  30. Felix1

    (29) XSlava, Тогда у меня оборотно-сальдовая ведомость не изменится ??? и вообще все показатели ???

    Reply ↓
  31. XSlava

    (30) Felix1, Сделайте резервную копию, проверьте сначала на копии. У вас очень серьезные вопросы, для ответа на которые нужно знать гораздо больше о ваших задачах, чем выпи пишете.

    Reply ↓
  32. likan

    (26)а найти счет и посмотреть подчиненные документы, религия не позволяет?

    Reply ↓
  33. Felix1

    (32) likan, 1.Вопрос уже решен стандартной обработкой с ИТС

    2. Если есть конкретные предложения, или желаете помочь, пишите по делу, религия тут не причем.

    Reply ↓
  34. imarok

    при выполнение обработки в ут 10.3.15.9 ошибка

    {Обработка.ПереносМеждуИдентичнымиКонфигурациями.МодульОбъекта(139)}: Ошибка при вызове метода контекста (СоздатьЭлемент)

    ОЭлемент = Открытие.Справочники[ВидСпр].СоздатьЭлемент();

    по причине:

    Произошла исключительная ситуация (1C:Enterprise 8.2.18.109): {Справочник.Номенклатура.МодульОбъекта(122,33)}: Переменная не определена (РаботаСТорговымОборудованием)
    Reply ↓
  35. imarok

    Разобрался, прошу прощения

    Reply ↓
  36. tanselja

    Вроде и стандартная хорошо работает.

    Reply ↓
  37. yalo

    А в чем отличие от стандартной обработки? Использую ее, переносит все необходимые документы и справочники и т.д.

    Reply ↓
  38. Natuhai

    Спасибо. Пригодилась обработка. Бухи потерли полтора десятка документов с табличной частью этак в 3000 строк … Перенес им из бекапа.

    Reply ↓
  39. Alister

    Спасибо за работу, все что нужно перенесла.

    Reply ↓
  40. if56

    Есть ошибка.

    Если не устанавливать флаг Перезаписывать документы, то таб части документов , перенесенных ранее , задваиваются. Ошибка в функции ПолучитьДокумент(ТекДок)

    Кусок кода:

    Если ФлПерезаписыватьДоки и не ЭтоНовый тогда

    инфа(«Документ уже переносился!!! Изменяем документ «+ВидДока+» № «+ТекДок.Номер+» от «+ТекДок.Дата,0);

    //Очистим табличные части

    Для каждого ТЧ из Открытие.Метаданные.Документы[ВидДока].ТабличныеЧасти цикл

    ДокБух[ТЧ.Имя].Очистить();

    КонецЦикла;

    ИначеЕсли не ФлПерезаписыватьДоки и не ЭтоНовый тогда // Все равно пишем

    инфа(«Документ уже переносился!!! Пропускаем документ «+ВидДока+» № «+ТекДок.Номер+» от «+ТекДок.Дата,0);

    //////////////////////////////////////// надо бы Возврат Неопределено;

    Иначе

    инфа(«Создаем документ «+ВидДока+» № «+ТекДок.Номер+» от «+ТекДок.Дата,0);

    КонецЕсли;

    Возврат ДокБух;

    КонецКуска

    Reply ↓
  41. arjuna

    (40) if56.ru,

    Есть ошибка.

    Если не устанавливать флаг Перезаписывать документы, то таб части документов , перенесенных ранее , задваиваются. Ошибка в функции ПолучитьДокумент(ТекДок)

    У меня упорно задваивает все документы. Уже всю голову сломал, не видет он УникальныйИдентификатор в удаленной базе.

    Reply ↓
  42. sps02

    Извините, если вопрос глупый(( Могу ли я перенести документы из одинаковых конфигураций, но если это разные контрагенты?

    Спасибо заранее

    Reply ↓
  43. sps02

    Закачала, но выдает такую ошибку. подскажите как решить: Не смог записать элемент справочника Номенклатура Набор для кофе «Бернадот 0000» 110 мл на 6перс.12пред {ВнешняяОбработка.ПереносМеждуИдентичнымиКонфигурациями.МодульОбъекта(405)}: Ошибка при вызове метода контекста (Записать): Произошла исключительная ситуация (1C:Enterprise 8.2.19.90): Ошибка при выполнении обработчика — ‘ПередЗаписью’

    Заранее спасибо

    Reply ↓
  44. sps02

    Скажите, пожалуйста почему номенклатура не загружается?

    Reply ↓
  45. makas

    Обработка в 1С:Предприятие 8.2 (8.2.19.106) «Управление торговлей», редакция 10.3 (10.3.29.1) пишет сообщение «База данных не открыта !!!»

    В чем может быть моя ошибка?

    Reply ↓
  46. XSlava

    В чем угодно. Нет доступа к каталогу или еще чего.

    Reply ↓
  47. SvetlanaP

    Спасибо за обработку! С ней намного легче работать. Сначала все время появлялось сообщение «База данных не открыта!!!», но потом все получилось. У меня все переносится идеально.

    Reply ↓
  48. Evrey.biysk

    Одна из причин почему база данных не открыта, пробелы в логине или пароле

    Если таковые имеются то

    v8=Новый COMОбъект(«v8″+Прием+».COMConnector»);
    Состояние(«Подключение к базе»);
    строкаЗапуска=»»;
    Если ФлБазаНаСервере тогда
    строкаЗапуска = «Srvr=»»»+ СокрЛП(ф.Сервер) + «»»;»+»Ref=»»»+СокрЛП(ф.ИмяБазы)+ «»»;Usr=» + СокрЛП(ф.ИмяПользователя) + «;Pwd=» + СокрЛП(ф.Пароль);
    иначе
    строкаЗапуска = «File=»»»+ СокрЛП(ф.Каталог) + «»»;Usr=» + СокрЛП(ф.ИмяПользователя) + «;Pwd=» + СокрЛП(ф.Пароль);
    Если не ЗначениеЗаполнено(ф.ИмяПользователя) тогда
    строкаЗапуска = «File=»»»+ СокрЛП(ф.Каталог) + «»»»;
    КонецЕсли;
    конецесли;
    
    Сообщить(строкаЗапуска);
    Попытка
    Открытие = V8.Connect(строкаЗапуска);
    Состояние(«Подключились»);
    Исключение
    Предупреждение(«База данных не открыта!!!»);
    Возврат Ложь;
    КонецПопытки;
    Возврат Истина;

    Показать

    Надо заменить следующим:

    v8=Новый COMОбъект(«v8″+Прием+».COMConnector»);
    Состояние(«Подключение к базе»);
    строкаЗапуска=»»;
    Если ФлБазаНаСервере тогда
    строкаЗапуска = «Srvr=»»»+ СокрЛП(ф.Сервер) + «»»;»+»Ref=»»»+СокрЛП(ф.ИмяБазы)+ «»»;Usr=»»» + СокрЛП(ф.ИмяПользователя) + «»»;Pwd=»»» + СокрЛП(ф.Пароль)+»»»»;
    иначе
    строкаЗапуска = «File=»»»+ СокрЛП(ф.Каталог) + «»»;Usr=»»» + СокрЛП(ф.ИмяПользователя) + «»»;Pwd=»»» + СокрЛП(ф.Пароль)+»»»»;
    Если не ЗначениеЗаполнено(ф.ИмяПользователя) тогда
    строкаЗапуска = «File=»»»+ СокрЛП(ф.Каталог) + «»»»;
    КонецЕсли;
    конецесли;
    
    Сообщить(строкаЗапуска);
    Попытка
    Открытие = V8.Connect(строкаЗапуска);
    Состояние(«Подключились»);
    Исключение
    Предупреждение(«База данных не открыта!!!»);
    Возврат Ложь;
    КонецПопытки;
    Возврат Истина;
    

    Показать

    Reply ↓
  49. LavinVadik
    Reply ↓
  50. Доня

    (49)

    Вы в комментариях написали :

    <<< 49. Вадик Лавин (LavinVadik) 57 22.10.15 23:35

    на 8.3 тоже работает

    маленько код надо тока поправить …>>>

    не могли бы Вы скинуть поправленный на мою почту tathr@mail.ru

    Я сделала все Ваши добавки, но не работает на 8.3

    Reply ↓
  51. XSlava

    Пришлите мне файл который вы доработали, я его проверю на 8.3 и поправлю если не будет работать.

    Reply ↓

Leave a Comment

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