Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> программное заполнение ссылки на вновь созданную характеристику номенклатуры ERP управляемые формы 8.3 3 страниц V  < 1 2 3 >          
svetas_l Подменю пользователя
сообщение 11.03.20, 23:14
Сообщение #21

Говорящий
***
Группа: Пользователи
Сообщений: 68
Спасибо сказали: 0 раз
Рейтинг: 0

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:27

Vofka Подменю пользователя
сообщение 11.03.20, 23:25
Сообщение #22

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

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
Сообщение #23

Говорящий
***
Группа: Пользователи
Сообщений: 68
Спасибо сказали: 0 раз
Рейтинг: 0

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

Vofka Подменю пользователя
сообщение 11.03.20, 23:27
Сообщение #24

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

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

svetas_l Подменю пользователя
сообщение 11.03.20, 23:29
Сообщение #25

Говорящий
***
Группа: Пользователи
Сообщений: 68
Спасибо сказали: 0 раз
Рейтинг: 0

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

Vofka Подменю пользователя
сообщение 11.03.20, 23:29
Сообщение #26

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

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

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

надо убрать.

svetas_l Подменю пользователя
сообщение 11.03.20, 23:34
Сообщение #27

Говорящий
***
Группа: Пользователи
Сообщений: 68
Спасибо сказали: 0 раз
Рейтинг: 0

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

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

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

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

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

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

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


Vofka Подменю пользователя
сообщение 11.03.20, 23:35
Сообщение #28

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

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


svetas_l Подменю пользователя
сообщение 11.03.20, 23:36
Сообщение #29

Говорящий
***
Группа: Пользователи
Сообщений: 68
Спасибо сказали: 0 раз
Рейтинг: 0

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

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

Vofka Подменю пользователя
сообщение 11.03.20, 23:44
Сообщение #30

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

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

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

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


svetas_l Подменю пользователя
сообщение 11.03.20, 23:49
Сообщение #31

Говорящий
***
Группа: Пользователи
Сообщений: 68
Спасибо сказали: 0 раз
Рейтинг: 0

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

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

svetas_l Подменю пользователя
сообщение 12.03.20, 0:54
Сообщение #32

Говорящий
***
Группа: Пользователи
Сообщений: 68
Спасибо сказали: 0 раз
Рейтинг: 0

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

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

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

sava1 Подменю пользователя
сообщение 12.03.20, 8:16
Сообщение #33

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

беглое гугление дает - [необходимо зарегистрироваться для просмотра ссылки]

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

svetas_l Подменю пользователя
сообщение 12.03.20, 8:56
Сообщение #34

Говорящий
***
Группа: Пользователи
Сообщений: 68
Спасибо сказали: 0 раз
Рейтинг: 0

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

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

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

Vofka Подменю пользователя
сообщение 12.03.20, 9:24
Сообщение #35

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Вместо

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


напишите

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


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

Спасибо сказали: svetas_l,

andr_andrey Подменю пользователя
сообщение 12.03.20, 14:56
Сообщение #36

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 623
Спасибо сказали: 166 раз
Рейтинг: 130.8

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


Signature
#define private public
enum BOOL { FALSE, TRUE, FILENOTFOUND } is made my day

svetas_l Подменю пользователя
сообщение 12.03.20, 15:21
Сообщение #37

Говорящий
***
Группа: Пользователи
Сообщений: 68
Спасибо сказали: 0 раз
Рейтинг: 0

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

sava1 Подменю пользователя
сообщение 12.03.20, 15:49
Сообщение #38

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

Цитата(svetas_l @ 12.03.20, 8:56) *
этот код из [необходимо зарегистрироваться для просмотра ссылки]
у меня уже был


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

Vofka Подменю пользователя
сообщение 12.03.20, 17:16
Сообщение #39

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

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

Спасибо сказали: svetas_l,

svetas_l Подменю пользователя
сообщение 12.03.20, 20:27
Сообщение #40

Говорящий
***
Группа: Пользователи
Сообщений: 68
Спасибо сказали: 0 раз
Рейтинг: 0

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


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

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


3 страниц V  < 1 2 3 >
Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 11:34
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!