Интеграция 1С Продукт в Счете НДС

Добрый день!

Настраиваю Интеграцию 1С для экспорта Счетов из Террасофта 3.5.1 в 1С 8.3.

Счета экспортируются, кроме поля НДС.
Насколько я понял в 1С НДС не справочник, а перечисление. Как правильно провести Синхронизацию таблицы в ТС tbl_Tax и перечисления в 1С 8.3 ставкаНДС? Кнопка Экспорт Элемента для синхронизации НДС неактивна. ПРи импорте НДС в из 1С в ТС нет связи по UUID. Непонятно по какому поля связывать НДС между 1С и Террасофт.

Как правильно экспортировать НДС из Продуктов в Счетах в Номенклатуру 1С?

Нравится

6 комментариев

Экспортировать в перечисление, разумеется, нельзя.
По импорту, простой вариант есть заполнять реквизит через скрипт интеграции:

var Tax1C = null;
switch(Dataset('TaxID')) {
    case(ttNDS):
    Tax1C = Param.Obj1C.Перечисления.ТипыКонтактнойИнформации.Адрес;
    break;
    case(ttNoNDS):
    Tax1C = Param.Obj1C.Перечисления.ТипыКонтактнойИнформации.Адрес;
    break;
}
Selec1C.РеквизитСТипомПеречисление = Tax1C; 

Думаю, можно и через простой маппинг, но я не помню как это работает - нужно смотреть код.

В ТС я импортировал Перечисление НДС из 1С:

Дальше не получится связать по какому-нибудь полю tbl_Tax с СтавкойНДС? Чтобы экспортировать в 1С таким образом?

Сейчас экспортируются все поля, кроме НДС.

По импорту, простой вариант есть заполнять реквизит через скрипт интеграции:
Это импорт через скрипт в 1с?

Это скрипт интеграции, событие OnBeforeRecordExport.

пс: по идее, утилита интеграции должна брать значение из поля Code1C, и подставлять его сюда:

Param.Obj1C.Перечисления.СтавкиНДС.Code1C

Возможно у вас неправильный маппинг, и вы в поле Code1C перенесли не Имя, а Синоним?
В итоге Param.Obj1C.Перечисления.СтавкиНДС.20% - это не корректно, вот поле и не заполняется.

В любом случае, если вопрос критичный - уберите поле из маппинга, а добавьте код в скрипт интеграции в событие OnBeforeRecordExport:

var Tax1C = null;
switch(Dataset('TaxID')) {
    case(ttNDS):
    Tax1C = Param.Obj1C.Перечисления.СтавкиНДС.НДС18;
    break;
    case(ttNoNDS):
    Tax1C = Param.Obj1C.Перечисления.СтавкиНДС.БезНДС;
    break;
}
Selec1C.СтавкаНДС= Tax1C;

Дмитрий, да, у меня в Code1C был Синоним, а не Имя по причине отсутствия в списке выбора Имя. Проставил вручную значения Имя в Code1C и все заработало!
Единственный момент при экспорте в 1С В счете в 1С по умолчанию стоит "НДС сверху". А должно быть "НДС в сумме". Когда в 1С просто создаешь Счет, то по умолчанию проставляется как надо - "НДС в сумме".
Может сталкивались с этим, как сделать, чтбы по умолчанию при экспорте в 1С в Счете стояло "НДС в сумме"?

Дык в настройках маппинга полей есть же поле "значение по умолчанию", не подходит?

Показать все комментарии