Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
12 дек 2024, 16:38

Записываются дубликаты номенклатуры при импорте заказов

Автор Yanawerg, 26 авг 2024, 07:51

0 Пользователей и 1 гость просматривают эту тему.

Yanawerg

При импорте заказа в 1С создаётся две номенклатуры с одинаковым наим. и двумя разными спецификациями, в обработке стоит проверка на наименование номенклатуры но все равно создаётся дубликат.
Что нужно сделать что бы две спецификации с наим. "000001№001 и 000001№002" записывались в одну номен к которой привязаны ?
Номен = Справочники.Номенклатура.НайтиПоНаименованию(Наименование);
    Если Номен = Справочники.Номенклатура.ПустаяСсылка() Тогда
        Номен = Справочники.Номенклатура.СоздатьЭлемент();
       
        Если Лев(НаименованиеИТ, 2) = "МП" Тогда
            Номен.Наименование               = НаименованиеИТ;
            Номен.НаименованиеПолное       = НаименованиеИТ;
        Иначе
            Если ЗаказПВХТипИзделия = Справочники.ТипыИзделий.Алюминий Тогда
                Номен.НаименованиеПолное         = "Светопрозрачная конструкция из Алюм" + " №" + Номен.Наименование;
            ИначеЕсли ЗаказПВХТипИзделия = Справочники.ТипыИзделий.ОкнаПВХ Тогда
                Номен.НаименованиеПолное         = "Светопрозрачная конструкция из ПВХ" + " №" + Номен.Наименование;
            КонецЕсли;   
        КонецЕсли;
        //Номен.НаименованиеПолное             = _ПолноеНаименование;
        Номен.НоменклатурнаяГруппа             = НоменклатурнаяГруппа;
        Номен.НоменклатурнаяГруппаЗатрат     = НоменклатурнаяГруппа;
        Номен.ВидНоменклатуры                 = ВидНоменклатуры;
        Номен.ВестиУчетПоХарактеристикам     = Истина;
        Номен.СтавкаНДС                     = Перечисления.СтавкиНДС.БезНДС;
        Номен.БазоваяЕдиницаИзмерения         = Справочники.КлассификаторЕдиницИзмерения.НайтиПоКоду(796); //шт
        Номен.Родитель                         = Родитель;
        Номен.Изделие                         = Истина;
        Номен.Площадь                         = Площадь;
        Номен.НеПодбиратьЦвет                 = Истина;
        Номен.ИзделиеИзПВХ                     = Истина;
        Номен.НаименованиеИТ                 = НаименованиеИТ;
        Номен.НомерЗаказа                    = Объект.НомерЗаказа;
        Номен.Записать();
    Иначе
        Номен = Номен.ПолучитьОбъект();
        Номен.Наименование                    = Номен.Наименование;
        Номен.НаименованиеПолное            = Номен.НаименованиеПолное;
        Номен.НоменклатурнаяГруппа             = НоменклатурнаяГруппа;
        Номен.НоменклатурнаяГруппаЗатрат     = НоменклатурнаяГруппа;   
        Номен.НеПодбиратьЦвет                 = Истина;                               
        Номен.НаименованиеИТ                 = НаименованиеИТ;
        Номен.НомерЗаказа                    = Объект.НомерЗаказа;
        Номен.Записать();
    КонецЕсли;

alexandr_ll

Yanawerg, Чем спецификация отличается от номенклатуры? В вашем коде про спецификацию ничего не написано.

Yanawerg

alexandr_ll, Проблему нашёл, не правильно условие поиска по наименованию прописал

antoneus

Номен.Наименование                    = Номен.Наименование;
Номен.НаименованиеПолное            = Номен.НаименованиеПолное;

а эти две строчки зачем? :)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск