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

09.01.11

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

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

Файлы

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

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

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

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

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

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

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

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

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


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

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

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

Сайт Delphi-Jedi

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

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

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

См. также

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 24894 руб.

12.06.2017    148462    864    302    

455

Перенос данных 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    58780    284    75    

224

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

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

35000 руб.

15.12.2021    27851    198    58    

153

SALE! 10%

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

48278 43450 руб.

25.02.2015    175135    319    267    

388

Перенос данных 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    191307    626    536    

545

SALE! 10%

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

Перенос данных из КА 1.1 в КА 2 | из КА 1.1 в УТ 11 | Воспользовались более 367 компаний! | Переносятся все возможные виды документов, начальных остатков и вся справочная информация из "1С:КА 1.1" в "1С:КА 2.х" / "1С:УТ 11" | Разработан в формате КД 2 (правила конвертации данных) | Фильтр по организациям при выгрузке | Выбор разных алгоритмов выгрузки начальных остатков | Можно проверить перенос до покупки!

55778 50200 руб.

04.12.2015    194246    254    351    

409

Загрузка и выгрузка в 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 форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 13.05.2025, версия 9.11 - 1010)

18000 руб.

20.11.2015    163317    406    386    

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

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


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

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

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


Да, действительно. С помощью ЗначениеВФайл(..) можно и дерево значений выгружать и загружать... Выходит статья ниочем :|
Хотя все-же может пригодится тем, кто переносит данные не из 1С...
3. WKBAPKA 216 10.01.11 00:03 Сейчас в теме
ну разве что разобрать файл в дерево, полезно было бы для некоторых целей, и то, вроде такие разработки тут уже выкладывали... а так, не понятно, как можно древовидную структуру разложить в плоский список эффективно?!
4. DrAku1a 1765 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 216 11.01.11 09:58 Сейчас в теме
работа с динамическими списками мне известна... ;) просто в чем смысл?
Оставьте свое сообщение