Универсальный вариант XML-обмена данными для v8.1

09.01.11

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
ЧтениеТаблицыXML.epf
.epf 8,10Kb
623
623 Скачать (1 SM) Купить за 1 850 руб.

При обмене допускается использовать только простые типы данных - текст, число, дата, булево. Никаких ссылок!

 
Суть метода при обмене 1С - 1С:

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

Загрузка: данные загружаются в таблицу значений, после этого можно работать уже с таблицей значений, а не с XML-файлом. Это проще и код будет более читабелен.


Суть метода при обмене Delphi - 1С:

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

Выгрузка: используем библиотеку компонентов Jedi - компонент JvgExportXML. Я выгружал данные из Firebird-базы и Access.

Сайт Delphi-Jedi

Загрузка: данные также загружаются в таблицу значений (той же функцией, что и при обмене 1С-1С). Формат обмена совместим с форматом экспорта от Jedi. После загрузки можно работать дальше уже с таблицей значений.

В прилагаемой обработке в основной форме есть процедура "ЗаписатьТаблицуXML(ИмяФайла, ТЗ, ИндикаторПроцесса=Неопределено)", которая соответственно названию, выгружает таблицу ТЗ в файл. Процедуру скопируйте в свою обработку и вызывайте при выгрузке данных. Функция "ПрочитатьТаблицуXML(ИмяФайла)" загружает таблицу и в случае успеха возвращает ее в качестве результата.

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

См. также

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

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

35000 руб.

23.07.2020    57430    267    75    

221

SALE! 10%

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

27660 руб.

12.06.2017    146816    863    300    

444

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

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

35000 руб.

15.12.2021    26934    192    56    

147

SALE! 10%

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

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой

55778 50200 руб.

15.04.2019    75040    201    156    

140

SALE! 10%

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

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

53111 47800 руб.

03.12.2020    38976    110    71    

103

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

Регулярный обмен, выгрузка, перенос из КА 1.1, УПП 1.3, УТ 10.3 для обмена с любыми конфигурациями, поддерживающими обмен в формате EnterpriseData (КД3) - БП 3.0, ERP, КА 2, УТ 11, Розница 2, УНФ 1.6 и другими. Правила для старых и доработанных конфигураций не требуют синхронного обновления и совместимы с новыми и будущими конфигурациями. Обмен по расписанию, через папку, FTP, почту.

16260 руб.

18.02.2016    189881    620    534    

538

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Бухгалтер Пользователь Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 22.04.2025, версия 9.10 - 10.0)

18000 руб.

20.11.2015    161137    398    386    

525
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Ish_2 1115 09.01.11 09:09 Сейчас в теме
1. В конфигурации-источнике Таблицу значений можно создать и записать ЗначениеВФайл(..).
2. В конфигурации-приемнике прочитать ЗначениеИзФайла().

А статья вообще о чём ?


2. DrAku1a 1759 09.01.11 13:21 Сейчас в теме
Ish_2 пишет:

1. В конфигурации-источнике Таблицу значений можно создать и записать ЗначениеВФайл(..).
2. В конфигурации-приемнике прочитать ЗначениеИзФайла().

А статья вообще о чём ?


Да, действительно. С помощью ЗначениеВФайл(..) можно и дерево значений выгружать и загружать... Выходит статья ниочем :|
Хотя все-же может пригодится тем, кто переносит данные не из 1С...
3. WKBAPKA 215 10.01.11 00:03 Сейчас в теме
ну разве что разобрать файл в дерево, полезно было бы для некоторых целей, и то, вроде такие разработки тут уже выкладывали... а так, не понятно, как можно древовидную структуру разложить в плоский список эффективно?!
4. DrAku1a 1759 10.01.11 08:15 Сейчас в теме
WKBAPKA пишет:
а так, не понятно, как можно древовидную структуру разложить в плоский список эффективно?!


В Delphi, да и в других БД для этих целей применяется два поля:
ID тип AutoInc (счётчик) - идентификатор строки,
RootID тип Integer (целочисленное 4 байта) - ссылка на родителя.
Можно еще добавить поле
Level тип число - уровень текущей записи, но Дельфисты это поле вычисляют во время выполнения.

У записей самого верхнего уровня RootID или не заполнено или установлено в -1. Автоинкрементные поля заполняются начиная с 0 или 1 - поэтому у таких записей "родителей" нет.
Такая структура удобна - берешь запись, читаешь ID и ищешь подчиненные по RootID. При построении дерева - то-же самое только в рекурсии...
Чтобы перенести элемент в другую группу достаточно изменить у него значение RootID.
Чтобы перенести группу со всеми подчиненными элементами - достаточно изменить RootID в строке, соответствующей группе.
Выходит, довольно удобная организация.

В нашем случае нужно добавлять два поля и пройтись по ним заполняя счетчиком. Попутно заполняя RootID у подчиненных значением Родитель.ID... Наверняка можно в запросе и что покрасивше придумать или еще как оптимизировать...
5. WKBAPKA 215 11.01.11 09:58 Сейчас в теме
работа с динамическими списками мне известна... ;) просто в чем смысл?
Оставьте свое сообщение