IE2017

Универсальный обмен данными между одинаковыми конфигурациями через XML файл

Обмен - Обмен через XML

Обработка осуществляет выгрузку документов и подчиненных объектов в XML и последующую загрузку.

Обработка ВыгрузкаXML.ert осуществляет выгрузку данных в XML

Обработка ЗагрузкаXML.ert соответственно загрузку. Обновлено 21.12.2009 (критическая ошибка)

Структура баз должна быть одинакова. Писалась довольно давно, часто переписывалась, последний раз для получения навыков работы с метаданными. Корректно обрабатывает значения реквизитов неопределенного типа, убирает кракозябры (символы с кодом <32) из текстовых строк.

Для синхронизации справочников использует код, наименование или первый реквизит с признаком "Отбор", документы - номерДок + ДатаДок.

Есть недоработки:

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

Скачать файлы

Наименование Файл Версия Размер
-
.ert 198,00Kb
15.12.09
1647
.ert 198,00Kb 1647 Скачать
-
.ert 40,00Kb
21.12.09
1761
.ert 40,00Kb 1761 Скачать

См. также

Комментарии
1. rasswet (rasswet) 80 29.04.09 08:54 Сейчас в теме
"есть группа с таким же наименованием, как и элемент - то скорее всего найдет группу вместо элемента." ну это можно же было пофиксить без проблем...
2. Дмитрий Иванов (ChessCat) 29.04.09 10:06 Сейчас в теме
а чем от типовой обработки отличается ?
3. Андрей (akat65) 29.04.09 11:14 Сейчас в теме
Операции введенные в ручную НЕ ВЫГРУЖАЕТ.
4. Андрей (akat65) 29.04.09 11:17 Сейчас в теме
Пометка(отметка документов кнопки внизу) работает? У меня бух.502 НЕТ ??
5. Андрей (akat65) 29.04.09 11:25 Сейчас в теме
Платежное поручение ВЫГРУЖАЕТСЯ ?........
6. Ильшат Сагитов (Ильшат71) 30.04.09 00:41 Сейчас в теме
Действительно, операции введенные вручную не выгружает.
7. Сергей Яхонтов (newbas) 489 30.04.09 08:19 Сейчас в теме
(3),(4),(6) пофиксил. Спасибо за тестирование
8. Андрей (akat65) 30.04.09 09:38 Сейчас в теме
Можно отсортировать Виды документов... по алфавиту
Ver 30.04.2009_ наезжает на другой слой формы...
Документ "Платежное поручение" не выгружается
Флажок "не проведенные" ВСЕГДА неактивный?
9. Андрей (akat65) 30.04.09 09:41 Сейчас в теме
+8 Хорошо бы сделать дополнительно сортировку
таблицы документов по разным колонкам,которые ВЫГРУЖАЕМ...
10. Андрей (akat65) 30.04.09 09:54 Сейчас в теме
+8 Хорошо бы сделать дополнительно вывод условий отбора немножко(период,контрагент,комментарий )
таблицы документов ,которые ВЫГРУЖАЕМ...
11. Сергей Яхонтов (newbas) 489 30.04.09 10:50 Сейчас в теме
(8) пофиксил.
(10) не совсем понятно - условия отбора есть: Период, контрагент, комментарий.
Какие еще нужны?
(9)Сделаю позже
12. Андрей (akat65) 30.04.09 12:26 Сейчас в теме
В слое "Выгрузка" хорошо бы видеть, что отбирали-компактненко:
-за какой период
-контрагент, если выбрали
-комментарий, если выбрали
-проведенные........
условия можно в корень ХМЛ записать
Т.е. просто "ТаблицаДокументов" пониже,а заголовок в вверху...
// Не переносим перечисления ломбарда АКТУАЛЬНО

Вопросик: красота изменения МОДУЛЯ с ПОМОЩЬЮ каких средств исправляется(сделана)??
***************
// {

// }
***************
13. Андрей (akat65) 30.04.09 12:39 Сейчас в теме
+12
У операций ОБЩИЕ РЕКВИЗИТЫ ЕСТЬ?
14. Сергей Яхонтов (newbas) 489 30.04.09 12:39 Сейчас в теме
(12) про ломбард точно! :)
Красота делается руками, отображается SciColorer
// { Открывает скобку свертывания,
// } Закрывает
А вообще, меню Colorer - Настройки
Пожелания по интерфейсу и условия доделаю сегодня вечерком
15. Сергей Яхонтов (newbas) 489 30.04.09 12:40 Сейчас в теме
Да. Операция существует только с документом "Операция", поэтому общие реквизиты документов есть и у нее.
16. Андрей (akat65) 30.04.09 13:09 Сейчас в теме
Не выгружает(выбор опр.доков) < ВСЕХ видов
и операций ОБЩИЕ РЕКВИЗИТЫ ...
17. Сергей Яхонтов (newbas) 489 30.04.09 13:10 Сейчас в теме
18. Андрей (akat65) 30.04.09 13:12 Сейчас в теме
+16 Периодические реквизиты....??
19. Андрей (akat65) 30.04.09 13:13 Сейчас в теме
+17 не выгружает опр.вид(ы) дока ,если выбирать (операция+п/о+пл.пор)
20. Сергей Яхонтов (newbas) 489 30.04.09 13:22 Сейчас в теме
(18) пока нет, но за праздники до делаю, т.к. появился заказ
(19) посмотрю
21. Алексей Гаврилов (sborka_home) 03.05.09 14:19 Сейчас в теме
не смог загрузить, выдает ошибку

Кол = КореньСчет.КоличествоПодчиненных();
{.....ЗАГРУЗКАXML.ERT(669)}: Значение не представляет агрегатный объект (КоличествоПодчиненных)
22. Дмитрий Иванов (ChessCat) 05.05.09 14:42 Сейчас в теме
автор, ответь пожалуйста на вопрос (2)
я реально не пойму - зачем изобретать велосипед если универсальный обмен данными через XML есть нна ИТС
23. Сергей Яхонтов (newbas) 489 06.05.09 07:11 Сейчас в теме
А все потому, что писалась эта штука когда конвертацией данных пользоваться не умел, да и нужно было для обмена между не типовыми конфами, причем еще и немного разными.
24. Сергей Яхонтов (newbas) 489 06.05.09 08:02 Сейчас в теме
25. Алексей Гаврилов (sborka_home) 06.05.09 10:18 Сейчас в теме
Спасибо, все работает. Но теперь следующий момент: после загрузки документов, часть из них имеет статус проведенных, часть нет. С чем это связано?
26. Сергей Яхонтов (newbas) 489 06.05.09 11:52 Сейчас в теме
(25) сложно сказать сразу - тут могут быть 2 причины:
1). Косяки в обработке :)
2). Отсутствие каких-либо материальных ресурсов при проведении, т.е. документ полностью и правильно перенесся, но нет остатков на счете или др.
Если мне скинуть xml (например на почту или в аську), то я могу точно сказать.
27. Алексей Гаврилов (sborka_home) 06.05.09 15:41 Сейчас в теме
Готов выслать файл. Куда бросать, адрес?
28. Сергей Яхонтов (newbas) 489 07.05.09 03:05 Сейчас в теме
(25) исправлен баг с проведением загруженных документов
(*) доделан перенос истории периодического реквизита справочников
(*) подходит для любых конфигураций
29. Сергей Яхонтов (newbas) 489 08.05.09 10:53 Сейчас в теме
30. lara LARA (larafox) 14.05.09 17:07 Сейчас в теме
Спасибки огромное!!! ;))) Я так долго мучилась, а вы меня спасли!!!Все справочники я смогла выгрузить из БП 1С8 вер 8.1 ред 6.15 в УПП той же версии под ред 1.2.Вот еще бы найти программку которая бы позволила выгрузить номенклатуру из Excel в УПП ..хотя бы наименование продукции что бы в ручную не забивать а то уж позиций очень много :(((
31. Сергей Яхонтов (newbas) 489 14.05.09 17:10 Сейчас в теме
(30) ?! Мои обработки предназначены для 7.7, а никак для 8
32. Андрей (akat65) 14.05.09 19:01 Сейчас в теме
У операции общие реквизиты не выгружаются(комментар...) ...?!
Хорошо бы пер.реквизиты выгружать за опр.период...
Флажок "не проведенные" недоступен всегда...
33. Андрей (akat65) 14.05.09 19:09 Сейчас в теме
Мне опять повезло, кнопки отметки доков перестали выбирать...
Платежное поручение выбирается с "операцией в ручную"
версия 07,05 _ 139
34. Андрей (akat65) 14.05.09 19:12 Сейчас в теме
35. Александр (SpiritBad) 18.05.09 22:03 Сейчас в теме
Эл.Родитель = Родитель.ТекущийЭлемент();
{C:\1C BASES\ПЕРЕГРУЗКА\ZAGRUZKAXML.ERT(255)}: Количество уровней справочника ограничено! - вот что мне в торговле 7.7 выдает
36. Алексей Гаврилов (sborka_home) 19.05.09 20:20 Сейчас в теме
Сергей, здравствуйте!
Обнаружил следующее: при загрузке документов, в момент их проведения, если в документе есть какие-либо ошибки (например, не хватает кол-ва для проведения или встречается нулевая сумма документа), то выдает предупреждение, типа, документ такой-то заблокирован, и проведение останавливается. Можно сделать, чтобы выдавалось сообщение, но при этом проведение остальных документов на этом не тормозилось.
37. Сергей Яхонтов (newbas) 489 25.05.09 17:14 Сейчас в теме
38. Денис (ICE13) 02.06.09 16:41 Сейчас в теме
(33) мои 2 варианта решения проблемы "не выгружаются определенные виды документов" или "выгружаются, но не те":

Проблема заключается в том, что к значениям в списке "СписокДокументов" обращение идет по хранящемуся там же индексу, а к значениям в списке "Документы" по номеру строки. Соответствие индексов и номеров элементов слетает, при наличии в списках таких документов как : КнигаПокупок(Формирование книги покупок) и/или КнигаПродаж(Формирование книги продаж).

1 вариант: сортировать элементы по представлению предварительно перед заполнением списка "СписокДокументов" в процедуре ВставитьВсе(СписокДокументов):

Процедура ВставитьВсе(СписокДокументов)
Документы1 = СоздатьОбъект("СписокЗначений");
Документы1.УдалитьВсе();
Для Сч=1 По Метаданные.Документ() Цикл
Документы1.ДобавитьЗначение(Метаданные.Документ(Сч).Представление());
КонецЦикла;
Документы1.СортироватьПоПредставлению();
СписокДокументов.УдалитьВсе();
Для Инд=1 По Метаданные.Документ() Цикл
СписокДокументов.ДобавитьЗначение(Инд,Документы1.ПолучитьЗначение(Инд));
КонецЦикла;
СписокДокументов.СортироватьПоПредставлению();
КонецПроцедуры

2 вариант: не сортировать список "Документы", закоментировав строку:

Документы.СортироватьПоПредставлению();
39. Gavrish (Gavrish) 1 09.07.09 19:10 Сейчас в теме
В операциях не выгружаются субконто, валюта, фирма, а в остальном ОК
40. Сергей Яхонтов (newbas) 489 09.07.09 19:11 Сейчас в теме
(39) c чего бы это? Можно базу (или фрагмент) на анализ?
41. Сергей Яхонтов (newbas) 489 17.07.09 17:28 Сейчас в теме
(38) Это правильно замечено. Понадобилось перенести один вид документа, а список пустой.
Пофиксил баги...
42. Андрей Зайцев (zaic) 111 05.10.09 17:59 Сейчас в теме
не смог загрузить в ту же базу (ПУБ), выдает ошибку

Эл.Родитель = Родитель.ТекущийЭлемент();
{.... .\ЗАГРУЗКАXML.ERT(251)}: Неверное значение!
43. torg1c (torg1c) 36 09.12.09 15:30 Сейчас в теме
Реквизит "Комментарий" может быть не у всех документов соответственно будет ошибка.
44. Сергей Яхонтов (newbas) 489 09.12.09 16:32 Сейчас в теме
(43) В типовых конфигурациях реквизит "Комментарий" является общим реквизитом. Т.к. моя разработка не коммерческая и выполнялась для собственных нужд и рассчитана, в основном, на конфигурации, построенные на основе типовых.
45. Любовь (alex_fursov) 4 30.09.11 11:06 Сейчас в теме
Подскажите смогу этой обработкой перенести операции введенные вручную для конфигурации бухгалтерия бюджетных учреждений?
46. Oleg Krechetoff (kog) 2 15.01.12 10:20 Сейчас в теме
А почему при загрузке не встают единицы у номенклатуры? Ни в справочнике ни в документе. Использую типовую ТИС.
Прикрепленные файлы:
47. Сергей Яхонтов (newbas) 489 15.01.12 22:27 Сейчас в теме
(46) kog,
Сложно сказать заочно - должна работать, но если не заполняются видимо есть проблемы с поиском подчиненных элементов, причем на сколько я помню справочник "Единицы" в ТиС не имеют кода.
48. Владимир Саблин (emptyteam) 18.01.12 07:58 Сейчас в теме
ТаблицаДокументов.УстановитьЗначение(НомерСтроки, "Комментарий",Док.Комментарий); 
{\\*******\DISTR\1C\7.7\ОБРАБОТКИ\ВЫГРУЗКА!ЗАГРУЗКА\ИДЕНТИЧНЫЕКОНФИГУРАЦИИ\ОБМЕНXML\ВЫГРУЗКАXML.ERT(321)}: Поле агрегатного объекта не обнаружено (Комментарий)


Не у Всех есть поле Комментарий ;)
49. SergeyNN (naumkin.s) 23.01.12 13:16 Сейчас в теме
50. Татьяна Фролова (Мать Тереза) 23.03.12 16:34 Сейчас в теме
Не загружает валюту ,каждый раз вручную проверять приходиться.
51. Татьяна Фролова (Мать Тереза) 23.03.12 16:39 Сейчас в теме
мои 2 варианта решения проблемы "не выгружаются определенные виды документов" или "выгружаются, но не те":

Проблема заключается в том, что к значениям в списке "СписокДокументов" обращение идет по хранящемуся там же индексу, а к значениям в списке "Документы" по номеру строки. Соответствие индексов и номеров элементов слетает, при наличии в списках таких документов как : КнигаПокупок(Формирование книги покупок) и/или КнигаПродаж(Формирование книги продаж).

1 вариант: сортировать элементы по представлению предварительно перед заполнением списка "СписокДокументов" в процедуре ВставитьВсе(СписокДокументов):

Процедура ВставитьВсе(СписокДокументов)
Документы1 = СоздатьОбъект("СписокЗначений");
Документы1.УдалитьВсе();
Для Сч=1 По Метаданные.Документ() Цикл
Документы1.ДобавитьЗначение(Метаданные.Документ(Сч).Представление());
КонецЦикла;
Документы1.СортироватьПоПредставлению();
СписокДокументов.УдалитьВсе();
Для Инд=1 По Метаданные.Документ() Цикл
СписокДокументов.ДобавитьЗначение(Инд,Документы1.ПолучитьЗначение(Инд));
КонецЦикла;
СписокДокументов.СортироватьПоПредставлению();
КонецПроцедуры

2 вариант: не сортировать список "Документы", закоментировав строку:

Документы.СортироватьПоПредставлению();
52. Татьяна Фролова (Мать Тереза) 11.04.12 09:17 Сейчас в теме
Выполняется обработка позиции Перемещение ТМЦ б000000010 (29.03.12)

Не удалось сохранить файл с данными из-за Неизвестная ошибка

Хотелось воспользоваться, пробовала несколько обработок, где-то что-то вылезает ,а я не программист,я бухгалтер, и в меру своих знаний не могу исправить, очень жаль что не сработала.
53. Сергей Яхонтов (newbas) 489 11.04.12 10:12 Сейчас в теме
(52) Мать Тереза,
Скорей всего путь для сохранения слишком длинный или нет доступа на запись файла в указанный каталог.
54. Татьяна Фролова (Мать Тереза) 11.04.12 13:08 Сейчас в теме
55. Люда (LysI) 11.04.12 16:38 Сейчас в теме
56. Сергей Маслов (sirm) 5 14.04.12 16:59 Сейчас в теме
Не помогло. Думал будет быстрее стандартной...
Увы. Все равно спасибо:)
57. Алекс Фергюсон (Foxux) 08.08.12 15:10 Сейчас в теме
Можно отсортировать Виды документов... по алфавиту
Ver 30.04.2009_ наезжает на другой слой формы...
Документ "Платежное поручение" не выгружается
Флажок "не проведенные" ВСЕГДА неактивный?


Не помогло. Думал будет быстрее стандартной...
Увы. Все равно спасибо:)
58. Алекс Фергюсон (Foxux) 08.08.12 15:10 Сейчас в теме
Выполняется обработка позиции Перемещение ТМЦ б000000010 (29.03.12)

Не удалось сохранить файл с данными из-за Неизвестная ошибка

Хотелось воспользоваться, пробовала несколько обработок, где-то что-то вылезает ,а я не программист,я бухгалтер, и в меру своих знаний не могу исправить, очень жаль что не сработала.
59. Алекс Фергюсон (Foxux) 08.08.12 15:12 Сейчас в теме
мои 2 варианта решения проблемы "не выгружаются определенные виды документов" или "выгружаются, но не те":

Проблема заключается в том, что к значениям в списке "СписокДокументов" обращение идет по хранящемуся там же индексу, а к значениям в списке "Документы" по номеру строки. Соответствие индексов и номеров элементов слетает, при наличии в списках таких документов как : КнигаПокупок(Формирование книги покупок) и/или КнигаПродаж(Формирование книги продаж).

1 вариант: сортировать элементы по представлению предварительно перед заполнением списка "СписокДокументов" в процедуре ВставитьВсе(СписокДокументов):

Процедура ВставитьВсе(СписокДокументов)
Документы1 = СоздатьОбъект("СписокЗначений");
Документы1.УдалитьВсе();
Для Сч=1 По Метаданные.Документ() Цикл
Документы1.ДобавитьЗначение(Метаданные.Документ(Сч).Представление());
КонецЦикла;
Документы1.СортироватьПоПредставлению();
СписокДокументов.УдалитьВсе();
Для Инд=1 По Метаданные.Документ() Цикл
СписокДокументов.ДобавитьЗначение(Инд,Документы1.ПолучитьЗначение(Инд));
КонецЦикла;
СписокДокументов.СортироватьПоПредставлению();
КонецПроцедуры

2 вариант: не сортировать список "Документы", закоментировав строку:

Документы.СортироватьПоПредставлению();
60. Сергей Яхонтов (newbas) 489 08.08.12 15:20 Сейчас в теме
(59) Foxux,
Можете делать как хотите - обработка в свободном доступе
61. Вика *** (kotenok17_90) 3 22.03.13 11:20 Сейчас в теме
Не могу выгрузить операции введенные в ручную, что сделать, а очень надо. Плиз помогите...
62. Сергей Маслов (sirm) 5 31.01.14 23:43 Сейчас в теме
Классная штука. Пользуюсь уже три года.
Еще ни разу не подводила!
Оставьте свое сообщение