Xpoint
   [напомнить пароль]

Экспорт данных из 1С. Как?

Метки: [без меток]
2007-12-19 16:52:41 [обр] Pil(0/22)[досье]
Здравствуйте.
Встала задача ряд баз (в основном контрагентов) из 1С, перенести в DB2. К сожалению, не представляю, как это сделать. Общая схема мне представляется так — вывожу всю информацию в текстовый файл, разделяя поля запятыми, затем прохожу регулярным выражением, вставляя SQL-инструкцию INSERT.
Какие пути существуют для решения моей задачи?
спустя 52 минуты [обр] Nuclon(0/19)[досье]

написать обработку 1C, которая будет выгружать данные в тексовый файл. или в dbf файл
а уже оттуда, каким нибудь скриптом - заливать куда нужно.

или можно прямо 1Ской в файл писать уже SQL инструкции

спустя 6 минут [обр] Дмитрий Попов(58/509)[досье]
Э... 1С же уже много лет всё в MS SQL хранит, разве нет? Если да - то ищите в гугле сответсвующий софт, который как раз перегонкой из одной БД в другую и занимается - такого точно много
спустя 1 час 29 минут [обр] Pil(0/22)[досье]
Дмитрий Попов[досье]На сколько мне сказали, 1С хранит данные в db-файлах, но какой-то своеобразной структуры. MS SQL тут ни при чем (посудите сами, тогда бы стоимость продукта была не так доступна мелким предприятиям).
Я заню, что есть версии для работы с MS SQL и даже бета версия для работы с IBM DB2, но это вроде как экзотика и не наш случай. Перегнать из одной БД в другую для меня не проблема, готов сделать даже в ручную, если б в этом была проблема.
Nuclon[досье]Расскажите, пожалуйста, поподробнее о Вашем способе. Можно ли найти утилиты для вывода в текстовые файлы, или стоит просить специалистов писать соотв. инструкции 1С?
спустя 47 минут [обр] Nuclon(0/19)[досье]

Дмитрий Попов[досье]
1C опционально может работать с dbf файлами или с MS SQL. начиная с 8.1 - еще postgesql.

Но структура БД там очень... Без поллитра не разберешься :)
Если у вас версия 7.7 - посмотрите содержимое файла 1Cv7.DD в каталоге.

Утилитку такую можно попробовать найти здесь или здесь. Но, IMHO, написать такую обработку - дело 10 минут.
Если интересно - могу показать, как такая обработка пишется

Nfr

спустя 58 минут [обр] Pil(0/22)[досье]
Nuclon[досье], ок, может ли человек, ни имеющий никаких знаний об архитектуре и принципах работы 1С (т. е. я) провести данную операцию? Либо стоит привлечь специалистов со стороны?
спустя 1 час 50 минут [обр] Biggieman(0/3)[досье]
Pil[досье] А почему бы не использовать XML? Один раз посмотреть структуру xml'ки, и всё)) Там, тем более, из стандартный возможностей как раз есть экспорт в xml... А более гибкого для работы, чем xml, IMHO нет )))
спустя 18 минут [обр] Pil(0/22)[досье]
Biggieman[досье]А как экспортировать базу в XML-файл?
спустя 10 часов [обр] Nuclon(0/19)[досье]

Запускаем Конфигуратор, создаем новую обработку, в процедуре Сформировать пишем.

Т = СоздатьОбъект("Текст");
Т.ДобавитьСтроку("<?xml version=""1.0"" encoding=""cp1251""?>");
Т.ДобавитьСтроку("<items>");

Спр = СоздатьОбъект("Справочник.Контрагенты");
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент() = 1 Цикл
  Т.ДобавитьСтроку("  <item code="""+Спр.Код + """>");
  Т.ДобавитьСтроку("    <title>"+Спр.Наименование+"</title>");
  Т.ДобавитьСтроку("  </item>");
КонецЦикла;

Т.ДобавитьСтроку("</items>");

Т.Записать("C:\items.xml");

Ну, я думаю, мысль ясна? :)

спустя 12 минут [обр] Nuclon(0/19)[досье]
Biggieman[досье]
не знаю я, что можно в случае с 1С называть "стандартными возможностями", ибо конфигурации бывают очень разные.
спустя 1 час 4 минуты [обр] Pil(0/22)[досье]
Nuclon[досье]Спасибо огромное, на днях попробую разобраться, подпишусь тут.
ОФФ: и в правду 1С называют русифицированным бейсиком :/
спустя 31 секунду [обр] Pil(0/22)[досье]
*отпишусь
спустя 6 часов [обр] Nuclon(0/19)[досье]
Pil[досье], на самом деле - для каждого оператора есть и английский вариант. и оба варианта - равноценны.
Просто я как-то привык в 1Ске использовать именно русский язык :)
Powered by POEM™ Engine Copyright © 2002-2005