Пример сериализации объектов в 1С 8.3 и их восстановления из сериализованных данных

Публикация № 375493

Разработка - Математика и алгоритмы

Выгрузка XML Выгрузка FastInfoSet Обмен данными Сериализация Версионирование данных

5
Простейшая обработка, демонстрирующая принципы сериализации выбранного Объекта 1С (Справочника, Документа и еще некоторых), с возможностью восстановления Объекта из сериализованного значения.

    Разбираясь с версионированием объектов в Бухгалтерии предприятия 3.0, я понял, что оно устроено весьма просто.

    В определенный момент (запись справочника, проведение документа...) объект сериализуется в формат FastInfoSet (по сути являющимся просто сжатым XML) и записывается в реквизит регистра сведений с типом "ХранилищеЗначения".

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

    Всё.

    В данной обработке на совсем простом уровне проиллюстрирован этот механизм. Можно выбрать Объект (документ, справочник и некоторые другие) сериализовать его в XML и FastInfoSet.

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

    Я не стал делать косвенно опасный механизм перезаписи существующего объекта, а просто создаю форму нового объекта, хранящегося в реквизите обработки "Сериализуемый объект" и затем в нее копируются данные восстановленного объекта. При этом создается новый объект с теми же реквизитами. Идею по открытию формы созданного на сервере из сериализованных данных Объекта я позаимствовал из статьи lobster"Открытие формы еще незаписанного документа 1С 8.2 Управляемое приложение".

5

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

Наименование Файл Версия Размер
Демонстрация сериализации объектов 1С и их обратного преобразования
.epf 9,68Kb
05.07.15
78
.epf 9,68Kb 78 Скачать

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. spezc 587 05.07.15 07:04 Сейчас в теме
Я бы на вашем месте дополнил статью материалом, который бы объяснил, как восстановить версию объекта (например справочинка Номенклатура), если между версиями были изменены метаданные (например добавлен или удален реквизит).
miha0713; +1 Ответить
3. katkov_a 62 05.07.15 11:25 Сейчас в теме
(1) spezc, Достаточно записать прямо в серверной процедуре восстановленный из сериализованных данных объект, и он заместит собой существующую версию, т.к. он имеет тот же Идентификатор и следовательно для Программы он является тем же объектом.
5. DitriX 1713 05.07.15 15:48 Сейчас в теме
(3) вы так и не ответили на вопрос (1) :)
Попробуйте изменить тип данных или же добавить/удалить метаданные, некий реквизит, к примеру. И увидите - как 1С не восстановит вам старую версию а напишет ошибку десериализации :)
6. katkov_a 62 05.07.15 19:27 Сейчас в теме
(5) DitriX, Ах пардон, просто не правильно прочитал. Ответ - не прокатит, при создании объекта возникнет ошибка.
7. V.Nikonov 119 08.07.15 20:34 Сейчас в теме
(6) Придется сериализовать Новый (Пустой) объект, а затем сверять структуру xml , восстанавливаемой и текущей структуры... Вылавливать добавленные и лишние реквизиты структуры с корректировкой текстового представления...
8. katkov_a 62 09.07.15 00:51 Сейчас в теме
(7) V.Nikonov, А как это сделать, если сериализованный объект хранится в FastInfoSet?
9. kasper076 48 09.07.15 06:19 Сейчас в теме
(8) может по мимо сериализованных данных самого объекта хранить еще схему этого объекта? В таком случае можно будет сравнить сохраненную схему со схемой полученной из БД, если они идентичны, то просто десериализовать объект, а если нет, то создать XDTO-объект по сохраненной схеме, десериализовать в него данные сохраненного объекта и затем уже обрабатывать их.
10. katkov_a 62 09.07.15 15:13 Сейчас в теме
(9) kasper076, Использование FastInfoSet применяется для уменьшения объема записываемых данных.
А так, на здоровье, можно хранить в XML. Его получать из хранилища и не мудрствовать лукаво.
Если хранить в базе еще и схему, то выигрыша в объеме не будет. Мне так кажется.
Но, конечно, зависит от количества вводимых документов.
Можно просто сделать хранение во внешних файлах XML "снимков" критичного документа.
11. AlexO 127 09.07.15 15:20 Сейчас в теме
(10)
Можно просто сделать хранение во внешних файлах XML "снимков" критичного документа.
Вы хоть представляете, во что это выльется? Даже если вы корректно напишите подобную систему версионирования.
Даже хранение таких данных в базе - это уже до гигабайта в месяц. А это просто таблицы. Посчитайте, сколько будет "в файлах".
14. katkov_a 62 09.07.15 22:39 Сейчас в теме
(11) AlexO, Да, представляю. Тысяча доков - тысяча файлов. :-)
16. AlexO 127 10.07.15 11:33 Сейчас в теме
(14)
Да, представляю
Да нет, не до конца ))
А размер всей этой фейерии?
15. kasper076 48 10.07.15 06:22 Сейчас в теме
(10) эт все понятно. Но как я понял после изменении структуры ранее сериализованного объекта десериализовать его уже не удастся. И тогда можно будет лишь считать его через ЧтениеХМЛ, а затем парсить.А вот если вместе с данными объекта сохранять еще и его схему, то объект можно будет получить в виде объекта ХДТО, что значительно упрощает работу с его свойствами. Схему можно хранить не в каждом элементе, а сводно. Т.е. будет некая история схем для объекта метаданных в виде структуры. Ключом будет ИД конфигурации, а значением ХМЛ представление схемы.
18. AlexO 127 10.07.15 11:42 Сейчас в теме
(15) kasper076,
Но как я понял после изменении структуры ранее сериализованного объекта
Если меняете стурктуру исходного дока, а "слепок" в виде сериализации - остается прежним, то это и понятно, что "обратно" вы его не восстановите с прежней структурой.
Это проблема 1С, аналогичная, как если сохранить "объект" в "ХранилищеЗначения", поменять его, а в Хранилище - останется старая не измененная копия.
то объект можно будет получить в виде объекта ХДТО
Со схемой - вы просто создаете новый объект как "объект XDTO", который, естесственно, не связан с предыдущим никак и ничем.
katkov_a; +1 Ответить
20. katkov_a 62 10.07.15 17:01 Сейчас в теме
(15) kasper076, "Считать" объект не удастся. Если он хранится в XML, то можно просмотреть его структуру, что бы понять, что изменилось.
А если он хранится в FastInfoSet формате, то я даже не знаю, что можно сделать. А по стандартной методе из БСП он хранится в нем.
2. spezc 587 05.07.15 07:05 Сейчас в теме
ну может кому-то будет интересно:
Функция Десериализовать(XMLСтруктураСериализованногоОбъекта) Экспорт
    ЧтениеXMLДанных = Новый ЧтениеXML;
    ЧтениеXMLДанных.УстановитьСтроку(XMLСтруктураСериализованногоОбъекта);
    ТЗ = СериализаторXDTO.ПрочитатьXML(ЧтениеXMLДанных);
    ЧтениеXMLДанных.Закрыть();  
    Возврат ТЗ;
КонецФункции

Функция Сериализовать(ОбъектСериализации) Экспорт
    ДеревоВОбъектеXDTO = СериализаторXDTO.ЗаписатьXDTO(ОбъектСериализации);
    МойXML = Новый ЗаписьXML;
    МойXML.УстановитьСтроку();
    ФабрикаXDTO.ЗаписатьXML(МойXML, ДеревоВОбъектеXDTO);
    Возврат МойXML.Закрыть();
КонецФункции

Функция ПолучитьСтрокуДляПередачи(Значение) Экспорт

	ХранилищеДляПередачи = Новый ХранилищеЗначения(Значение, Новый СжатиеДанных(9));
	СтрокаДляПередачи = Сериализовать(ХранилищеДляПередачи);

	Возврат СтрокаДляПередачи;
	
КонецФункции

Функция ПолучитьДанныеИзСтроки(ДанныеСтрокой) Экспорт

	Хранилище = Десериализовать(ДанныеСтрокой);
	Значение = Хранилище.Получить();

	Возврат Значение;
	
КонецФункции
Показать
ivv1970; bashinsky; +2 Ответить
4. katkov_a 62 05.07.15 11:36 Сейчас в теме
(2) spezc, Сериализация объекта "СериализуемыйОбъект":
&НаСервере
Процедура СериализоватьОбъектНаСервере()
	
	ЗаписьXML = Новый ЗаписьXML;
	ЗаписьXML.УстановитьСтроку();
	ЗаписьXML.ЗаписатьОбъявлениеXML();
	ЗаписатьXML(ЗаписьXML, СериализуемыйОбъект, НазначениеТипаXML.Явное);
	СтрокаXML = ЗаписьXML.Закрыть();
	
КонецПроцедуры
Показать


Восстановление объекта из Строки XML:
&НаСервере
Функция СоздатьОбъектИзXMLНаСервере()
	
	ЧтениеXML = Новый ЧтениеXML;
	ЧтениеXML.УстановитьСтроку(СтрокаXML);
	ВосстановленныйОбъект = ПрочитатьXML(ЧтениеXML);
        // Для замещения ныне существующего объекта в базе достаточно записать Восстановленный объект
        ВосстановленныйОбъект.Записать();
		
КонецФункции
Показать
ybatiaev; +1 Ответить
12. AlexO 127 09.07.15 15:24 Сейчас в теме
(0)
Идею по открытию формы созданного на сервере из сериализованных данных Объекта я позаимствовал
Это какую вы там идею позаимствовали - что нужно заполнить форму перед её открытием?
13. katkov_a 62 09.07.15 22:35 Сейчас в теме
(12) AlexO, Да. А как бы вы сделали это иначе, интересно, если не хотите перезаписывать документ старой версией? А открыть надо старую?
17. AlexO 127 10.07.15 11:36 Сейчас в теме
(13)
А как бы вы сделали это иначе, интересно, если не хотите перезаписывать документ старой версией?
Да без разницы, как - тут и "идеи" нет никакой. Чистая реализация.
Или создать "болванку" документа, и его заполнить, или создавать "имитацию" документа (как Франкенштейна - отдельно ТЧ, отдельно шапка, поля там...), и тоже их заполнить данными объекта.
А идеи нет никакой ))
19. katkov_a 62 10.07.15 16:52 Сейчас в теме
(17) AlexO, Да, чистая реализация.

(16) AlexO, Идея раздувать базу тоже - так себе, а если записывать внешне, получится некая отдаленная аналогия Журнала регистрации. :-)
21. AlexO 127 10.07.15 17:03 Сейчас в теме
(19)
Идея раздувать базу тоже - так себе
Да оно знаете (или нет?), как - у 1С что "в лоб" (писать и раздувать базу), что "полбу" (хранить тысячи файлов на диске) - все едино неоптимально.
Тут - база раздувается, снижается производительность, там - диски "горят", медленно файлы читает и обрабатывает, снижается производительность...
Если интересно - могу рассказать, что предпочитаю я. Совсем другие варианты. Не тру-одноэсовые )))
22. katkov_a 62 10.07.15 17:08 Сейчас в теме
23. AlexO 127 10.07.15 17:15 Сейчас в теме
(22)
Если данные "на посмотреть" - всякие там "временные" файлы, которые через полгода никому не нужны (уже отработаны), логи изменений из систем версионирования и прочее, что не нужно спустя какое-то время - то однозначно хранить в базе и периодически автоматически чистить, чтобы "не росло". Также - даже если "будет нужнО", всегда можно восстановить в архиве (например, цепочки изменений из системы версионирования).
Если данные какие "нужные всегда" (картинки там, файлы, документы, которые и через 10 лет нужны будут) - то хранить в смежной базе (хоть SQL, хоть еще какой, какая понравится), и сделать ссылкообмен между ними. Ссылки, естественно, в формате ссылок 1С.
Оба эти варианта покрывают 99,99999% всех потребностей в таких хранилищах, и обеспечивают оптимальную производительность.
А также - архивирование, переносы (баз и данных), оптимизацию дискового пространства, контроль, управление и т.д и т.п.
Потому что идеальны - в данных случаях и условиях.
А 1С-у давно пора забубенить конфу "Хранилище данных" как болванку-шаблон для хранилищ из 2-го варианта. Но нет же, у них более возвышенные цели, чем какие-то приземленные потребности обработки данных ))
24. katkov_a 62 10.07.15 18:31 Сейчас в теме
(23) AlexO, Хммм... А со внешним источником данных не получится?
Ну т.е. другой базой SQL.
25. katkov_a 62 10.07.15 19:07 Сейчас в теме
(24) У меня получилось подключиться к другой базе и записать туда текст!

Создал в другой базе регистр сведений по названию "РегистрСедений" с одним текстовым полем.

Создал в первой базе Внешний источник данных. Настроил подключение к SQL. Добавил найденую таблицу регистра сведений во ВнешнийИсточник. Вуаля. Могу в ней писать.
Прикрепленные файлы:
26. AlexO 127 11.07.15 00:12 Сейчас в теме
(24)
А со внешним источником данных не получится?
(25)
У меня получилось подключиться к другой базе и записать туда текст!
Ничего не понял.
Вы подключили таблицу другой базы SQL через "технологию" ВнешниеДанные? Или вы просто подключились к другой базе SQL и сумели записать туда данные?
Создал в другой базе регистр сведений по названию "РегистрСедений" с одним текстовым полем.
Если вы про другую базу 1С - то никакой "регистр сведений" вы не заполнили: вы заполнили лишь поле таблицы SQL, которую использует также и РС той базы 1С. "та" 1С никакой "записи" не получит - ей "плевать" на ваши "прямые" записи в SQL, там более сложная схема связки таблиц. Попробуйте записать что-то более сложное, чем примитивные типы данных, которые вам доступны по COM.
27. katkov_a 62 11.07.15 00:47 Сейчас в теме
(26) AlexO, Мы говорили о сохранении версий документов. Дескать, базу "раздувать" плохо, но и во внешние файлы сохранять тоже плохо.

Независимый непериодический регистр сведений 1С - обычная таблица в SQL. Я создал его в одной базе.
И подключился к нему из другой через объект Внешний источник данных. И мне удалось писать в регистр сведений в той первой базе. (Я, просто, раньше никогда с объектом Внешний источник дел не имел)

Это означает: можно версии объектов в виде XML писать через внешний источник данных в другую базу. И наша боевая база не будет "раздуваться" и объект мы сможем проанализировать в случае необходимости восстановления, т.к. они будут записаны в несжатом виде.
28. AlexO 127 12.07.15 02:05 Сейчас в теме
(27)
Это означает: можно версии объектов в виде XML писать через внешний источник данных в другую базу.
Я, может, и не понимаю, о чем вы, но ощущение - что вы постоянно пересчитываете одни и те же три сосны ))
(23) цитата "Если данные какие "нужные всегда" (картинки там, файлы, документы, которые и через 10 лет нужны будут) - то хранить в смежной базе (хоть SQL, хоть еще какой, какая понравится)"
Текст также можно хранить аналогичным образом.
29. sir 2 09.03.17 08:51 Сейчас в теме
(26) Все 1С "Получит" если корректно сделать запись в таблицу sql.
У меня был реализован целый обмен между БД посредством записи напрямую в SQL другой БД 1С.

Причем создавались новые документы, справочники и пр., И все это работало за доли секунд (и работает до сих пор)

Но обращался я к другой БД не через внешнее соединение а через ADO.
ybatiaev; bloodpact; katkov_a; +3 Ответить
Оставьте свое сообщение

См. также

Конвейер проверки качества кода 117

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика Практика программирования Математика и алгоритмы Разработка

Jenkinsfile для выполнения проверки качества кода. Собирает информацию с АПК, EDT и BSL-LS. Сопоставляет ошибки с гит-репозиторием, выгруженным ГитКонвертором. Отправляет в Сонар.

3 стартмани

04.09.2019    4681    10    Stepa86    35       

Документы и Справочники в JSON 58

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Обмен через XML

Пример выгрузки всех данных Документа или Справочника в JSON

1 стартмани

20.06.2019    4237    12    darkmessiahan    15       

XDTO для чайников 109

Статья Программист Архив с данными v8 1cv8.cf Абонемент ($m) Обмен через XML

Пример использования XDTO пакетов для выгрузки документа с табличной частью.

1 стартмани

29.05.2019    9646    11    HAMMER_59    33       

1C + Python + Django Rest Framework + Vue.js. Опыт несложной full-stack разработки 121

Статья Программист Архив с данными v8 1cv8.cf Абонемент ($m) Практика программирования Внешние источники данных Обмен через XML WEB Разработка

В этой статье мы рассмотрим путь и основные моменты создания небольшого вэб-сервиса, который мы называем "Онлайн Прайс-лист". Выгрузка из 1С, бэкенд, фронтенд, получение заказов в 1С.

1 стартмани

22.04.2019    15812    14    riposte    63       

Ручная выгрузка и загрузка данных через универсальный обмен данными с настройками (расширение, платформа 8.3+) 45

Инструменты и обработки Программист Архив с данными v8 Розница УНФ ERP2 БП3.0 УТ11 КА2 ЗУП3.x Абонемент ($m) Обработка документов Обработка справочников Обмен через XML Перенос данных из 1C8 в 1C8

Данное расширение (не требует изменения конфигураций) служит как надстройка для конфигураций, у которых обмен между базами происходит через универсальный формат (EnterpriseData), с использованием стандартных правил конвертации, которые уже есть в конфигурации. Интерфейс адаптирован для простых пользователей, сделан общий отбор по Организации для всех документов, имеется пару настроек для передачи в параметры конвертации, которые расположены в общем модуле конфигураций, а так же есть возможность выбора запуска - в фоне или в текущем сеансе. Теперь не нужно настраивать обмен между базами, для того чтоб просто перенести нужные документы. Подходит точно для УТ 11.4, БП 3.0.67, КА 2.4.5, Розница 2.2.9 (Обновление 1.2 от 02.03.2019)

2 стартмани

19.01.2019    7114    84    hakerxp    8       

Обмен без правил. От простого к сложному 128

Статья Программист Архив с данными v8 1cv8.cf Абонемент ($m) Перенос данных из 1C8 в 1C8

Пишем обмен с нуля, разбираемя с разными способами сериализации, учимся редактировать XML документы, создаем XDTO и Web service, осваиваем Script variant - English.

1 стартмани

16.01.2019    12134    7    fr13    26       

Выполнение запроса в другой базе 1С без com-соединения. HTTP-сервис 66

Инструменты и обработки Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Перенос данных из 1C8 в 1C8

Выполнение любого запроса с параметрами из одной базы 1С в другую. Используя HTTP-сервис. Посредством POST-запроса и JSON.

1 стартмани

30.11.2018    8323    16    John_d    19       

Пример получения данных из другой базы 1С через Web-сервис 99

Инструменты и обработки Программист Архив с данными v8 Россия Windows Абонемент ($m) Перенос данных из 1C8 в 1C8

В данной статье описан пример получения данных справочника из другой базы 1С через Web-сервис.

1 стартмани

11.11.2018    12194    13    flyDrag    28       

SOAP для чайников 85

Инструменты и обработки Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Обмен через XML WEB

Немножко про SOAP сервис. И пример работы с подключением и получением данных по SOAP за 5 минут.

1 стартмани

05.09.2018    18331    25    dusha0020    18       

Способы оптимизации переносов данных 55

Статья Программист Нет файла v8 КД Абонемент ($m) Перенос данных из 1C8 в 1C8

Хочу рассказать вам про способы оптимизации разработки правил обмена в программе «Конвертация данных» второй редакции. Казалось бы, про эту программу и разработку в ней правил конвертации уже сказано все, что можно. Появились уже более современные и быстрые технологии. Почему же все еще она? Дело в том, что «Конвертация данных» второй редакции все еще актуальна для огромного круга задач. Она имеет очень широкую функциональность и позволяет реализовывать сложные алгоритмы. Годы идут, а люди продолжают ей пользоваться и у них возникает много вопросов по этой программе. Возможно, в будущем вы тоже будете заниматься такими проектами и столкнетесь с задачами, похожими на те, про которые я собираюсь рассказать. Мне хочется вам в этом помочь.

1 стартмани

02.08.2018    9630    93    primat    7       

Опыт проведения сложных переносов данных на 1С 166

Статья Программист Архив с данными v8 КД Абонемент ($m) Перенос данных из 1C8 в 1C8

В статье я расскажу про опыт сложных переносов на платформе 1С:Предприятие. Она будет адресована в первую очередь разработчикам 1С, которые уже имеют опыт использования методики «Конвертация данных» (как второй, так и третьей редакции) – я думаю, это большинство из нас. • Я расскажу про различные методики организации переносов данных. • Мы рассмотрим рекомендуемые способы оптимизации правил конвертации, которые позволят вам быстрее выполнять свои переносы. • Также мы разберем, какие могут возникнуть сложности в ходе переноса данных. • Я покажу сравнительный анализ по ряду параметров инструментов «Конвертация данных» второй редакции и третьей, которая вышла уже более года назад.

30.07.2018    21897    44    primat    12       

Строим "фасады" в 1С 60

Статья Программист Конфигурация (md, cf) v8 Россия Абонемент ($m) Практика программирования Математика и алгоритмы

Как реализовать функционал, чтобы не было “мучительно больно” при расширении требований.

1 стартмани

04.05.2018    14397    3    ktb    41       

Синхронизация (выгрузка) данных ЗУП 3.1 - БП 2.0, УПП 1.3 47

Инструменты и обработки Системный администратор Программист Бухгалтер Внешняя обработка (ert,epf) v8 v8::БУ v8::СПР БП2.0 ЗУП3.x Россия БУ Зарплата Управление персоналом (HRM) Абонемент ($m) Перенос данных из 1C8 в 1C8

Подобная выгрузка не была предусмотрена разработчиками 1С, поэтому и существует эта публикация. Поддерживается выгрузка оценочных обязательств и резервов отпусков. Непосредственная выгрузка в базу Бухгалтерии.

3 стартмани

22.03.2018    26713    516    diso    160       

"Взлом" теста "1С:Профессионал" методом машинного обучения 83

Статья Программист Внешний отчет (ert,erf) v8 1cv8.cf Абонемент ($m) Практика программирования Математика и алгоритмы

Нейронные сети – не единственная модель, реализующая принципы машинного обучения. Есть еще байесовская модель, которая математически строже и определеннее, поскольку построена на надежном фундаменте теории вероятностей. Применению байесовского вывода к решению интересной теоретической задачи и посвящена данная статья. Слово "взлом" в заголовке использовано для привлечения внимания. Речь идет исключительно о математическом методе, показанном на примере знакомой всем задачи. 

12.03.2018    15072    88    ildarovich    18       

Правила конвертации документов ЗУП 2.5 - ЗУП 3.1 44

Инструменты и обработки Системный администратор Программист Бухгалтер Документ XML v8 v8::СПР ЗУП2.5 ЗУП3.x Россия БУ Зарплата Абонемент ($m) Обмен через XML Перенос данных из 1C8 в 1C8

Правила конвертации документов ЗУП 2.5 - ЗУП 3.1. Позволяют вести параллельную работу в базах ЗУП редакций 2,5 и 3.1.

10 стартмани

06.03.2018    24285    123    kostya_whiskas    23       

Организация обмена с базой филиала (розничного магазина) в торговой сети через XML (универсальный обмен) 70

Статья Программист Архив с данными v8 КД УТ11 Розничная и сетевая торговля (FMCG) Розничная торговля Абонемент ($m) Обмен через XML Перенос данных из 1C8 в 1C8

В статье по шагам рассматривается создание обмена между центральной базой и базами филиалов на базе конфигурации УТ 11. Для решения поставленной задачи было решено не использовать РИБ, т.к. требуется односторонний обмен ограниченным набором данных, к тому же по определенным условиям. Обмен реализован на основе типовой синхронизации на основе универсального обмена в формате EnterpriseData. Данная публикация может быть полезна внедренцам, которые работают с торговыми сетями, в том числе по модели франчайзинга.

1 стартмани

26.02.2018    24888    14    Kutuzov    18       

Создание в 1С 7.7 XML в формате EnterpriseData (универсальный формат обмена), версия 1.5. Инструкции и примеры переноса данных из устаревшей конфигурации 1С 7.7 в любую современную 1С 8.3, поддерживающую EnterpriseData, через Конвертацию данных 3 31

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 v8 1cv7.md Россия Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X Обмен через XML

Воспользоваться современным средством переноса данных "Конвертация данных 3.0.5.3" можно только выгрузив из системы - источника данных XML в формате обмена данными EnterpriseData. В этой публикации можно скачать приемы выгрузки из 1С 7.7 универсального формата обмена для Конвертации данных 3. Выполняем перенос данных из «1С:Предприятие 7.7» в «1С:Предприятие 8.3». Используем Конвертацию данных КД 3.0 из 1c 7.7 --> 1С 8.3. На первой стадии еще не опубликовано иного способа подложить файл для Конвертации данных 3 кроме как сформировать его вручную, постараемся решить данную проблему.

1 стартмани

26.02.2018    25869    45    ksnik    3       

Проверка данных после неполного ("нового") переноса из ЗУП 2.5 в ЗУП 3.1 18

Отчеты и формы Бухгалтер Архив с данными v8 v8::СПР ЗУП3.x Россия БУ Зарплата Абонемент ($m) Бухгалтерский учет Перенос данных из 1C8 в 1C8

Описаны данные, которые необходимо проверить после неполного ("нового") переноса из ЗУП 2.5 в ЗУП 3.1. Описано, на что необходимо обратить внимание, где найти перенесенные данные, что НЕ переносится, где найти настройки.

1 стартмани

17.01.2018    15833    137    btydj    3       

Пример заполнения/создания файла XML из XSD схемы, используя XDTO 128

Статья Программист Документ XML v8 1cv8.cf Абонемент ($m) Обмен через XML WEB

Добрый день, коллеги! Наконец-то дошли руки написать сию статью. Хочу поделиться своим опытом по разбору xsd схемы используя Фабрику XDTO, а также связанным с этим XML файлом. Думаю, наверняка кому-то понадобится.

1 стартмани

21.12.2017    28468    40    sandybaev    23       

Github и 1С. Пошаговая инструкция на конкретном примере 219

Статья Программист Архив с данными v8 Абонемент ($m) Математика и алгоритмы

Статья для тех, у кого есть неудержимое желание программировать и хочется доработать какую-то конфигурацию (или проект на 1С), выложенный на Github, но останавливают незнакомые слова Git, Github, Fork, Commit, Pull request, Merge, Issue.

1 стартмани

26.10.2017    34252    5    BlizD    51       

Синхронизация данных по правилам КД2.0 112

Инструменты и обработки Системный администратор Программист Бизнес-аналитик Бухгалтер Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Перенос данных из 1C8 в 1C8

Новый инструмент для сравнения и загрузки данных, сочетающий в себе: гибкость запросов (используются для сопоставления объектов); наглядный вывод отличий; удобный отбор загружаемых данных; возможность пообъектной синхронизации двух баз по правилам КД2 с помощью вызова обработки "Универсальный обмен XML" в базе-источнике через COM-соединение.

1 стартмани

27.08.2017    16200    105    vikad    30       

Правила обмена ЗУП 3.1 - БП 2.0 и ЗУП 3.1 - УПП 1.3 (отражение, ведомости и справочники) 97

Инструменты и обработки Программист Документ XML v8 v8::БУ v8::СПР БП2.0 БП3.0 ЗУП3.x Россия БУ Зарплата Управление персоналом (HRM) Абонемент ($m) Перенос данных из 1C8 в 1C8 Обмен через XML

Правила обмена для выгрузки документов "Отражение зарплаты в бухучете", "Ведомость в банк", "Ведомость в кассу", справочников "Сотрудники" и "Физические лица"

1 стартмани

01.08.2017    60205    1476    forseil    191       

Перенос справочников и документов из УТ 10.3 в БП 3.0 7

Инструменты и обработки Программист Бухгалтер Внешняя обработка (ert,epf) v8 УТ10 БП3.0 Россия БУ НУ УУ Абонемент ($m) Перенос данных из 1C8 в 1C8

Синхронизация справочников и документов из Управление торговлей 10.3 в Бухгалтерию предприятия 3.0. Обработка не затрагивает штатный механизм. Подключение и перенос документов происходит посредством OLE. Без ввода начальных остатков.

10 стартмани

25.07.2017    14243    9    2casp    5       

«Горыныч - то НЕ НАСТОЯЩИЙ!» … или О Конвертации Данных ред.3 (КД 3) и обменах в универсальном формате Enterprise Data… доступным русско-народным языком 58

Инструменты и обработки Программист Архив с данными v8 КД Абонемент ($m) Внешние источники данных Обмен через XML Перенос данных из 1C8 в 1C8

Тем, кто хочет быстро разобраться с темой инструмента Конвертация данных 3.0 и технологией обмена по новому формату 1С, активно применяемому во всех новых конфигурациях от 1С на БСП, расширяющем возможности интеграции, пакет полезных материалов.

1 стартмани

13.06.2017    14071    135    Davlad_A    16       

"Конвертация данных" + Git. Решение проблемы различий в файлах 112

Инструменты и обработки Программист Конфигурация (md, cf) v8 КД Абонемент ($m) Инструментарий разработчика Обмен через XML

Как известно, типовая конфигурация «Конвертация данных» обладает одним недостатком, мешающим работать с ней в Git-е. Если выгруженные из нее правила обмена загрузить в другую КД, а потом снова выгрузить, то полученные два файла будут очень сильно отличаться друг от друга, и при сравнении (diff) доработок будет невозможно провести код-ревью, равно как найти сами изменения, которые закоммитил разработчик.

1 стартмани

08.06.2017    16480    30    stas_ganiev    13       

Многопоточность. Универсальный «Менеджер потоков» (фреймворк) с отслеживанием зависимости объектов 175

Статья Программист Архив с данными v8 1cv8.cf Россия Абонемент ($m) Практика программирования Математика и алгоритмы Универсальные функции Производительность и оптимизация (HighLoad)

Восстановление партий, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

26.05.2017    38321    166    DarkAn    86       

XMPP(jabber) на чистом 1С 43

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Обмен через XML

На сайте infostart, есть несколько реализаций работы 1С с протоколом XMPP (jabber), но в основном они на использование сторонних библиотек (нативных), которые надо регистрировать в операционке (и только в винде), или на основе других систем - php, python и т.п. Предлагаю пример реализации отправки сообщения через этот протокол только средствами 1С.

1 стартмани

26.12.2016    11606    13    kodnik    8       

Загрузка XML в дерево значений 54

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Обмен через XML

Случайно наткнулся на статью с алгоритмом загрузки XML-строки в дерево значений и подумал, а не проще ли сделать это через механизм XDTO рекурсивно. На мой взгляд, решение получилось неплохое - даже атрибуты грузит..

1 стартмани

17.11.2016    18635    44    starik-2005    24       

Обмен данными онлайн через Веб-сервис с использованием обработки "Универсальный обмен данными XML" 186

Инструменты и обработки Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Обмен через XML

Доработка позволяет организовать двухсторонний обмен данными в режиме реального времени между любыми конфигурациями (типовые, самописные, обычные формы, управляемые формы). Также предлагается вариант в виде расширения конфигурации (.cfe) для конфигураций стоящих на поддержке без возможности изменения. В обмене может участвовать любое количество баз. Правила обмена подготавливаются с использованием конфигурации "Конвертация данных".

2 стартмани

28.10.2016    32125    209    linkov    33       

1С+Классы. Версия-0 52

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Windows Абонемент ($m) Разработка внешних компонент Математика и алгоритмы

Разработано ООП-расширение языка 1С, включающее (но не ограничивающееся): Классы как абстрактные типы данных с элементами «переменная», «свойство», «функция», «процедура»; Интерфейсы как абстрактные классы без элементов состояния («переменная») и без привязки к реализации методов (свойств, процедур, функций) при определении; Имплементация (реализация) интерфейсов классами; - одиночное открытое наследование; Области видимости «внутренняя» (private), «экспорт» (public), «защищенная» (protected); Статические элементы классов (общие для всех экземпляров класса); Замещение (переопределение реализации) методов при наследовании – «виртуальные методы, свойства»; Сокрытие (затенение) обычных (не замещаемых) элементов при наследовании; Перегрузка процедур и функций по количеству и типам данных аргументов; Конструкторы класса; Деструктор класса; Слабые ссылки; Делегаты.

1 стартмани

28.10.2016    16408    14    IntelInside    68       

Использование SoapUi для работы с веб-сервисами. Часть1 118

Статья Программист Архив с данными v8 Абонемент ($m) Практика программирования Обмен через XML

Как работать с SoapUi для тестирования веб-сервисов .

1 стартмани

30.09.2016    102813    35    kiv1c    28       

Редактор движений документа. Сохранение в XML, обмен между базами, замена регистратора. 23

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 Абонемент ($m) Обработка документов Универсальные обработки Обмен через XML

Редактор набора записей движений документа. Позволяет сохранить набор записей в XML, в настройки пользователя, прочитать сохраненный XML в другой идентичной базе, заменить регистратор. Можно изменять порядок записей, менять активность, как массово, так и по одной и др. Тонкий клиент, управляемые формы.

1 стартмани

07.09.2016    27520    146    Aphanas    4       

Соответствия объектов обмена 7

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 КА1 Россия Абонемент ($m) Распределенная БД (УРИБ, УРБД) Перенос данных из 1C8 в 1C8

Обработка позволяет проверять, исправлять ошибки, добавлять и удалять соответствия объектов в обменах данными между конфигурациями на основе «Комплексной автоматизации 1.1» или похожими конфигурациям. Подходит для обменов с использованием регистра сведений «СоответствиеОбъектовДляОбмена».

2 стартмани

26.08.2016    14778    3    xxxelaaa    0       

Загрузка файлов грузовых таможенных деклараций из файлов ФТС формата xml (Альта софт, Сигма софт, Декларант +) 16

Инструменты и обработки Программист Бухгалтер Внешняя обработка (ert,epf) v8 v8::БУ БП3.0 Россия БУ Windows Внешнеэкономическая деятельность (ВЭД) Абонемент ($m) Обмен через XML

Федеральная таможенная служба России давно поддерживает унифицированный формат электронных документов для обмена с информационными системами предприятий. xmlns="urn:customs.ru:Information:ExchangeDocuments:" если что. Структура, утвержденная комиссией Таможенного союза. Осталось только сделать загрузку в 1С из этого формата. На выходе - два документа ГТД по импорту и Поступление (акты, накладные)

5 стартмани

09.08.2016    35799    145    capitan    232       

Перенос данных из ЗУП 2.5 в ЗУП 3.1 45

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::СПР ЗУП2.5 ЗУП3.x БУ Windows Зарплата Управление персоналом (HRM) Абонемент ($m) Перенос данных из 1C8 в 1C8

Данная обработка предназначена для переноса некоторых данных из ЗУП 2.5 в ЗУП 3.1 через COM-соединения. Обработка была написана потому, что типовые правила переноса не предоставляют возможности переносить данные по отдельности, а некоторые данные не переносят вовсе. Тестировалась на версии 3.1.9.159 (8.3.12.1790).

1 стартмани

26.05.2016    31478    674    yojeeg    64       

Еще один способ расчета остатков на каждый день в запросе 128

Инструменты и обработки Программист Внешний отчет (ert,erf) v8 Абонемент ($m) Математика и алгоритмы Практика программирования

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

1 стартмани

24.04.2016    28412    46    ildarovich    21       

Выгрузка/загрузка данных в формате JSON v 1.0.5 56

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Распределенная БД (УРИБ, УРБД) Перенос данных из 1C8 в 1C8

Обработка предназначена для обмена данными между схожими конфигурациями в формате JSON. Этот формат обладает рядом существенных преимуществ по сравнению с xml и прочими популярными форматами. В отличие от существующих аналогов, обработка не использует никаких дополнительных библиотек. (де)Сериализация всех объектов происходит средствами встроенного языка и методов ЗаписатьJSON() и ПрочитатьJSON(). Работает на платформе версии не ниже 8.3.6.

3 стартмани

27.01.2016    35622    303    kser87    39       

[COM] Перенос данных через COMConnector 79

Инструменты и обработки Системный администратор Программист Бухгалтер Внешняя обработка (ert,epf) v8 1cv8.cf Россия Windows Абонемент ($m) Перенос данных из 1C8 в 1C8

Обработка обмена между двумя информационными базами схожей (не обязательно совпадающей) структуры. Изначально была заточена под бухгалтерию предприятия, сейчас используется для для обменов через COM любых конфигураций с режимом запуска "Управляемое приложение". Ближайший аналог - выгрузка-загрузка XML, но здесь нет промежуточных файлов выгрузки/загрузки, и обмен не прекращается в случае, когда состав реквизитов источника и приёмника различен!!! 27.09.2019 Версия 5.2.3.2 Исправлены исправленыц замеченные ошибки (версия от мая 19 года)

2 стартмани

23.11.2015    40520    595    Alex_E    167       

Разбор XML Документа с помощью XDTO, без использования XDTO-пакетов и XML-схем (для очень ленивых) 45

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Windows Абонемент ($m) Обмен через XML

Как разобрать XML Документ с помощью XDTO без изменений в конфигурации, без XML-схем данных, и при этом не выпасть с ошибкой "не достаточно памяти" ? Тем более что вам этот XML Документ нужно считать разово.

1 стартмани

14.11.2015    18292    39    TESL    8       

Интерфейс сопоставления объектов для обмена (для типового регистра СоответствиеОбъектовДляОбмена) 22

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 КА1 БП2.0 ЗУП2.5 УТ10 УПП1 Windows Абонемент ($m) Инструментарий разработчика Универсальные обработки Перенос данных из 1C8 в 1C8

Вы внедряете обмен данными между двумя типовыми или основанными на типовых БД и вам необходим инструмент, чтобы сопоставить между собой справочники этих конфигураций? Вы хотите навести порядок в обмене данными, потому что вам надоело вылавливать дублирующиеся объекты? Вам очень хочется перепоручить сопоставление объектов обменивающихся баз пользователям, но нет подходящего и понятного пользователям интерфейса? Тогда вам нужна именно эта обработка!

4 стартмани

11.11.2015    29416    221    catsam    8       

Преобразование XML в объекты 1С 62

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Обмен через XML

Преобразование XML в типовые объекты 1С всего лишь парой строк кода.

1 стартмани

17.10.2015    19557    96    PrinzOfMunchen    30       

Усовершенствованный редактор правил обмена КД2 146

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 КД Абонемент ($m) Обмен через XML

РПО-2М – мощный редактор правил обмена для КД 2. Позволяет ускорить свою разработку и ознакомление/доработку чужих правил обмена. Превосходство над встроенным редактором достигается за счет удобного функционального интерфейса, применения шаблонизации кода правил, богатого инструментария, упрощающего разработку, и интеграции с Инструментами Разработчика.

3 стартмани

16.09.2015    30720    174    Lem0n    39       

Управление изменениями в планах обмена (Управляемое приложение) v 1.0 6

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Распределенная БД (УРИБ, УРБД) Внешние источники данных Перенос данных из 1C8 в 1C8

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

2 стартмани

15.08.2015    24462    46    kser87    3       

Перенос справочников и документов из 1С 7.7 "Торговля и склад 9.2" в 1С 8.2 "Бухгалтерия предприятия 2.0". 2

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 БП2.0 1С7:ТиС Россия Windows Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X Обмен через XML

Немного доработанные типовые правила обмена для конфигураций из ТиС 9.2. в БП 2.0 - «ПОД_Перенос_Справочников_ТиС_БП20.xml» и «ОбработкаВыгрузкиСправочников.ert». Добавлены правила выгрузки справочников: Организации, контрагенты и номенклатура. Доработал типовые ПОД для переноса только контрагентов и номенклатуры без документов в новую базу бухгалтерии 2.0, протестировал на типовых конфигурациях ТиС 9.2 рел.984 и БП 2.0.64.23.

1 стартмани

05.06.2015    43578    121    Kuzya_brаtsk    3