Версия для печати темы (https://pro1c.org.ua/index.php?s=431e313c806dab9c6fd1f9928f7e2f06&showtopic=57578)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ программное заполнение ссылки на вновь созданную характеристику номенклатуры ERP управляемые формы 8.3

Автор: svetas_l 09.03.20, 12:46

Добрый день!
создаю новую характеристику номенклатуры ERP управляемые формы 8.3

&НаСервере

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

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

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

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

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

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



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


а нужно на выходе из функции передать именно ссылку.
Помогите, пожалуйста.

Автор: nik389 09.03.20, 22:08

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

вот это зачем?

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


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


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

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


и вот этот код:
СоздадимХарактеристику.Владелец =Справочники.Номенклатура.НайтиПоНаименованию(Номенклатура);
, вы точно уверены, что номенклатура будет найдена?

Автор: svetas_l 10.03.20, 10:35

номенклатура или ищется или создаётся другой функцией, цель данной функции такая же либо найти либо создать новую характеристику, и передать ссылку на вновь созданную характеристику, непосредственно при заполнении в таблицу значений которая загружается в табличную часть документа "Поступление Товаров Услуг".
Вопрос был "как записать ссылку на вновь созданную характеристику". Пожалуйста, давайте, не отклоняться от темы вопроса.
Номенклатура создаётся, и заполняется в таблицу значений, и выгружается в документ,
так же создаются и выгружаются составные серийные номера (имеющие 5 дополнительных характеристик),
а характеристики не полностью выгружаются в документ, точнее после их создания функцией передаётся пустая ссылка на вновь созданную характеристику, в результате она не записывается в таблицу значений и не выгружается в табличную часть документа..
Нужно сделать так что бы ссылка заполнялась на вновь созданный документ.

Автор: pablo 10.03.20, 11:24

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

СоздадимХарактеристику.Ссылка

Автор: nik389 10.03.20, 11:25

Цитата
номенклатура или ищется или создаётся другой функцией

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

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

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


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

Автор: svetas_l 10.03.20, 12:21

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

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

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

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

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

Автор: nik389 10.03.20, 12:34

svetas_l @ Сегодня, 12:21 * ,
ссылка появится после записи объекта. Судя по скрину отладки, у вас еще запись объекта не произошла

Автор: svetas_l 10.03.20, 12:40

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


nik389 в исключение не вылетает , значит по идеи произошла....

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

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

svetas_l @ Сегодня, 12:37 * ,
может с настройками что-то?

Автор: sava1 10.03.20, 13:13

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


Автор: nik389 10.03.20, 13:37

Цитата(svetas_l @ 10.03.20, 12:40) *
в исключение не вылетает

уберите временно попытку исключение да и проверьте, чего гадать..

Автор: sava1 10.03.20, 13:40

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

А ПВХ открыть уже трудно ?

Автор: Vofka 10.03.20, 14:11

Цитата(svetas_l @ 10.03.20, 12:40) *
Vofka- вы такой круой

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

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

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

Автор: svetas_l 10.03.20, 15:34

не получается объект создаётся, но с пустой ссылкой, и в документ не передаётся....по Олбъект.ссылка, поэтому и поставила Объект, чобы проверить есть ли что-то живое вообще, живое есть, но ссылка пустая

Автор: sava1 10.03.20, 15:36

Цитата(svetas_l @ 10.03.20, 15:34) *
объект создаётся, но с пустой ссылкой


такого не бывает

Автор: svetas_l 10.03.20, 15:39

я б не писала на форму, если бы всё так легко было Возврат СоздадимХарактеристику.Ссылка, я убрала СоздадимХарактеристику.Ссылка, поскольку объект создаётся а ссылка пустая

Автор: svetas_l 10.03.20, 22:53

svetas_l @ Сегодня, 15:39 * ,
да вылетает функция
наверное неправильно заполняю доп реквизиты
ошибка где-то тут

НовоеСвойство3 =СоздадимХарактеристику.ДополнительныеРеквизиты.Добавить();  
      НовоеСвойство3.Свойство = "Цвет (Мотоциклы (Для характеристик))";
     НовоеСвойство3.Значение = СокрЛП(Строка(Цвет));
     НовоеСвойство3.ТекстоваяСтрока = СокрЛП(Строка(Цвет));

Вот бы хоть кто-то существенное что-нибудь сказал 05071.gif

Автор: svetas_l 11.03.20, 19:13

Vofka помогите, пожалуйста

Автор: sava1 11.03.20, 19:19

для начала сделаете все это вручную - определитесь что Вы делаете, а потом переходите на программирование.

Автор: svetas_l 11.03.20, 20:09

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

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

Господи 3 день торчу на этом форуме, а кроме бреда никто ничего не написал....

Автор: sava1 11.03.20, 22:37

Вы связь обьектов себе представляете? Или опишите задачу и попросите код или задайте конкретный вопрос, а не огрызками.

Автор: svetas_l 11.03.20, 23:14

svetas_l @ Сегодня, 20:09 * ,


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

svetas_l @ Сегодня, 22:41 * ,
изменила код

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

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

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

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

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

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


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

svetas_l @ Сегодня, 22:47 * ,


Автор: Vofka 11.03.20, 23:25

svetas_l,

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

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

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

Вам тоже 3 день пытаются помочь, но вы это называете бредом. Почему-то вспомнился стишок про лыжи и асфальт. bk.gif

Автор: svetas_l 11.03.20, 23:26

svetas_l @ Сегодня, 23:14 * ,
у меня наверное тип где-то не верно указан, осталось узнать где

Автор: Vofka 11.03.20, 23:27

Так проблема сейчас в чем? В том, что при записи вы в исключение попадаете или возвращается пустая ссылка? Это как бы не совсем одно и то же.

Автор: svetas_l 11.03.20, 23:29

svetas_l @ Сегодня, 23:26 * ,
Объект - переменная для чего?

Автор: Vofka 11.03.20, 23:29

Это

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

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

надо убрать.

Автор: svetas_l 11.03.20, 23:34

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

svetas_l @ Сегодня, 23:30 * ,
убрала без изменений

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

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

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

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

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

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


Автор: Vofka 11.03.20, 23:35

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


Автор: svetas_l 11.03.20, 23:36

Vofka @ Сегодня, 23:35 * ,
да при записи, как оказалось попадаю в исключение

svetas_l @ Сегодня, 23:35 * ,
наверное отсюда и пустая ссылка после записи
я думаю -где-то параметры не правильно заполнены...

Автор: Vofka 11.03.20, 23:44

Цитата(svetas_l @ 11.03.20, 23:36) *
да при записи, как оказалось попадаю в исключение

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

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


Автор: svetas_l 11.03.20, 23:49

Vofka @ Сегодня, 23:44 * ,
нет описания ошибки

svetas_l @ Сегодня, 23:46 * ,

Автор: svetas_l 12.03.20, 0:54

svetas_l @ Вчера, 23:49 * ,

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

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

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

Автор: sava1 12.03.20, 8:16

беглое гугление дает - https://pro1c.org.ua/redirect.php?https://forum.mista.ru/topic.php?id=280257

обратите на Запись Характеристики вначале и вКонце

Автор: svetas_l 12.03.20, 8:56

sava1 @ Сегодня, 8:16 * ,
да только эти строки мы уже вставляли- в одном из вариантов кода

svetas_l @ Сегодня, 8:50 * ,

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

этот код из https://pro1c.org.ua/redirect.php?https://forum.mista.ru/topic.php?id=280257
у меня уже был

Автор: Vofka 12.03.20, 9:24

Вместо

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


напишите

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


Должно выскочить окно с ошибкой. Нажмите там Подробно и дословно напишите что оно говорит.

Автор: andr_andrey 12.03.20, 14:56

Vofka @ Сегодня, 9:24 * ,
Это все &НаСервере происходит?

Автор: svetas_l 12.03.20, 15:21

andr_andrey @ Сегодня, 14:56 * ,
да

Автор: sava1 12.03.20, 15:49

Цитата(svetas_l @ 12.03.20, 8:56) *
этот код из https://pro1c.org.ua/redirect.php?https://f...c.php?id=280257
у меня уже был


А ничего , что там Характеристика ДВА раза замписывается ? Или "потсоны" балдеют от лишнего кода?

Автор: Vofka 12.03.20, 17:16

svetas_l, окно с ошибкой не ждать?

Автор: svetas_l 12.03.20, 20:27

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


svetas_l @ Сегодня, 20:24 * ,
картинка человека с бокалом очень красивая - её прям поцеловать хочется.....

Автор: Vofka 13.03.20, 9:22

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

Я не возражаю. 32542460.gif

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua