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

Функция СоздатьХарактеристику(Номенклатура,Цвет)
    // ХарактеристикиНоменклатуры
  Запрос = Новый Запрос;
  Запрос.Текст = "
|ВЫБРАТЬ
|    ХарактеристикиНоменклатуры.Ссылка КАК Характеристика,
|    ХарактеристикиНоменклатуры.НомерСтроки,
|    ХарактеристикиНоменклатуры.Свойство,
|    ХарактеристикиНоменклатуры.Значение,
|    ХарактеристикиНоменклатуры.ТекстоваяСтрока,
|    ХарактеристикиНоменклатуры.Ссылка КАК Ссылка1,
|    ХарактеристикиНоменклатуры.Ссылка.Владелец,
|    ХарактеристикиНоменклатуры.Ссылка.Принципал,
|    ХарактеристикиНоменклатуры.Ссылка.Контрагент,
|    ХарактеристикиНоменклатуры.Ссылка.Предопределенный,
|    ХарактеристикиНоменклатуры.Ссылка.ИмяПредопределенныхДанных,
|    ХарактеристикиНоменклатуры.Ссылка.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных1,
|    ХарактеристикиНоменклатуры.Свойство.ТипЗначения,
|    Номенклатура.Ссылка КАК Ссылка2,
|    Номенклатура.Наименование
|    ИЗ
|    Справочник.ХарактеристикиНоменклатуры.ДополнительныеРеквизиты КАК ХарактеристикиНоменклатуры
|        ПОЛНОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
|        ПО ХарактеристикиНоменклатуры.Ссылка.Владелец = Номенклатура.Ссылка
|        ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения
|        ПО ХарактеристикиНоменклатуры.Свойство = ДополнительныеРеквизитыИСведения.Ссылка
|ГДЕ
|      Номенклатура.Наименование = &Номенклатура_

|    И ДополнительныеРеквизитыИСведения.Наименование = ""Цвет (Мотоциклы (Для характеристик))""
|    И ХарактеристикиНоменклатуры.Значение ПОДОБНО &Цвет_
|";

Запрос.УстановитьПараметр("Номенклатура_",    Номенклатура);
Запрос.УстановитьПараметр("Цвет_",    Цвет);
РезультатЗапроса = Запрос.Выполнить().Выбрать();

Если РезультатЗапроса.Количество()=0   Тогда
    
     GUID=Новый УникальныйИдентификатор();
     СоздадимХарактеристикуСсылка=  Справочники.ХарактеристикиНоменклатуры.ПолучитьСсылку(GUID);
     СоздадимХарактеристику = Справочники.ХарактеристикиНоменклатуры.СоздатьЭлемент();
     СоздадимХарактеристику.УстановитьНовыйКод();
     СоздадимХарактеристику.Владелец =Справочники.Номенклатура.НайтиПоНаименованию(Номенклатура);
            
     НовоеСвойство3 =СоздадимХарактеристику.ДополнительныеРеквизиты.Добавить();  
      НовоеСвойство3.Свойство = "Цвет (Мотоциклы (Для характеристик))";
     НовоеСвойство3.Значение = СокрЛП(Строка(Цвет));
     НовоеСвойство3.ТекстоваяСтрока = СокрЛП(Строка(Цвет));
    
     СоздадимХарактеристику.НаименованиеПолное  =Строка(НовоеСвойство3.Значение);
     СоздадимХарактеристику.Наименование =  Строка(НовоеСвойство3.Значение);
      СсылкаНового=Справочники[СоздадимХарактеристику.ЭтотОбъект.Метаданные().Имя].ПолучитьСсылку();
     СоздадимХарактеристику.УстановитьСсылкуНового(СоздадимХарактеристикуСсылка);    

    Попытка
     СоздадимХарактеристику.Записать();
     Исключение
     Сообщить("Не удалось записать элемент справочника. " + ОписаниеОшибки());
    КонецПопытки;  
    
      Возврат СоздадимХарактеристику;
Иначе
    
    Пока РезультатЗапроса.Следующий() Цикл
      Характеристика = РезультатЗапроса.Характеристика;
    КонецЦикла;
  Возврат  Характеристика;
КонецЕсли;

КонецФункции



но ссылка не заполняется


а нужно на выходе из функции передать именно ссылку.
Помогите, пожалуйста.
nik389
svetas_l @ Сегодня, 12:46 необходимо зарегистрироваться для просмотра ссылки ,
зачем вам в запросе полное соединение? по контексту вашей задачи оно здесь вообще не нужно, сделали бы сразу выборку по номенклатуре, а потом отбор характеристик по ней

вот это зачем?
GUID=Новый УникальныйИдентификатор();
     СоздадимХарактеристикуСсылка=  Справочники.ХарактеристикиНоменклатуры.ПолучитьСсылку(GUID);


и вот это?
 СсылкаНового=Справочники[СоздадимХарактеристику.ЭтотОбъект.Метаданные().Имя].ПолучитьСсылку();
     СоздадимХарактеристику.УстановитьСсылкуНового(СоздадимХарактеристикуСсылка);


все гораздо проще, если запись успешна, то
 Возврат СоздадимХарактеристику.Ссылка

если нет, то
Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка()


и вот этот код:
СоздадимХарактеристику.Владелец =Справочники.Номенклатура.НайтиПоНаименованию(Номенклатура);
, вы точно уверены, что номенклатура будет найдена?
svetas_l
номенклатура или ищется или создаётся другой функцией, цель данной функции такая же либо найти либо создать новую характеристику, и передать ссылку на вновь созданную характеристику, непосредственно при заполнении в таблицу значений которая загружается в табличную часть документа "Поступление Товаров Услуг".
Вопрос был "как записать ссылку на вновь созданную характеристику". Пожалуйста, давайте, не отклоняться от темы вопроса.
Номенклатура создаётся, и заполняется в таблицу значений, и выгружается в документ,
так же создаются и выгружаются составные серийные номера (имеющие 5 дополнительных характеристик),
а характеристики не полностью выгружаются в документ, точнее после их создания функцией передаётся пустая ссылка на вновь созданную характеристику, в результате она не записывается в таблицу значений и не выгружается в табличную часть документа..
Нужно сделать так что бы ссылка заполнялась на вновь созданный документ.
pablo
Вам уже написали, правильный ответ. Вы возвращаете значение типа СправочникОбъект, а должны - СправочникСсылка.
Правильно писать -
СоздадимХарактеристику.Ссылка
nik389
Цитата
номенклатура или ищется или создаётся другой функцией

если номенклатура уже найдена, зачем же вы ее опять в этой функции ищете?

Цитата
Нужно сделать так что бы ссылка заполнялась на вновь созданный документ.

я же вам написал как должно быть:
если запись успешна, то
Возврат СоздадимХарактеристику.Ссылка


если нет, то
Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка()
svetas_l
nik389 @ Сегодня, 11:25 необходимо зарегистрироваться для просмотра ссылки ,
СоздадимХарактеристику.Ссылка = видно в отладчике ссылка=пустая, а объект создаётся, а нужно заполненную ссылку передать в любом случае

еще раз вопрос был по названию темы - как при создании объекта -передать заполненную ссылку, а не пустую. В отладчике видно - объект создаётся, но ссылка на него пустая, а не заполненная.....
ВОПРОС - передать не пустую ссылку, чтобы потом вставить напрямую в документ

Вопрос был "как записать ссылку на вновь созданную характеристику, но так чтобы она не была пустой!!!!".

pablo - вы правы, только теперь осталось ответить по теме вопроса "как записать ссылку на вновь созданную характеристику, но так чтобы она не была пустой!!!!""

nik389 - понимаете "как записать ссылку на вновь созданную характеристику, но так чтобы она не была пустой!!!!"" , а вы опять пишите - пустую ссылку (Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка()), картинка из отладчика приложена была..
только теперь осталось ответить по теме вопроса "как записать ссылку на вновь созданную характеристику, но так чтобы она не была пустой!!!!""
nik389
svetas_l @ Сегодня, 12:21 необходимо зарегистрироваться для просмотра ссылки ,
ссылка появится после записи объекта. Судя по скрину отладки, у вас еще запись объекта не произошла
svetas_l
Vofka- вы такой круой всем всегда отвечаете, может быть мне ответите "как записать ссылку на вновь созданную характеристику, но так чтобы она не была пустой!!!!"" "


nik389 в исключение не вылетает , значит по идеи произошла....
    Попытка 
     СоздадимХарактеристику.Записать();
     Исключение
     Сообщить("Не удалось записать элемент справочника. " + ОписаниеОшибки());
    КонецПопытки;

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

svetas_l @ Сегодня, 12:37 необходимо зарегистрироваться для просмотра ссылки ,
может с настройками что-то?
sava1
Цитата(svetas_l @ 10.03.20, 12:40) необходимо зарегистрироваться для просмотра ссылки
Попытка
СоздадимХарактеристику.Записать();
СсылкаНаХар = СоздадимХарактеристику.Ссылка;
Исключение
Сообщить("Не удалось записать элемент справочника. " + ОписаниеОшибки());
КонецПопытки;

nik389
Цитата(svetas_l @ 10.03.20, 12:40) необходимо зарегистрироваться для просмотра ссылки
в исключение не вылетает

уберите временно попытку исключение да и проверьте, чего гадать..
sava1
Цитата(nik389 @ 10.03.20, 13:37) необходимо зарегистрироваться для просмотра ссылки
уберите временно попытку исключение да и проверьте, чего гадать..

А ПВХ открыть уже трудно ?
Vofka
Цитата(svetas_l @ 10.03.20, 12:40) необходимо зарегистрироваться для просмотра ссылки
Vofka- вы такой круой

Продолжайте, мне нравится... diablo.gif
Я все не перечитывал, поэтому не знаю поможет ли мой совет. Мне кажется, что проблема в том, что вы смотрите ссылку ДО записи объекта в базу. Конечно она будет пустая. Смотрите ссылку после кода
Попытка 
    СоздадимХарактеристику.Записать();
Исключение
    Сообщить("Не удалось записать элемент справочника. " + ОписаниеОшибки());
КонецПопытки;

И не совсем понятно зачем вы тут вообще с установкой ссылки вручную играетесь. Просто после записи сделайте

Возврат СоздадимХарактеристику.Ссылка;
svetas_l
не получается объект создаётся, но с пустой ссылкой, и в документ не передаётся....по Олбъект.ссылка, поэтому и поставила Объект, чобы проверить есть ли что-то живое вообще, живое есть, но ссылка пустая
sava1
Цитата(svetas_l @ 10.03.20, 15:34) необходимо зарегистрироваться для просмотра ссылки
объект создаётся, но с пустой ссылкой


такого не бывает
svetas_l
я б не писала на форму, если бы всё так легко было Возврат СоздадимХарактеристику.Ссылка, я убрала СоздадимХарактеристику.Ссылка, поскольку объект создаётся а ссылка пустая
svetas_l
svetas_l @ Сегодня, 15:39 необходимо зарегистрироваться для просмотра ссылки ,
да вылетает функция
наверное неправильно заполняю доп реквизиты
ошибка где-то тут
НовоеСвойство3 =СоздадимХарактеристику.ДополнительныеРеквизиты.Добавить();  
      НовоеСвойство3.Свойство = "Цвет (Мотоциклы (Для характеристик))";
     НовоеСвойство3.Значение = СокрЛП(Строка(Цвет));
     НовоеСвойство3.ТекстоваяСтрока = СокрЛП(Строка(Цвет));

Вот бы хоть кто-то существенное что-нибудь сказал 05071.gif
svetas_l
Vofka помогите, пожалуйста
sava1
для начала сделаете все это вручную - определитесь что Вы делаете, а потом переходите на программирование.
svetas_l
sava1 @ Сегодня, 19:19 необходимо зарегистрироваться для просмотра ссылки ,
вообще не поняла, как вы себе это представляете - ошибку в создании доп реквизитов искать в ручную? затем переходя на программирование? вы кайф ловите?

svetas_l @ Сегодня, 19:54 необходимо зарегистрироваться для просмотра ссылки ,
я делаю функцию создания характеристик Функция СоздатьХарактеристику(Номенклатура,Цвет), она их как выяснилось не создаёт а вылетает
Что тут искать в ручную?

Господи 3 день торчу на этом форуме, а кроме бреда никто ничего не написал....
sava1
Вы связь обьектов себе представляете? Или опишите задачу и попросите код или задайте конкретный вопрос, а не огрызками.
svetas_l
svetas_l @ Сегодня, 20:09 необходимо зарегистрироваться для просмотра ссылки ,


svetas_l @ Сегодня, 22:38 необходимо зарегистрироваться для просмотра ссылки ,
Задача - чтобы функция по созданию характеристик - создавала или искала (искать ищет) характеристику и возвращала ссылку для прямой вставки в документ

svetas_l @ Сегодня, 22:41 необходимо зарегистрироваться для просмотра ссылки ,
изменила код
Функция СоздатьХарактеристику(Номенклатура,Цвет)
    // ХарактеристикиНоменклатуры
  Запрос = Новый Запрос;
  Запрос.Текст = "
|ВЫБРАТЬ
|    ХарактеристикиНоменклатуры.Ссылка КАК Характеристика,
|    ХарактеристикиНоменклатуры.НомерСтроки,
|    ХарактеристикиНоменклатуры.Свойство,
|    ХарактеристикиНоменклатуры.Значение,
|    ХарактеристикиНоменклатуры.ТекстоваяСтрока,
|    ХарактеристикиНоменклатуры.Ссылка КАК Ссылка1,
|    ХарактеристикиНоменклатуры.Ссылка.Владелец,
|    ХарактеристикиНоменклатуры.Ссылка.Принципал,
|    ХарактеристикиНоменклатуры.Ссылка.Контрагент,
|    ХарактеристикиНоменклатуры.Ссылка.Предопределенный,
|    ХарактеристикиНоменклатуры.Ссылка.ИмяПредопределенныхДанных,
|    ХарактеристикиНоменклатуры.Ссылка.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных1,
|    ХарактеристикиНоменклатуры.Свойство.ТипЗначения,
|    Номенклатура.Ссылка КАК Ссылка2,
|    Номенклатура.Наименование
|    ИЗ
|    Справочник.ХарактеристикиНоменклатуры.ДополнительныеРеквизиты КАК ХарактеристикиНоменклатуры
|        ПОЛНОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
|        ПО ХарактеристикиНоменклатуры.Ссылка.Владелец = Номенклатура.Ссылка
|        ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения
|        ПО ХарактеристикиНоменклатуры.Свойство = ДополнительныеРеквизитыИСведения.Ссылка
|ГДЕ
|      Номенклатура.Наименование = &Номенклатура_

|    И ДополнительныеРеквизитыИСведения.Наименование = ""Цвет (Мотоциклы (Для характеристик))""
|    И ХарактеристикиНоменклатуры.Значение ПОДОБНО &Цвет_
|";

Запрос.УстановитьПараметр("Номенклатура_",    Номенклатура);
Запрос.УстановитьПараметр("Цвет_",    СокрЛП(Строка(Цвет)));
РезультатЗапроса = Запрос.Выполнить().Выбрать();

Если РезультатЗапроса.Количество()=0   Тогда
     Цвет = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию(СокрЛП(Строка(Цвет)));
        СоздадимХарактеристику = Справочники.ХарактеристикиНоменклатуры.СоздатьЭлемент();
     СоздадимХарактеристику.УстановитьНовыйКод();
     СоздадимХарактеристику.Владелец =Справочники.Номенклатура.НайтиПоНаименованию(Номенклатура).Ссылка;
    
     СоздадимХарактеристику.УстановитьСсылкуНового(Справочники.ХарактеристикиНоменклатуры.ПолучитьСсылку(Новый УникальныйИдентификатор));
     СсылкаНаХарактеристику =  СоздадимХарактеристику.ПолучитьСсылкуНового();
   //  СоздадимХарактеристику.НаименованиеПолное  = Цвет;
     СоздадимХарактеристику.Наименование =  Цвет;

    Попытка
      СоздадимХарактеристику.Записать();
      Возврат СоздадимХарактеристику.Ссылка;
     Исключение
       Сообщить("Не удалось записать элемент справочника. " + ОписаниеОшибки());
       Возврат неопределено;
    КонецПопытки;  
    
    
Иначе
    
    Пока РезультатЗапроса.Следующий() Цикл
      Характеристика = РезультатЗапроса.Характеристика;
    КонецЦикла;
  Возврат  Характеристика;
КонецЕсли;

КонецФункции


уже 10 вариантов поменяла - просто не понимаю почему выходит в исключение

svetas_l @ Сегодня, 22:47 необходимо зарегистрироваться для просмотра ссылки ,

Vofka
svetas_l,
Цитата(svetas_l @ 10.03.20, 15:34) необходимо зарегистрироваться для просмотра ссылки
не получается объект создаётся, но с пустой ссылкой, и в документ не передаётся....по Олбъект.ссылка, поэтому и поставила Объект, чобы проверить есть ли что-то живое вообще, живое есть, но ссылка пустая

Мне повылазило или в коде из 1 сообщения действительно нету переменной Олбъект? Что и как вы на самом деле передаете остается лишь догадываться. Но мне лично это не интересно. Поэтому, если хотите конструктива, то как минимум надо бы показать актуальный код.

Цитата(svetas_l @ 11.03.20, 20:09) необходимо зарегистрироваться для просмотра ссылки
Господи 3 день торчу на этом форуме, а кроме бреда никто ничего не написал....

Вам тоже 3 день пытаются помочь, но вы это называете бредом. Почему-то вспомнился стишок про лыжи и асфальт. bk.gif
svetas_l
svetas_l @ Сегодня, 23:14 необходимо зарегистрироваться для просмотра ссылки ,
у меня наверное тип где-то не верно указан, осталось узнать где
Vofka
Так проблема сейчас в чем? В том, что при записи вы в исключение попадаете или возвращается пустая ссылка? Это как бы не совсем одно и то же.
svetas_l
svetas_l @ Сегодня, 23:26 необходимо зарегистрироваться для просмотра ссылки ,
Объект - переменная для чего?
Vofka
Это
СоздадимХарактеристику.УстановитьСсылкуНового(Справочники.ХарактеристикиНоменклатуры.ПолучитьСсылку(Новый УникальныйИдентификатор));
СсылкаНаХарактеристику =  СоздадимХарактеристику.ПолучитьСсылкуНового();

какая-то фигня. Строку
СсылкаНаХарактеристику =  СоздадимХарактеристику.ПолучитьСсылкуНового();

надо убрать.
svetas_l
svetas_l @ Сегодня, 23:29 необходимо зарегистрироваться для просмотра ссылки ,
проблема - должна передаваться ссылка на найденный или вновь созданный объект, а не пустая ссылка и не Неопределенно

svetas_l @ Сегодня, 23:30 необходимо зарегистрироваться для просмотра ссылки ,
убрала без изменений
Функция СоздатьХарактеристику(Номенклатура,Цвет)
    // ХарактеристикиНоменклатуры
  Запрос = Новый Запрос;
  Запрос.Текст = "
|ВЫБРАТЬ
|    ХарактеристикиНоменклатуры.Ссылка КАК Характеристика,
|    ХарактеристикиНоменклатуры.НомерСтроки,
|    ХарактеристикиНоменклатуры.Свойство,
|    ХарактеристикиНоменклатуры.Значение,
|    ХарактеристикиНоменклатуры.ТекстоваяСтрока,
|    ХарактеристикиНоменклатуры.Ссылка КАК Ссылка1,
|    ХарактеристикиНоменклатуры.Ссылка.Владелец,
|    ХарактеристикиНоменклатуры.Ссылка.Принципал,
|    ХарактеристикиНоменклатуры.Ссылка.Контрагент,
|    ХарактеристикиНоменклатуры.Ссылка.Предопределенный,
|    ХарактеристикиНоменклатуры.Ссылка.ИмяПредопределенныхДанных,
|    ХарактеристикиНоменклатуры.Ссылка.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных1,
|    ХарактеристикиНоменклатуры.Свойство.ТипЗначения,
|    Номенклатура.Ссылка КАК Ссылка2,
|    Номенклатура.Наименование
|    ИЗ
|    Справочник.ХарактеристикиНоменклатуры.ДополнительныеРеквизиты КАК ХарактеристикиНоменклатуры
|        ПОЛНОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
|        ПО ХарактеристикиНоменклатуры.Ссылка.Владелец = Номенклатура.Ссылка
|        ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения
|        ПО ХарактеристикиНоменклатуры.Свойство = ДополнительныеРеквизитыИСведения.Ссылка
|ГДЕ
|      Номенклатура.Наименование = &Номенклатура_

|    И ДополнительныеРеквизитыИСведения.Наименование = ""Цвет (Мотоциклы (Для характеристик))""
|    И ХарактеристикиНоменклатуры.Значение ПОДОБНО &Цвет_
|";

Запрос.УстановитьПараметр("Номенклатура_",    Номенклатура);
Запрос.УстановитьПараметр("Цвет_",    СокрЛП(Строка(Цвет)));
РезультатЗапроса = Запрос.Выполнить().Выбрать();

Если РезультатЗапроса.Количество()=0   Тогда
     Цвет = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию(СокрЛП(Строка(Цвет)));
        СоздадимХарактеристику = Справочники.ХарактеристикиНоменклатуры.СоздатьЭлемент();
     СоздадимХарактеристику.УстановитьНовыйКод();
     СоздадимХарактеристику.Владелец =Справочники.Номенклатура.НайтиПоНаименованию(Номенклатура).Ссылка;
    
     СоздадимХарактеристику.УстановитьСсылкуНового(Справочники.ХарактеристикиНоменклатуры.ПолучитьСсылку(Новый УникальныйИдентификатор));
     //СсылкаНаХарактеристику =  СоздадимХарактеристику.ПолучитьСсылкуНового();
   //  СоздадимХарактеристику.НаименованиеПолное  = Цвет;
     СоздадимХарактеристику.Наименование =  Цвет;

    Попытка
      СоздадимХарактеристику.Записать();
      Возврат СоздадимХарактеристику.Ссылка;
     Исключение
       Сообщить("Не удалось записать элемент справочника. " + ОписаниеОшибки());
       Возврат неопределено;
    КонецПопытки;  
    
    
Иначе
    
    Пока РезультатЗапроса.Следующий() Цикл
      Характеристика = РезультатЗапроса.Характеристика;
    КонецЦикла;
  Возврат  Характеристика;
КонецЕсли;

КонецФункции

Vofka
Цитата(Vofka @ 11.03.20, 23:27) необходимо зарегистрироваться для просмотра ссылки
Так проблема сейчас в чем? В том, что при записи вы в исключение попадаете или возвращается пустая ссылка? Это как бы не совсем одно и то же.

svetas_l
Vofka @ Сегодня, 23:35 необходимо зарегистрироваться для просмотра ссылки ,
да при записи, как оказалось попадаю в исключение

svetas_l @ Сегодня, 23:35 необходимо зарегистрироваться для просмотра ссылки ,
наверное отсюда и пустая ссылка после записи
я думаю -где-то параметры не правильно заполнены...
Vofka
Цитата(svetas_l @ 11.03.20, 23:36) необходимо зарегистрироваться для просмотра ссылки
да при записи, как оказалось попадаю в исключение

Что вам система говорит при этом (в ОписаниеОшибки() что)?

Цитата(svetas_l @ 11.03.20, 23:36) необходимо зарегистрироваться для просмотра ссылки
наверное отсюда и пустая ссылка после записи

svetas_l
Vofka @ Сегодня, 23:44 необходимо зарегистрироваться для просмотра ссылки ,
нет описания ошибки

svetas_l @ Сегодня, 23:46 необходимо зарегистрироваться для просмотра ссылки ,
svetas_l
svetas_l @ Вчера, 23:49 необходимо зарегистрироваться для просмотра ссылки ,
Запрос.УстановитьПараметр("Номенклатура_",    СокрЛП(Строка(Номенклатура)));
Запрос.УстановитьПараметр("Цвет_",    СокрЛП(Строка(Цвет)));
РезультатЗапроса = Запрос.Выполнить().Выбрать();

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

КонецФункции
sava1
беглое гугление дает - необходимо зарегистрироваться для просмотра ссылки

обратите на Запись Характеристики вначале и вКонце
svetas_l
sava1 @ Сегодня, 8:16 необходимо зарегистрироваться для просмотра ссылки ,
да только эти строки мы уже вставляли- в одном из вариантов кода

svetas_l @ Сегодня, 8:50 необходимо зарегистрироваться для просмотра ссылки ,
 
Цвет = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию(Цвет);
    
    Характеристика = Справочники.ХарактеристикиНоменклатуры.СоздатьЭлемент();
    Характеристика.Владелец = СсылкаНаОбъект;
    Характеристика.Наименование = Размер + ", " + Рост + ", " + Цвет;
    Характеристика.Записать();

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

Попытка 
    СоздадимХарактеристику.Записать();
    Возврат СоздадимХарактеристику.Ссылка;
Исключение
    Сообщить("Не удалось записать элемент справочника. " + ОписаниеОшибки());
    Возврат неопределено;
КонецПопытки;


напишите

СоздадимХарактеристику.Записать();
Возврат СоздадимХарактеристику.Ссылка;


Должно выскочить окно с ошибкой. Нажмите там Подробно и дословно напишите что оно говорит.
andr_andrey
Vofka @ Сегодня, 9:24 необходимо зарегистрироваться для просмотра ссылки ,
Это все &НаСервере происходит?
svetas_l
andr_andrey @ Сегодня, 14:56 необходимо зарегистрироваться для просмотра ссылки ,
да
sava1
Цитата(svetas_l @ 12.03.20, 8:56) необходимо зарегистрироваться для просмотра ссылки
этот код из необходимо зарегистрироваться для просмотра ссылки
у меня уже был


А ничего , что там Характеристика ДВА раза замписывается ? Или "потсоны" балдеют от лишнего кода?
Vofka
svetas_l, окно с ошибкой не ждать?
svetas_l
Vofka @ Сегодня, 17:16 необходимо зарегистрироваться для просмотра ссылки ,
нашла запись ошибки уже.. просто в стандартных настройках блокируется добавление характеристик с одинаковыми названиями даже подчинённый разным единицам номенклатуры. вот и тихо съезжало с создания элемента, блин без вашего совета снять обработку исключения, я ковырялась уже неделю....спасибо.....сейчас еще отлаживаю...может ещё что-то цепляет....Спасибо....


svetas_l @ Сегодня, 20:24 необходимо зарегистрироваться для просмотра ссылки ,
картинка человека с бокалом очень красивая - её прям поцеловать хочется.....
Vofka
Цитата(svetas_l @ 12.03.20, 20:27) необходимо зарегистрироваться для просмотра ссылки
картинка человека с бокалом очень красивая - её прям поцеловать хочется.....

Я не возражаю. 32542460.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.