Здравствуйте, sndanil, Вы писали:
S>можно конечно вываливать какой-нить xml с данными и назвать это экспортом, но не будет ли это обманом пользователей с дальнейшим выливанием негатива?
ИМХО, не будет.
Пользователь врядли сам будет импортировать XML в 1С. Он позовет мальчика, которому важнее будет полнота данных. А формат он пережует любой.
S>настоящий импорт из неизвестно чего или экспорт неизвестно куда разве возможен?
На прежней работе я плотно занимался импортированием данных из неизвестно чего в нашу БД. Каких только форматов не повидал.
Чтоб негатива было поменьше, общие рекомендации:
— разумно изучить реальные форматы аналогичных документов из реальных 1С-ок, чтобы приблизить свой формат к ним.
— XML не так уж и плох. Универсален. Структурирован. Самодокументируемый. Поддерживается 1С и наверняка многими другими софтами. Его можно открыть в Блокноте и рассмотреть. На него можно натравить XSLT и превратить в файл другого формата, который уже поддерживается.
— экспортировать следует бизнес-объекты, а не копию БД, состоящую из непонятных ключей.
— в первых строках файла указывай название формата данных и версию — это сильно облегчит задачу программно отличить твой файл от чужого. В XML для этой цели хорошо подходит namespase.
— имя файла должно содержать дату экспорта
— если это XML, то приложи XSD-схему
— следи за размером экспортируемого файла. XML в сотни мегабайт может запросто подвесить старенький комп. Предусмотри адекватную разбивку на фрагменты.
— если импорт/экспорт подразумевают некую синхронизацию бизнес-объектов, то неплохо снабдить их ГУИД-ами
В отдельный пункт вынесу личное мнение об удобном формате. ИМХО.
1. он должен быть текстовыми и стандартным: XML, JSON, CSV
2. каждый бизнес-объект должен выглядеть одной строкой или одним обособленным блоком. Не надо экономить на табах и переносах строк.
3. бывает полезной возможность простым копи-пастом выдернуть из файла один бизнес-объект и быстренько создать файл только с ним
4. теги XML (или аналогичные элементы разметки в других форматах) должны быть понятны человеческому глазу: "name", "count", "price". Можно даже по русски.
Поясню. Когда все работает — это не важно и в файл ни кто не заглядывает. Но вдруг, данные засосались в 1С неверно? Кто виноват? Если пользователь лично или с помощью мальчика сможет открыть файл в Блокноте, найти поиском слово "Лук репчатый желтый" и своим собственным глазом увидеть в той же строке правильную или неправильную цену с количеством — это резко сузит круг подозреваемых.