Инструменты пользователя

Инструменты сайта


вопросы:переносноменклатуры

Перенос справочника номенклатуры из УТ в существующую базу ТП5

Для переноса справочника из УТ10.3 в существующую базу ТП5, где уже заведены товары и ШК могут пересекаться, нужно:

Код вставит в событие «Перед записью» обработки «Загрузка данных из табличного документа» (Вкладка «Настройка» - События - Перед записью объекта).

 Отказ = ЛОЖЬ;
ШтрихКодТовара = СокрЛП(ТекстыЯчеек[7]);
Если ШтрихКодТовара <> "" Тогда
    НайденныйШК = Справочники.ШтрихКоды.НайтиПоНаименованию(ШтрихКодТовара);
    Если НЕ НайденныйШК.Пустая() Тогда
        // ШК товара в базе нашелся, значит товар создавать не надо
        Отказ = ИСТИНА;
        Сообщить("ШК НАЙДЕН");
    Иначе    
        Объект.Наименование = СокрЛП(ТекстыЯчеек[4]);
        БазоваяЕдиницаТовары = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(СокрЛП(ТекстыЯчеек[10]));
        Если БазоваяЕдиницаТовары.Пустая() Тогда
            //Единицу по наименованию не нашли, подставим штуку
            БазоваяЕдиницаТовары = Справочники.КлассификаторЕдиницИзмерения.НайтиПоКоду("796");
        КонецЕсли;    
        Объект.БазоваяЕдиницаПоКлассификатору = БазоваяЕдиницаТовары;
        Объект.ВидНоменклатуры = Перечисления.ВидыНоменклатуры.Товар;
        Объект.Записать();
        СпрНомСсылка = Объект.Ссылка;
        СпрШКОбъект = Справочники.ШтрихКоды.СоздатьЭлемент();
        СпрШКОбъект.Владелец = СпрНомСсылка;
        СпрШКОбъект.Единица = СпрНомСсылка.БазоваяЕдиница;
        СпрШКОбъект.Наименование = ШтрихКодТовара;
        СпрШКОбъект.Записать();
        Объект.ОсновнойШтрихКод = СпрШКОбъект.Ссылка;
        Объект.Записать();
    КонецЕсли;
Иначе
    Отказ = ИСТИНА;
КонецЕсли;   

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

вопросы/переносноменклатуры.txt · Последние изменения: 2018/05/18 18:59 — kuznecova