Re: 1c, XML, импорт
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 19.02.03 11:13
Оценка: 2 (1)
Здравствуйте, ivanpupok, Вы писали:

I>И теперь вопрос: стоит ли мне из своей программы экспортировать документы по схеме commerceML.


Не стоит. ПРоще экспортировать в произвольном xml. CommerceML это прежде всего обмен финансовыми транзакциями.
... << RSDN@Home 1.0 beta 6a (developer build)>>
AVK Blog
1c, XML, импорт
От: ivanpupok  
Дата: 19.02.03 10:46
Оценка:
Здравствуйте.

Появилась такая задача. Из самодельной учётной системы, надо организовать экспорт некоторых документов в 1с (самописная конфигурация, основанная на 1с:Бухгалтерия 7.7). Т.е. я могу чётко определить соответствие каждого документа в моей системе с документом в 1с (то же и с полями).

После не слишком длительного изучения 1с вроде как понял, что для этого подходит XML. Так же, где-то что-то читал про поддержку некоего стандарта commerceML в 1с.

И теперь вопрос: стоит ли мне из своей программы экспортировать документы по схеме commerceML.
Eсли да, то какое преимущество (типа "вообще под 1с ничего писать не придётся") мне это даст.
Re[2]: 1c, XML, импорт
От: ivanpupok  
Дата: 19.02.03 11:36
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, ivanpupok, Вы писали:


I>>И теперь вопрос: стоит ли мне из своей программы экспортировать документы по схеме commerceML.


AVK>Не стоит. ПРоще экспортировать в произвольном xml. CommerceML это прежде всего обмен финансовыми транзакциями.


AVK>



Спасибо.
Тогда ещё вопрос, а вообще оправдано ли здесь использование XML ? какие ещё есть способы импорта в 1с ? Чем чревато писать нужную информацию напрямую в базу ?
Где можно скачать/посмотреть примеры xml'ного импорта для 1с ?
Re[3]: 1c, XML, импорт
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 19.02.03 11:53
Оценка:
Здравствуйте, ivanpupok, Вы писали:

I>Тогда ещё вопрос, а вообще оправдано ли здесь использование XML ?


Да.

I> какие ещё есть способы импорта в 1с ?


Текстовый файл, экспорт напрямую через OLE.

I> Чем чревато писать нужную информацию напрямую в базу ?


Лучше не надо. Чревато тем что при изменении базы придеться переписывать экспорт.

I>Где можно скачать/посмотреть примеры xml'ного импорта для 1с ?


... << RSDN@Home 1.0 beta 6a (developer build)>>
AVK Blog
Re[2]: 1c, XML, импорт
От: ivanpupok  
Дата: 20.02.03 12:35
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, ivanpupok, Вы писали:


I>>И теперь вопрос: стоит ли мне из своей программы экспортировать документы по схеме commerceML.


AVK>Не стоит. ПРоще экспортировать в произвольном xml. CommerceML это прежде всего обмен финансовыми транзакциями.


AVK>


Спасибо.

После недолгого раздумья у меня получилась такая схема:
1. В некоей программе человек ставит в соответствие реквизит нужного документа в 1с атрибуту в XML файле, документу из 1с значение соответствующего атрибута (или элемент XML'ного файла). Где-то всё это запоминается.
2. В 1С написана некая универсальная процедура, которая работает не с одним типом документов, а может обработать любой, которая после преобразования (из пункта 1 понятно что чему соответствует), кладёт его в базу 1с.

Желательно, чтобы при установки этого механизма пользователю не приходилось лазить в конфигуратор.

В связи с этим возникают такие вопросы:
1) Как добавить к документу 1С реквизит (поле, атрибут) _програмно_? Это нужно для добавления к нужным полям уникальных идентификаторов (GUID).
2) По связи Документов/реквизитов из 1С с атрибутами/элементами XML: К чему собственно привязываться — имя документа/реквизита, его ID какой-нибудь уникальный (если есть такой)? Если ID'ы у документа и его элементов всё-таки есть, то как его достать ?
3) По поводу процедуры в 1с: делать её на скриптах 1С или лучше использовать OLE. И при её написании, не возникнет ли каких-нибудь непреодолимых трудностей.
4) Можно ли где-нибудь в интернете посмотреть/скачать подобные утилитки (если и не подобные, то хотя бы очень похожие).
5)Возможно ли это сделать, или в моей схеме есть какие-то трудности, которые в силу структуры 1С преодолеть невозможно.
6) Где взять объектную схему 1с, чтобы использовать при доступе через OLE.
Re[3]: 1c, XML, импорт
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 20.02.03 12:54
Оценка:
Здравствуйте, ivanpupok, Вы писали:

I>В связи с этим возникают такие вопросы:

I>1) Как добавить к документу 1С реквизит (поле, атрибут) _програмно_? Это нужно для добавления к нужным полям уникальных идентификаторов (GUID).

Никак. Уникальный идентификатор поля это ИмяОбъекта.ИмяПоля.

I>2) По связи Документов/реквизитов из 1С с атрибутами/элементами XML: К чему собственно привязываться — имя документа/реквизита, его ID какой-нибудь уникальный (если есть такой)?


ИМХО лучше имя

I>Если ID'ы у документа и его элементов всё-таки есть, то как его достать ?


1cv7.dd

I>3) По поводу процедуры в 1с: делать её на скриптах 1С или лучше использовать OLE. И при её написании, не возникнет ли каких-нибудь непреодолимых трудностей.


Ни разу не видел внятного описания OLE интерфейсов 1С, хотя по слухам такой вроде бы есть. tlb отсутствует. ИМХО лучше все таки скриптами.

I>4) Можно ли где-нибудь в интернете посмотреть/скачать подобные утилитки (если и не подобные, то хотя бы очень похожие).


В стандартной поставке 9-й торговли и 4 бух-ии есть универсальная загрузка/выгрузка данных — CDImport.ert/CDExport.ert.

I>5)Возможно ли это сделать, или в моей схеме есть какие-то трудности, которые в силу структуры 1С преодолеть невозможно.


Плохая документированность объекта Метаданные и скудость 1Сного RTTI.

I>6) Где взять объектную схему 1с, чтобы использовать при доступе через OLE.


Знать бы
... << RSDN@Home 1.0 beta 6a (developer build)>>
AVK Blog
Re[2]: 1c, XML, импорт
От: dad  
Дата: 20.02.03 13:17
Оценка:
I>>И теперь вопрос: стоит ли мне из своей программы экспортировать документы по схеме commerceML.

AVK>Не стоит. ПРоще экспортировать в произвольном xml. CommerceML это прежде всего обмен финансовыми транзакциями.


почему же не стоит?
как раз наооборот — стоит.. Если документы торговые..

Эта спецификация не только для финасовых транзакций нужна (вообще зачем парить такими умными фразами парня?)

Единственная проблема — синхронизировать твои и 1С номенклатуры.. В типовых 1С для этого используется GUID можно слизать оттуда генерацию.. Загрузка XML данных тоже есть.. так что думаю тебе надо будет только 1С-ые GUID к себе синхронизировать и правильный документ обмена мочкануть..
здесь стандарт

ЗЫ: я 1С не занимаюсь, поэтому под рукой нет этих обработок.. обратись к 1С-ам на их местах обитания
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)
Re[4]: 1c, XML, импорт
От: ivanpupok  
Дата: 20.02.03 13:27
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, ivanpupok, Вы писали:


I>>В связи с этим возникают такие вопросы:

I>>1) Как добавить к документу 1С реквизит (поле, атрибут) _програмно_? Это нужно для добавления к нужным полям уникальных идентификаторов (GUID).

AVK>Никак. Уникальный идентификатор поля это ИмяОбъекта.ИмяПоля.


Я тут неправильно вопрос задал. У меня есть в 1с некий документ со своими реквизитами шапки (номер документа, дата создания и проч.), то же и со справочником. Для синхронизации документов/справочников 1с'а и моей программы нужно добавить в мою программу GUID'ы к каждому объекту и в 1с тоже самое, чтобы понимать добавлять ли мне данный объект (документ, товар, и проч) в 1С или он уже там есть.
В общем можно ли добавить к документу 1с реквизит програмно (не из конфигуратора) ?

Прошу прощения за невнятность вопросов, т.к. терминология 1с'а мне пока не совсем знакома.
Re[5]: 1c, XML, импорт
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 20.02.03 13:40
Оценка:
Здравствуйте, ivanpupok, Вы писали:

I>В общем можно ли добавить к документу 1с реквизит програмно (не из конфигуратора) ?


ИМХО нельзя
... << RSDN@Home 1.0 beta 6a (developer build)>>
AVK Blog
Re[3]: 1c, XML, импорт
От: ivanpupok  
Дата: 20.02.03 13:44
Оценка:
Здравствуйте, dad, Вы писали:

I>>>И теперь вопрос: стоит ли мне из своей программы экспортировать документы по схеме commerceML.


AVK>>Не стоит. ПРоще экспортировать в произвольном xml. CommerceML это прежде всего обмен финансовыми транзакциями.


dad>почему же не стоит?

dad>как раз наооборот — стоит.. Если документы торговые..

dad>Эта спецификация не только для финасовых транзакций нужна (вообще зачем парить такими умными фразами парня?)


dad>Единственная проблема — синхронизировать твои и 1С номенклатуры.. В типовых 1С для этого используется GUID можно слизать оттуда генерацию.. Загрузка XML данных тоже есть.. так что думаю тебе надо будет только 1С-ые GUID к себе синхронизировать и правильный документ обмена мочкануть..

dad>здесь стандарт

dad>ЗЫ: я 1С не занимаюсь, поэтому под рукой нет этих обработок.. обратись к 1С-ам на их местах обитания


Таким образом получается, что для того, чтобы использовать импорт документов по данной схеме, я должен выдрать из типовой конфигурации куски, отвечающие собственно за этот импорт и проч.
Но если моя конфигурация (т.е. та, в которую мне и надо документы отправлять) не типовая, некоторые типы документов по схеме CommerceML описать нельзя, и некоторые реквизиты тоже не "влезают" в эту схему, то насколько оправдано использование CommerceML ?
Ведь во первых, мне придётся довольно сильно расширить эту схему.
Во вторых написать ещё кучу скриптов, которые будут обрабатывать мои "особенные" документы
И потом, ведь commerceML стандарт для обмена док-тами между предприятиями (т.н. b2b), что, в общем то поддаётся стандартизации, а в моём случае документ и его реквизиты могут быть произвольными.

Главный вопрос, из-за которого я всё это затеял, это оценка трудозатрат (может и деньгозатрат) на эту работу. То есть, что касается выгрузки документовиз моей системы, тут проблем вообще никаких нет, их я могу выгрузить в абсолютно любом виде. Мне же хотелось бы минимизировать объем работ, которые надо сделать в 1с.
Re[6]: 1c, XML, импорт
От: dad  
Дата: 20.02.03 13:54
Оценка:
I>>В общем можно ли добавить к документу 1с реквизит програмно (не из конфигуратора) ?
AVK>ИМХО нельзя

ole только на доступ к данным предоставляются..
Узнать структру метаданных (но не изменять) ты можешь..
Есть возможность расширения функционала.. т.е. в принципе — ты можешь сделать наоборот — написать модуль который из 1С будет лазить к твоей программе(базе), а не из твоей программы к 1С..в этом случае (да теоретически и в обратном) тебе вообще не нужны промежуточные обменные файлы..
могу выслать самплы (давай и-мэйел) по написанию расширений к 1С , описание тоже есть — но не у меня — повторюсь — обратись к 1С-ам..
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)
Re[7]: 1c, XML, импорт
От: ivanpupok  
Дата: 20.02.03 14:09
Оценка:
Здравствуйте, dad, Вы писали:

I>>>В общем можно ли добавить к документу 1с реквизит програмно (не из конфигуратора) ?

AVK>>ИМХО нельзя

dad>ole только на доступ к данным предоставляются..

dad>Узнать структру метаданных (но не изменять) ты можешь..
dad>Есть возможность расширения функционала.. т.е. в принципе — ты можешь сделать наоборот — написать модуль который из 1С будет лазить к твоей программе(базе), а не из твоей программы к 1С..в этом случае (да теоретически и в обратном) тебе вообще не нужны промежуточные обменные файлы..
dad>могу выслать самплы (давай и-мэйел) по написанию расширений к 1С , описание тоже есть — но не у меня — повторюсь — обратись к 1С-ам..

В принципе задумка-то была (как всегда) сделать некий универсальный механизм обмена. Т.е. пользователь ставит программу, проставляет соответствия некие, и потом качает из XML'я данные.
Но это как раз и подразумевает изменение структуры метаданных 1с'a програмно.
То есть ты считаешь, что проще из 1с через ado вытянуть из моей базы инф-ю, и для каждого типа док-та написать на 1с процедурку, которая будет эти самые док-ты преобразовывать и записывать ?

Расширение функционала пришли пож-та .
Re[8]: 1c, XML, импорт
От: dad  
Дата: 20.02.03 14:31
Оценка:
I>То есть ты считаешь, что проще из 1с через ado вытянуть из моей базы инф-ю, и для каждого типа док-та написать на 1с процедурку, которая будет эти самые док-ты преобразовывать и записывать ?

Это архитектурные решения. Смотри сам. Псотавь 1С покрути ее то се..
Там есть универсальный импорт и схема импорта настраивается..
Главное попроси нужные обработки у 1С-ов..


I>Расширение функционала пришли пож-та .


на с++ послал
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.