Имя: Пароль:
1C
1С v8
Загрузка из Excel
0 Johni-n
 
22.05.14
10:34
Сделал загрузку из Excel все работает.
Но срочно понадобилось сделать чтоб при наличии пустого наименования прописывалось любое значение (Допустим "5")
направите пожалуйста куда копать?

Функция Номенклатура(ТекСтрока)
    
    ТекАртикулДляПоиска    = ТекСтрока.КаталНомер;
    ТекНаименованиеДляПоиска    = ТекСтрока.Наименование;
    
    СпрНоменклатура             = Справочники.Номенклатура;
    СпрЕдиницыИзмерения            = Справочники.ЕдиницыИзмерения;
    Единицы                     = Справочники.КлассификаторЕдиницИзмерения;
    
    Попытка
        ЕдиницаИзмеренияНовойНоменклатуры = Единицы.НайтиПоКоду("796");  // Штуки
        
        НовыйЭлНоменклатуры = СпрНоменклатура.НайтиПоРеквизиту("Артикул", ТекАртикулДляПоиска, ВыбНоменклатурнаяГруппа);
        

        Если НовыйЭлНоменклатуры = Справочники.Номенклатура.ПустаяСсылка()
            
            Тогда
            НовыйЭлНоменклатуры                             = СпрНоменклатура.СоздатьЭлемент();
            НовыйЭлНоменклатуры.Родитель                 = ВыбНоменклатурнаяГруппа;
            НовыйЭлНоменклатуры.Наименование             = ТекСтрока.Наименование;
            НовыйЭлНоменклатуры.НаименованиеПолное      = ТекСтрока.Наименование;
            НовыйЭлНоменклатуры.Артикул                 = ТекАртикулДляПоиска;
            НовыйЭлНоменклатуры.ВидНоменклатуры         = Справочники.ВидыНоменклатуры.НайтиПоНаименованию("Товар (пр. ТМЦ)");
            НовыйЭлНоменклатуры.ВестиУчетПоСериям       = Истина;
            НовыйЭлНоменклатуры.БазоваяЕдиницаИзмерения = ЕдиницаИзмеренияНовойНоменклатуры.Ссылка;
            НовыйЭлНоменклатуры.СтавкаНДС                  = Перечисления.СтавкиНДС.НДС18;
            НовыйЭлНоменклатуры.СтранаПроисхождения        = ?(ЗначениеЗаполнено(ТекСтрока.СтранаПроисхождения), Справочники.КлассификаторСтранМира.НайтиПоКоду(ТекСтрока.СтранаПроисхождения), 0);
            НовыйЭлНоменклатуры.Записать();  
            
            НовыйЭлЕдиницыИзмерения                             = СпрЕдиницыИзмерения.СоздатьЭлемент();
            НовыйЭлЕдиницыИзмерения.Владелец                 = НовыйЭлНоменклатуры.Ссылка;
            НовыйЭлЕдиницыИзмерения.Наименование             = СокрЛП(ЕдиницаИзмеренияНовойНоменклатуры);
            НовыйЭлЕдиницыИзмерения.ЕдиницаПоКлассификатору = ЕдиницаИзмеренияНовойНоменклатуры;
            НовыйЭлЕдиницыИзмерения.Коэффициент             = 1;
            НовыйЭлЕдиницыИзмерения.Записать();  
                    
            НовыйЭлНоменклатуры.ЕдиницаДляОтчетов        = НовыйЭлЕдиницыИзмерения.Ссылка;    
            НовыйЭлНоменклатуры.ЕдиницаХраненияОстатков = НовыйЭлЕдиницыИзмерения.Ссылка;
            НовыйЭлНоменклатуры.Записать();  
        
            
            
        ИначеЕсли НовыйЭлНоменклатуры=Справочники.Номенклатура.НайтиПоНаименованию("5")
              тогда
            НовыйЭлНоменклатуры                         = НовыйЭлНоменклатуры.ПолучитьОбъект();
            НовыйЭлНоменклатуры.Родитель                 = ВыбНоменклатурнаяГруппа;
            НовыйЭлНоменклатуры.Наименование             = ТекСтрока.Наименование;
            НовыйЭлНоменклатуры.НаименованиеПолное      = ТекСтрока.Наименование;
            НовыйЭлНоменклатуры.Артикул                 = ТекАртикулДляПоиска;
            НовыйЭлНоменклатуры.ВидНоменклатуры         = Справочники.ВидыНоменклатуры.НайтиПоНаименованию("Товар (пр. ТМЦ)");
            НовыйЭлНоменклатуры.ВестиУчетПоСериям       = Истина;
            НовыйЭлНоменклатуры.БазоваяЕдиницаИзмерения = ЕдиницаИзмеренияНовойНоменклатуры.Ссылка;
            НовыйЭлНоменклатуры.СтавкаНДС                  = Перечисления.СтавкиНДС.НДС18;
            НовыйЭлНоменклатуры.СтранаПроисхождения        = ?(ЗначениеЗаполнено(ТекСтрока.СтранаПроисхождения), Справочники.КлассификаторСтранМира.НайтиПоКоду(ТекСтрока.СтранаПроисхождения), 0);
            НовыйЭлНоменклатуры.Записать();  
            
                        
                    
        Иначе
            НовыйЭлНоменклатуры = НовыйЭлНоменклатуры.ПолучитьОбъект();    
        КонецЕсли;  
        
        Возврат НовыйЭлНоменклатуры.Ссылка;
    Исключение  
        Сообщить(ОписаниеОшибки());
        Возврат Справочники.Номенклатура.ПустаяСсылка();
    КонецПопытки;
КонецФункции
1 salvator
 
22.05.14
10:40
>> Стаж: 4 года 4 месяца 2 дня
рукалицо
2 Лаврентий Берия
 
22.05.14
10:40
(0) СчетчикНеизвестности = СчетчикНеизвестности + 1;
"Неизвестность №" + Строка(СчетчикНеизвестности)
3 galimova_alsou
 
22.05.14
11:21
Замените при создании новой номенклатуры ТекСтрока.Наименование на ?(ЗначениеЗаполнено(ТекСтрока.Наименование),ТекСтрока.Наименование,"Допустим_5")
4 Godofsin
 
22.05.14
11:35
бугага))) ждем СчетчикБезысходности и СчетчикТлена )))))
5 Лаврентий Берия
 
22.05.14
11:36
(4) Это когда Попытка..Исключение напрашивается прямо! ))
6 Johni-n
 
23.05.14
06:34
Большое спасибо за оперативную помощь
galimova_alsou большой респект.

   salvator тебе отдельное "спасибо" За Флуд без дела,дата регистрации не говорит о стаже работы. Будь по аккуратнее со своим мнением. Не Хочешь отвечать засунь руки в лицо и сиди.
7 Wobland
 
23.05.14
06:40
в рот мне ноги! как ты это сделал, демон? вытащи руки у него из лица
8 Рэйв
 
23.05.14
06:45
(7)Осторожнее с ногами, а то он щас и тебе посоветует:-)
9 ProProg
 
23.05.14
08:20
Правильнее будет ПустаяСтрока - бытсрее.