Консультация № 58281
09.10.2006, 16:42
0.00 руб.
0 1 1
Здравствуйте, Эксперты!
Помогите, если сможете!
Нужно выгрузить данные из 1С для переброски их с CAP/R3 - остатки ТМЦ, партии, поставщики... Как это сделать? Есть ли какие-нибудь готовые обработки?
Заранее благодарю всех, кто откликнется!

Обсуждение

Неизвестный
09.10.2006, 17:46
общий
это ответ
Здравствуйте, Pvm!

Что значит "из 1С ... с CAP/R3"? Я так понял, "в CAP/R3", буду исходить из этого.
Для начала нужно знать в каком формате CAP/R3 сможет прочитать данные. Готовых обработок нет, тем более что для каждой конфигурации 1С обработку пришлось бы писать отдельную. Могу рассказать какие возможны варианты и немного технологию.

1. Через dbf-файл. Самый примитивный способ, однако для справочников самый подходящий на мой взгляд.
Пишется обработка (добавляется немного сервиса, там выбор пути и имени файла и т.п.), в ней создается объект "XBase" (dbf-файл), прописываются поля (такие чтоб R3 прочитал потом и загрузил), далее стандартная выборка элементов справочника, для каждого элемента -- своя строка таблицы. Пример см. в Приложении.

2. Через текстовый файл. Через объект "Текст" формируется файл любой конфигурации, с практически любыми разделителями.

3. Через объект "XML". Действовать обработка будет медленнее, но она в любом случае одноразовая (насколько я понимаю), так что не проблема.

4. Через экселевский файл. 1С может работать с объектами MS Office через механизм OLE.

Приложение:
Процедура Сформировать() ДБФ=СоздатьОбъект("XBase"); ДБФ.ДобавитьПоле("Kod","N",5,0); ДБФ.ДобавитьПоле("Nazv","C",25,0); ПутьКБазе="C:\Tovari.dbf" ДБФ.СоздатьФайл(ПутьКБазе,); Спр=СоздатьОбъект("Справочник.ТМЦ"); Спр.ВыбратьЭлементы(); Пока Спр.ПолучитьЭлемент()=1 Цикл ДБФ.Добавить(); ДБФ.Kod=Спр.Код; ДБФ.Nazv=Спр.Наименование; КонецЦикла; ДБФ.Записать(); ДБФ.ЗакрытьФайл();КонецПроцедуры
Форма ответа