Цитата:
Сообщение от
mazzy
Такие правила УЖЕ есть? Для каких именно версий и каких именно конфигураций такие правила УЖЕ есть?
Немножко прокомментирую, чтобы стало всем понятно. Для зарегистрированных подписчиков 1С (7.7, 8.0) можно с закрытой части сайта скачать специальную тулзу с конфигурацией "Конвертация данных". В комплект тулзы входит:
- конфигурация
- обработка для экспорта данных
- обработка для импорта данных.
Сама конфигурация запрашивает путь к конфигурации для экспорта и путь для конфигурации для импорта (немного утрирую - т.к. говорю со слов другого человека). На основе двух этих конфигураций она генерит некий XML-файл, так называемый Правила обмена. Файл фактически задает соответствия какое поле в какое переливается. Насколько я понимаю - пользователь может многое чего задать ручками (определить сам), если автоматом будет некорректно чего-то преобразовываться. Плюс можно задать исполнение некоего кода в момент импорта.
Все это прописывается в файле "Правила обмена". Файл Правила обмена таким образом получается индивидуальным для каждой конфигурации.
Затем, обработка для экспорта, запрашивает файл правил обмена, запрашивает куда выгружать и предлагает пользователю задать галками список справочников/документов которые ему надо выгрузить. Помимо этого еще можно задать фильтр по дате и еще по ряду параметров.
Обработка для импорта, в свою очередь принимает этот файл и закачивает его в 1С безо всяких проверок. Т.е. если запись с таким кодом была - она перезатрется. Поля, обязательные к заполнению будут проигнорированы (т.е. код м.б. пустым). Если в поле "Проведен" в файле стоит "1", то документ проведется, если "0" - распроведется (если был проведен). Если код записи (поле "Код" для справочников и "НомерДок" для документов) в файле пустой - то запись создастся.
Т.о. можно (из той же Аксапты к примеру) генеря снаружи этот файл - закачивать в 1С любую информацию. Единственное - надо помнить о правильной длине номерной серии

и безумной настройке всего этого
В 8.0 механизм не поменялся, поменялись только названия объектов. Структура файла та же самая.
Файл из себя представляет псевдо-XML, т.к. никаких схем не подразумевается. Разбор файла при импорте идет на уровне текстового файла (7.7), т.е. лишний пробел (отступ) и импорт уже ведет себя некорректно. Файл по умолчанию генерится в кодировке UTF-8, импортировать файл в других кодировках не пробовал.
Вот пример куска файла правил обмена:
PHP код:
<ВерсияФормата>2.01</ВерсияФормата>
<Ид>dd2a1066-8c5f-436c-b4ae-a35377060657</Ид>
<Наименование>Бух77</Наименование>
<ДатаВремяСоздания>2009-07-20T09:50:46</ДатаВремяСоздания>
<Источник ВерсияПлатформы="7.7" ВерсияКонфигурации="" СинонимКонфигурации="">Бухгалтерский учет, редакция 4.5</Источник>
<Приемник ВерсияПлатформы="7.7" ВерсияКонфигурации="" СинонимКонфигурации="">Бухгалтерский учет, редакция 4.5</Приемник>
<Параметры/>
<Обработки/>
<ПравилаКонвертацииОбъектов>
<Группа>
<Код>Документы</Код>
<Наименование>Документы</Наименование>
<Порядок>50</Порядок>
<Правило>
<Код>Выписка</Код>
<Наименование>Документ: Выписка</Наименование>
<Порядок>50</Порядок>
<Источник>ДокументСсылка.Выписка</Источник>
<Приемник>ДокументСсылка.Выписка</Приемник>
<Свойства>
<Свойство>
<Код>1</Код>
<Наименование>Автор --> Автор</Наименование>
<Порядок>50</Порядок>
<Источник Имя="Автор" Вид="Реквизит" Тип="СправочникСсылка.Пользователи"/>
<Приемник Имя="Автор" Вид="Реквизит" Тип="СправочникСсылка.Пользователи"/>
<КодПравилаКонвертации>Пользователи</КодПравилаКонвертации>
</Свойство>
</Свойства>
</Правило>
</Группа>
</ПравилаВыгрузкиДанных>
<ПравилаОчисткиДанных/>
<Алгоритмы/>
<Запросы/>
</ПравилаОбмена>