Сохранение любого документа из базы в файл (резервная копия), восстановление документа из файла

05.10.18

Интеграция - Файловый обмен (TXT, XML, DBF), FTP

Обработка позволяет выгрузить (загрузить) любой документ из (в) базы данных в файл с расширением xml.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Сохранение любого документа из базы в файл (резервная копия), восстановление документа из файла:
.epf 18,20Kb ver:1.9
16 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Иногда необходимо заполнить документ, но в нем уже есть данные. Данная обработка предназначения сделать резервную копию содержимого документа в файл и если необходимо восстановить данные документа из файла. Есть возможность сохранить движения документа по регистрам. Есть возможность редактировать документ без ограничений при наличии полных прав у пользователя. Формат файла XML. Обработка реализована для конфигурации на управляемых формах. Может быть добавлена как внешняя обработка в конфигурацию, есть процедура регистрации. Конфигурация может быть любая, форма обработки создается программно. Обработка тестировалась на платформе версии 8.3.12.1595.

Вступайте в нашу телеграмм-группу Инфостарт

Обработка сохранение в файл документа восстановление документа из файла редактирование заблокированного документа

См. также

НДС 22% Учетные задачи ККМ Файловый обмен (TXT, XML, DBF), FTP 1С 8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием Бухгалтерский учет Налоговый учет НДС Платные (руб)

Готовое обновление для конфигурации 1С:Управление торговлей 10.3, 1С:Комплексная автоматизация 1.1 , 1С:Управление производственным предприятием 1.3 обеспечивающее полную поддержку новой ставки НДС 22%. Для 1С:УТ 10.3 реализована поддержка печати чеков ККМ, а также Правила обмена с 1С:БП 3.0. Решение встраивает необходимые изменения в перечисления и документы, включая торговые операции и печатные формы.

12200 руб.

16.12.2025    7353    81    0    

75

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

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

50050 руб.

25.02.2015    186541    349    283    

411

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 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. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

22650 руб.

12.06.2017    158020    945    317    

477

SALE! 10%

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

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

38000 34200 руб.

15.12.2021    32612    242    61    

182

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

Правила переноса кадровых и расчетных данных и справочной информации из "1С:УПП1.3" или "1С:КА 1.1" в "1С:ЗУП 3.1 | Разработан в формате КД 2 (правила конвертации данных) | При выгрузке есть фильтр по организациям | Обновляется при выходе новых релизов 1С | Развитие алгоритмов | Расчетные документы переносятся в документ "Перенос данных" | Создаются документы "Начальная штатная расстановка" и "Начальная задолженность по зарплате", переносятся кадровые документы

58000 руб.

29.10.2018    61389    77    128    

76

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Управление торговлей 10 Россия Управленческий учет Платные (руб)

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

38000 34200 руб.

23.07.2020    66130    308    84    

247

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

Перенос данных из ЗУП 3 в ЗУП 3 | из ЗУП 3 в КА 2 | из ЗУП 3 в ERP | Оперативно обновляется при выходе новых релизов 1С | Готовые правила конвертации (КД 2) для перехода с "ЗУП 3" на "УП ред. 3" / "КА, ред. 2" / "ERP, ред. 2" |Переносится нормативно-справочная информация и документы с движениями

55200 руб.

11.01.2021    37261    33    56    

35
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. dnikolaev 168 21.09.18 11:02 Сейчас в теме
Интересная штука.
скажите . движения сохраняет/восстанавливает? или только реквизиты и табличные части?
2. PerlAmutor 161 24.09.18 08:09 Сейчас в теме
Элементы справочников сохраняет? Отсутствующие элементы справочников создает заново?
3. XSlava 158 24.09.18 09:19 Сейчас в теме
Движения сохраняет, восстанавливает. При формировании файла, для ссылочных типов сохраняется только ссылка на элемент. Как следствие при восстановлении если элемент удален, то будет восстановлена только ссылка на элемент, а не сам объект. Но и такую задачу можно решить, только объем файла увеличиться.
4. KolBbl4 24.09.18 10:03 Сейчас в теме
Это так скажем часть функции которые используются при конвертации данных? Структуру бы самого импортированного xml-файла посмотреть)
5. XSlava 158 24.09.18 10:18 Сейчас в теме
Нет это не часть функции которая используется при конвертации данных, при сохранении (восстановлении) до банального все просто. Файл примера прикладываю.
Прикрепленные файлы:
Ведомость объема работ по субподрядчику (собственные силы) АВУУ-0723 от 20.09.18.xml
6. madonov 271 24.09.18 10:29 Сейчас в теме
Старое доброе?

Процедура СохранитьРеквизитыИТабличныеЧасти (Объект, ИмяФайлаXML=Неопределено)
	ФайлXML = Новый ЗаписьXML;
	ФайлXML.ОткрытьФайл(ИмяФайлаXML);
	ФайлXML.ЗаписатьОбъявлениеXML();
	ФайлXML.ЗаписатьНачалоЭлемента("Root");
	ФайлXML.ЗаписатьАтрибут("Объект",Объект.Метаданные().Имя);
	//Сохраняем реквизиты
	Для Каждого Реквизит Из Объект.Метаданные().Реквизиты Цикл
		ФайлXML.ЗаписатьНачалоЭлемента("Реквизит");
		ФайлXML.ЗаписатьАтрибут("Имя", Реквизит.Имя);
		ТипЗначения = ТипЗнч(Объект[Реквизит.Имя]);
		Если Не ТипЗначения = Тип("Неопределено") Тогда
			ФайлXML.ЗаписатьАтрибут("ИмяТипа", XMLТип(ТипЗначения).ИмяТипа);
			ФайлXML.ЗаписатьАтрибут("URI", XMLТип(ТипЗначения).URIПространстваИмен);
		КонецЕсли;
		ФайлXML.ЗаписатьТекст(XMLСтрока(Объект[Реквизит.Имя]));
		ФайлXML.ЗаписатьКонецЭлемента();
	КонецЦикла;
	//Сохраняем табличные части
	Для Каждого ТЧ из Объект.Метаданные().ТабличныеЧасти Цикл
		ФайлXML.ЗаписатьНачалоЭлемента("ТабличнаяЧасть");
		ФайлXML.ЗаписатьАтрибут("Имя", ТЧ.Имя);
		Для Каждого СтрокаТЧ из Объект[ТЧ.Имя] Цикл
			ФайлXML.ЗаписатьНачалоЭлемента("ЭлементКоллекции");
			Для Каждого РеквизитТЧ Из ТЧ.Реквизиты Цикл
				ФайлXML.ЗаписатьНачалоЭлемента("Реквизит");
				ФайлXML.ЗаписатьАтрибут("Имя", РеквизитТЧ.Имя);
				ТипЗначения = ТипЗнч(СтрокаТЧ[РеквизитТЧ.Имя]);
				Если Не ТипЗначения = Тип("Неопределено") Тогда
					ФайлXML.ЗаписатьАтрибут("ИмяТипа", XMLТип(ТипЗначения).ИмяТипа);
					ФайлXML.ЗаписатьАтрибут("URI", XMLТип(ТипЗначения).URIПространстваИмен);
				КонецЕсли;
				ФайлXML.ЗаписатьТекст(XMLСтрока(СтрокаТЧ[РеквизитТЧ.Имя]));
				ФайлXML.ЗаписатьКонецЭлемента();
			КонецЦикла;
			ФайлXML.ЗаписатьКонецЭлемента();
		КонецЦикла;
		ФайлXML.ЗаписатьКонецЭлемента();
	КонецЦикла;
	Если Не ФайлXML=Null Тогда
		ФайлXML.ЗаписатьКонецЭлемента();
		ФайлXML.Закрыть();
	КонецЕсли;
КонецПроцедуры

Процедура ЗагрузитьРеквизитыИТабличныеЧасти(Объект, ИмяФайлаXML=Неопределено) Экспорт
	Если Не ИмяФайлаXML = Неопределено Тогда
		ФайлXML = Новый ЧтениеXML;
		ФайлXML.ОткрытьФайл(ИмяФайлаXML);
		Пока ФайлXML.Прочитать() Цикл
			Если ФайлXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
				ЗагрузитьОбъектРекурсивно(ФайлXML, Объект, ФайлXML.Имя);
			КонецЕсли
		КонецЦикла;
	КонецЕсли;
КонецПроцедуры

Процедура ЗагрузитьОбъектРекурсивно(ФайлXML, Объект, знач ИмяУзла)
	ИмяТипа = "";
	ПространствоИмен = "";
	Пока ФайлXML.ПрочитатьАтрибут() Цикл
		Если ФайлXML.Имя = "ИмяТипа" Тогда
			ИмяТипа = ФайлXML.Значение;
		ИначеЕсли ФайлXML.Имя = "URI" Тогда
			ПространствоИмен = ФайлXML.Значение;
		КонецЕсли;
	КонецЦикла;
	Пока ФайлXML.Прочитать() Цикл
		Если ФайлXML.ТипУзла = ТипУзлаXML.КонецЭлемента И ФайлXML.Имя = ИмяУзла Тогда
			Возврат;
		ИначеЕсли ФайлXML.ТипУзла = ТипУзлаXML.Текст Тогда
			ТипОбъекта = ИзXMLТипа(ИмяТипа, ПространствоИмен);
			Если НЕ ТипОбъекта = Неопределено тогда
				Объект = XMLЗначение(ТипОбъекта, ФайлXML.Значение);
			КонецЕсли;
		ИначеЕсли ФайлXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
			ИмяТекУзла = ФайлXML.Имя;
			Если ФайлXML.Имя = "ЭлементКоллекции" Тогда
				ЗагрузитьОбъектРекурсивно(ФайлXML, Объект.Добавить(), ИмяТекУзла);
			Иначе
				Если ФайлXML.ПрочитатьАтрибут() Тогда
					ЗагрузитьОбъектРекурсивно(ФайлXML, Объект[ФайлXML.Значение], ИмяТекУзла);
				КонецЕсли;
			КонецЕсли;
		КонецЕсли;
	КонецЦикла;
КонецПроцедуры
Показать

В любом случае большинство современных конфигураций имеют встроенные механизмы версионирования. Перезаполнил, посмотрел итог, откатился на предыдущую версию.
8. Artem-B 104 24.09.18 11:12 Сейчас в теме
(6) На больших объемах данных пробовали БСПшное версионирование включать? Автору плюс, вроде просто, но очень полезно
10. bugagashenka 205 24.09.18 13:03 Сейчас в теме
(8) база 3Тб. Версионирование на основные документы включено. Нормально работает. Если не брать в расчет fastinfoset и баг в платформе с составными реквизитами. УТ 11.0, 8.2.19.130, SQL 2016.
11. XSlava 158 24.09.18 13:12 Сейчас в теме
Так все таки "баги" есть в типовом решении. В типовом решении хорошо выглядит сравнение версий. Объем базы важен для тестирования и различных проверок.
7. XSlava 158 24.09.18 10:42 Сейчас в теме
Нет не старое доброе, это сложно. Есть фабрика, которая делает все за программиста. Механизм версионирования не очень серьезная вещь. У нее есть два недостатка, с которыми я столкнулся, версия храниться в базе (увеличение объема базы) нужно периодически чистить. Самое главное, если сначала сохранить версию объекта, затем изменить структуру объекта, добавить реквизит или изменить тип у какого нибудь реквизита, то версия не восстановится. Это не позволяет в динамически развивающихся базах (на этапе внедрения, разработки) использовать механизм версионирования. Я от него отказался. Для небольших баз и типовых решения без обслуживания программиста, это удобно, но не более. Это мое личное мнение.
milov.aleksey; TreeDogNight; acanta; +3 Ответить
9. XSlava 158 24.09.18 11:28 Сейчас в теме
У нас основная база 50 Gb, включили для одного документа. Когда понадобилось восстановить документ, через полгода, не смогли. В документ были добавлены новые реквизиты, отключили версионирование и забыли о нем.
12. Ramzay82 27.09.18 08:41 Сейчас в теме
Спасибо, может пригодится
user1057077; +1 Ответить
13. Жискар 9 08.10.18 18:57 Сейчас в теме
Возникла острая необходимость в обработке.
Применил для выгрузки операции. Операция огромная 1330 записей.
Получил ошибку: Ошибка доступа к файлу
Попробовал выгрузить на другой базе, результат тот же.
Можете помочь?
Прикрепленные файлы:
Возникла острая необходимость в обработке.docx
14. XSlava 158 09.10.18 07:57 Сейчас в теме
(13) Помочь могу, у меня нет таких объемных операций.
Предлагаю два варианта:
а. Я подключусь удаленно и с помощью отладчика на вашем ПК проверю и внесу изменения.
б. Сохраняете базу и выкладываете на яндекс диск, я ее от туда забираю и тестирую.
Моя почта Konors2007@ya.ru.
15. XSlava 158 09.10.18 08:05 Сейчас в теме
(13) Попробуйте в строчке №173
В место строки:

ТаблицаЗаписей.Вставить("Строка_"+НомерСтроки, СтрокаТаблицы);

Вставьте вот эту строку:

ТаблицаЗаписей.Вставить("Строка_"+Формат(""+НомерСтроки,"ЧГ=0"), СтрокаТаблицы);


Должно заработать.
Для отправки сообщения требуется регистрация/авторизация