Имя: Пароль:
1C
1С v8
Присвоение значения (ЕдиницыИмерения...)
,
0 НАТалья Голубева
 
18.05.16
19:35
Здравствуйте.. подскажите плиззз... не присваивается

НовОбъект.ЕдиницаХраненияОстатков=НовыйОбъектЕдИзм.ЕдиницаПоКлассификатору;
              НовОбъект.ЕдиницаДляОтчетов=НовыйОбъектЕдИзм.ЕдиницаПоКлассификатору;

ПолныйКод

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

                           
              НовыйОбъект.Записать();
              
              
              СтрокаТабличнойЧасти.Номенклатура=НовОбъект.Ссылка;
              СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры="";
         Иначе
              Поиск=Справочники.Номенклатура.НайтиПоНаименованию(Спр,Истина);
              НовОбъект=Поиск.ПолучитьОбъект();
              СтрокаТабличнойЧасти.Номенклатура=НовОбъект.Ссылка;
              СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры="";
         КонецЕсли;              
         КонецЦикла;

КонецПроцедуры
1 hhhh
 
18.05.16
19:48
вот это выбросьте

              Поиск=Справочники.Номенклатура.НайтиПоНаименованию(Спр,Истина);
              НовОбъект=Поиск.ПолучитьОбъект();


зачем искать, если есть это?

ну и везде НовыйОбъект вместо НовОбъект поставьте
2 hhhh
 
18.05.16
19:51
ну и тут

        Иначе
              Поиск=Справочники.Номенклатура.НайтиПоНаименованию(Спр,Истина);
              НовОбъект=Поиск.ПолучитьОбъект();
              СтрокаТабличнойЧасти.Номенклатура=НовОбъект.Ссылка;
              СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры="";
         КонецЕсли;              

фигней какой-то страдаете. Пишите

        Иначе
              
              СтрокаТабличнойЧасти.Номенклатура=СсылкаНом;
              СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры="";
         КонецЕсли;
3 НАТалья Голубева
 
18.05.16
20:00
Поиск=Справочники.Номенклатура.НайтиПоНаименованию(Спр,Истина);
              НовОбъект=Поиск.ПолучитьОбъект();
              
Не могу уобрать... так как если я уберу то в строке НовыйОбъектЕдИзм.Владелец=НовОбъект.Ссылка; выдаст ошибку что не находит НовОбъект.Ссылка
4 НАТалья Голубева
 
18.05.16
20:09
Исправила
Каталог=КаталогДляНовыхТоваров;
    СтрокаТабличнойЧасти = ЭлементыФормы.Товары.ТекущиеДанные;
         Для каждого СтрокаТабличнойЧасти Из Товары Цикл
         НаименованиеДляСайта=СтрокаТабличнойЧасти.Номенклатура.НаименованиеДляСайта;
         Спр=НаименованиеДляСайта+Строка(СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры);
         СсылкаНом=Справочники.Номенклатура.НайтиПоНаименованию(Спр).Ссылка;
         Если СсылкаНом=Справочники.Номенклатура.ПустаяСсылка() Тогда
              НовыйОбъект=Справочники["Номенклатура"].СоздатьЭлемент();
              НовыйОбъект.Наименование= Спр;
              НовыйОбъект.БазоваяЕдиницаИзмерения=Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию("шт");
              НовыйОбъект.ВидНоменклатуры=Справочники.ВидыНоменклатуры.НайтиПоНаименованию("Товар");
              НовыйОбъект.ОсновноеИзображение=СтрокаТабличнойЧасти.Номенклатура.ОсновноеИзображение.Ссылка;
              НовыйОбъект.НаименованиеДляСайта=НаименованиеДляСайта;
              НовыйОбъект.Родитель=Каталог;
              НовыйОбъект.Записать();
              НовыйОбъект.Ссылка.ПолучитьОбъект();          
              
              
                            
                            
              НовыйОбъектЕдИзм=Справочники["ЕдиницыИзмерения"].СоздатьЭлемент();
              НовыйОбъектЕдИзм.Владелец=НовыйОбъект.Ссылка;
              НовыйОбъектЕдИзм.ЕдиницаПоКлассификатору=Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию("шт");
              НовыйОбъектЕдИзм.Коэффициент=1;
              НовыйОбъектЕдИзм.Наименование=НовыйОбъектЕдИзм.ЕдиницаПоКлассификатору;
              НовыйОбъектЕдИзм.Записать();
              
              НовыйОбъект.ЕдиницаХраненияОстатков=НовыйОбъектЕдИзм.ЕдиницаПоКлассификатору;
              НовыйОбъект.ЕдиницаДляОтчетов=НовыйОбъектЕдИзм.ЕдиницаПоКлассификатору;

                           
              НовыйОбъект.Записать();
              
              
              СтрокаТабличнойЧасти.Номенклатура=НовыйОбъект.Ссылка;
              СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры="";
         Иначе
              //Поиск=Справочники.Номенклатура.НайтиПоНаименованию(Спр,Истина);
              //НовОбъект=Поиск.ПолучитьОбъект();
              СтрокаТабличнойЧасти.Номенклатура=СсылкаНом;
              СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры="";
         КонецЕсли;              
         КонецЦикла;

КонецПроцедуры
5 НАТалья Голубева
 
18.05.16
20:10
Но проблема так и осталась не присваивается
НовыйОбъект.ЕдиницаХраненияОстатков=НовыйОбъектЕдИзм.ЕдиницаПоКлассификатору;
              НовыйОбъект.ЕдиницаДляОтчетов=НовыйОбъектЕдИзм.ЕдиницаПоКлассификатору;
6 Чайник Рассела
 
18.05.16
20:12
(5) если это УТ то там типы разные.
7 НАТалья Голубева
 
18.05.16
20:50
Типы у обоих ЕдиницаХраненияОстатков...Так написала
НовыйОбъект.ЕдиницаХраненияОстатков=Справочники.ЕдиницыИзмерения.НайтиПоНаименованию("шт");
              НовыйОбъект.ЕдиницаДляОтчетов=Справочники.ЕдиницыИзмерения.НайтиПоНаименованию("шт"); ...тоже не получается...
8 Cyberhawk
 
18.05.16
20:55
Уже было?

НовОбъект... и НовыйОбъект.Записать();

P.S. Без фото не взлетит
9 НАТалья Голубева
 
18.05.16
20:56
Поправка Типы у обоих: СправочникСсылка.ЕдиницыИзмерения
10 НАТалья Голубева
 
18.05.16
20:57
НовыйОбъект.ЕдиницаХраненияОстатков=Справочники.ЕдиницыИзмерения.НайтиПоНаименованию("шт");
              НовыйОбъект.ЕдиницаДляОтчетов=Справочники.ЕдиницыИзмерения.НайтиПоНаименованию("шт"); Присваивается только после записи нового справочника
11 AneJIbcuH
 
19.05.16
05:02
Жесть, вот это код..