Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ввод Заполнение Номенклатуры обработкой из Эксель: не вводит номенклатуру
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
Constantus
Приветствую, Форумчане!

Бухгалтерия Предприятия 2.0., 1с.8.2, обычное.

Пытаюсь заполнить Номенклатуру из таблицы Эксель простой обработкой.

В списке есть 2-е Номенклатуры:

1. Granit plita 40*80*3sm (krasnyý) Indiýa
2. Granit plita 40*80*3sm

Визуально видно, что это разные товары, однако обработка откровенно игнорирует "Granit plita 40*80*3sm", считая, что такой товар уже существует, причем это существование подтверждается существованием "Granit plita 40*80*3sm (krasnyý) Indiýa", т.е. результат:

Granit plita 40*80*3sm (krasnyý) Indiýa = Granit Plita 40*80*3sm

Вот пример кода обработки: (без цикла по экселю: Наименование = СокрЛП(Excel.Cells(Н,3).Value) )

        Номенклатура = Справочники.Номенклатура;
        ТМЦ = Номенклатура.НайтиПоНаименованию(Наименование);
        Если ТМЦ.Пустая() Тогда
            ТМЦ = Справочники.Номенклатура.СоздатьЭлемент();
            
            ТМЦ.СтавкаНДС               = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глТекущийПользователь, "ОсновнаяСтавкаНДС");
            ТМЦ.ВидНДСПриИмпорте        = Перечисления.ВидыНДС.НДС;
            
            //Акциз
            ТМЦ.ВидПодакцизногоТМЗ     =  УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глТекущийПользователь, "ОсновнойВидПодакцизногоТМЗ");
            ТМЦ.СтавкаАкциза           =  УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глТекущийПользователь, "ОсновнаяСтавкаАкциза");
            ТМЦ.КоэффициентРасчетаОблагаемойБазыАкциза = 1;
            
            ТМЦ.Наименование       = Наименование;
            //Сообщить(ТМЦ.Наименование);
            ТМЦ.НаименованиеПолное = Наименование;
            ТМЦ.ВидНоменклатуры    = Справочники.ВидыНоменклатуры.ТоварыПриобретенные.Ссылка;
            ТМЦ.БазоваяЕдиницаИзмерения  = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(КлассификаторЕдиницИзмерения).Ссылка;
            ТМЦ.Записать();
        Иначе     
              Сообщить(ТМЦ.Наименование + " = " + Наименование);
        КонецЕсли;


Складывается впечатление, что ищет только по "Granit plita 40*80*3sm"

Если изменить "Granit plita 40*80 * 3 sm", то срабатывает, но так как-то не хочется, ибо объем большой и визуально проконтролировать - опасное деяние, ибо за рулем страшные пользователи...

Почему? Что не так?
Constantus
Решил


ТМЦ = Номенклатура.НайтиПоНаименованию(Наименование, Истина);
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.