Эта второй урок по настройке интегратора для 1Cv8 по теме интеграции Аксапты с 1С.

Интегратор для 1Cv8 основан на подходе, который был заложен в интеграторе для 1Cv7. Однако, в связи с новыми возможностями платформы 1Cv8, многие вещи удалось сделать проще и элегантнее. Например, интегратор для 1Cv8 не требует внешних компонент.

Чтобы приобрести полнофункциональную версию интегратора обращайтесь в компанию Работа на результат! Дополнительную информацию можно получить у Андрея Вахрина.

Андрей Вахрин (Dolter), dolter@rabota-na-rezultat.ru

Интеграция Axapta с 1Cv8.
Урок 2: Загрузка справочника номенклатуры

На первом уроке мы изучили, как создавать источники, объекты загрузки и простые соответствия. Для загрузки справочника Номенклатура нам понадобится табличное соответствие. Причем таблица может меняться, в зависимости от данных, находящихся в Axapta.

Итак, во-первых создадим источник для справочника НоменклатурныеГруппы.

Источник для групп номенклатурыИсточник для групп номенклатуры

Как видно из текста запроса, наименования групп можно устанавить самостоятельно. Объект для справочника НоменклатурныеГруппы будет очень прост, поэтому я не буду тут его описывать.

Далее создадим источник для определения неких групп номенклатуры в Аксапте и после этого сопоставим эти группы одинэсовским.

Номенклатурные группыНоменклатурные группы

ВНИМАНИЕ: В источнике для соответствия поля (Наименование, Тип, Значение) обязательны!

Далее создаем необходимое нам соответствие на основании источника:

СоответствиеСоответствие

В данном случае поле Тип является информационным, для ввода строкового значения.

В поле значение мы поместим соответствующие наименования номенклатурных групп. Строки, где не будет внесено Значение, в дальнейшем создании окончательного запроса участвовать не будут.

Далее создадим источник непосредственно для элементов справочника номенклатуры. Вот текст запроса:

Код запросаКод запроса

Недостаток демоверсий – нехватка «нормальных» данных. Поэтому приходится вставлять в код запроса замену неких типов. Для демоверсии Аксапты столы – продукция. Нам же приходится использовать их как товары, из-за отсутствия последних в выбранной версии Axapta.

Теперь посмотрим на конечную версию запроса, которая будет выполнятся после обработки нашего «метазапроса»:

select Код
, Наименование
, case
    when left(Наименование, 4) = 'Стол' then 'Товар'
    else НоменклатурнаяГруппа
    end НоменклатурнаяГруппа
, ЕдиницаИзмерения
from (
    select a.itemid as Код,
        a.itemname as Наименование,
        a.itemgroupid as Родитель,
        0 as ЭтоГруппа,
        a.itemname as ПолнНаименование,
        b.unitid as ЕдиницаИзмерения,
        b.priceSecCur_ru as Себестоимость,
        1 ПорядокХраненияОтпускнойЦены,
        b.price as Цена, 
        (select currencyCode
            from axdb..companyinfo as ci
            where ci.dataareaid = a.dataareaid) as Валюта,
        case a.itemgroupid
            when 'Готовые' then 'Продукция'
            when 'СтолыКухон' then 'Товар'
            when 'СтолыОбед' then 'Товар'
            when 'СтолыПисьм' then 'Товар'
            when 'Услуги' then 'Услуга'
        else ''
        end НоменклатурнаяГруппа,
        b.priceSecCur_ru as ПлановаяСебестоимость, -- необходимо уточнение
        a.itemId as ИдА
    from axdb..inventtable as a
    left outer join
        axdb..inventtablemodule as b
    on (a.itemid = b.itemid
        and 0 = b.moduletype
        and a.dataareaid = b.dataareaid)
    where a.dataareaid = 'dmo'
) s
where НоменклатурнаяГруппа <> '' 

Вот и видим каким же образом совершена подстановка для табличного соответствия. В селекте вставляется выбор по значению поля, описанного в соответствии, как Строка-значение по парам Наименование – Значение.

Далее для объекта вроде все понятно. Остановлюсь только на двух полях, в одном из которых будет выбираться значение перечисления, а во втором логическое значение.

Настройка поля НДСНастройка поля НДС

По умолчанию выставляем НДС 18%.

Настройка поля УслугаНастройка поля Услуга

Поле Услуга будет принимать значение Истина, если Номенклатурная группа данного товара Услуга.

Вот теперь точно все. Можно загружать:

Загрузка справочника номенклатур

 

Заключение

Интегратор позволяет передать данные из Microsoft Axapta в 1С. Чтобы приобрести полнофункциональную версию интегратора обращайтесь в компанию Работа на результат! Дополнительную информацию о полнофункциональной версии можно получить у Андрея Вахрина.


Андрей Вахрин (Dolter), dolter@rabota-na-rezultat.ru