Показать сообщение отдельно
Старый 28.09.2009, 14:19   #22  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,275 / 3476 (122) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от 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</Код>
                        <
Наименование>Автор --&gtАвтор</Наименование>
                        <
Порядок>50</Порядок>
                        <
Источник Имя="Автор" Вид="Реквизит" Тип="СправочникСсылка.Пользователи"/>
                        <
Приемник Имя="Автор" Вид="Реквизит" Тип="СправочникСсылка.Пользователи"/>
                        <
КодПравилаКонвертации>Пользователи</КодПравилаКонвертации>
                    </
Свойство>
                </
Свойства>
            </
Правило>
        </
Группа>
    </
ПравилаВыгрузкиДанных>
    <
ПравилаОчисткиДанных/>
    <
Алгоритмы/>
    <
Запросы/>
</
ПравилаОбмена
__________________
Возможно сделать все. Вопрос времени

Последний раз редактировалось sukhanchik; 28.09.2009 в 14:33.