Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
25 ноя 2024, 03:07

программное создание серии с наименованием по шаблону из доп характеристик

Автор Св Ч, 08 мар 2020, 21:17

0 Пользователей и 1 гость просматривают эту тему.

Св Ч

нужно программно создать серию с наименованием по шаблону из доп характеристик и передать её ссылку другой процедуре
ERP управляемые формы

название имеет вид
LTYSXNL06K0282583\154NN  LK051126\ORANGE+WHITE\/024571\21.10.2019 0:00:00
есть такой код

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

|И (ДополнительныеРеквизитыИСведения.Наименование = ""1 Рама (Мотоциклы (Для серий))""   
    |     И СерииНоменклатуры.Значение ПОДОБНО &Рама_)
      |или (ДополнительныеРеквизитыИСведения.Наименование = ""2 Двигатель (Мотоциклы (Для серий))""   
    |     И СерииНоменклатуры.Значение ПОДОБНО &Двигатель_)
|";
Запрос.УстановитьПараметр("Мотоциклы_","Мотоциклы");
Запрос.УстановитьПараметр("Рама_", Рама);
Запрос.УстановитьПараметр("Двигатель_", Двигатель);
РезультатЗапроса = Запрос.Выполнить().Выбрать();

Если РезультатЗапроса.Количество()=0   Тогда
     СоздадимСерию = Справочники.СерииНоменклатуры.СоздатьЭлемент();
// СоздадимСерию.ПолноеНаименование();
СоздадимСерию.ВидНоменклатуры = Справочники.ВидыНоменклатуры.НайтиПоНаименованию("Мотоциклы");

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

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

НовоеСвойство4 =СоздадимСерию.ДополнительныеРеквизиты.Добавить() ; 
НовоеСвойство4.Свойство = "4 Номер ГТД (Мотоциклы (Для серий))";
НовоеСвойство4.Значение = СокрЛП(Строка(гтд));
НовоеСвойство5 =СоздадимСерию.ДополнительныеРеквизиты.Добавить() ; 
НовоеСвойство5.Свойство = "5 Дата ГТД (Мотоциклы (Для серий))";
НовоеСвойство5.Значение = Строка(Формат(дата, "ДФ=dd.MM.yyyy"));

СоздадимСерию.Номер =  СокрЛП(Строка(НовоеСвойство1.Значение)) + "\" +  СокрЛП(Строка(НовоеСвойство2.Значение)) + "\" + СокрЛП(Строка(НовоеСвойство3.Значение)) + "\" + СокрЛП(Строка(НовоеСвойство4.Значение))+ "\" + Строка(Формат(НовоеСвойство5.Значение, "ДФ=dd.MM.yyyy"));
СоздадимСерию.Наименование =  СокрЛП(Строка(НовоеСвойство1.Значение)) + "\" +  СокрЛП(Строка(НовоеСвойство2.Значение)) + "\" + СокрЛП(Строка(НовоеСвойство3.Значение)) + "\" + СокрЛП(Строка(НовоеСвойство4.Значение))+ "\" + Строка(Формат(НовоеСвойство5.Значение, "ДФ=dd.MM.yyyy"));
СоздадимСерию.УстановитьНовыйКод();

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

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


Иначе

    Пока РезультатЗапроса.Следующий() Цикл
      Серия = РезультатЗапроса.Серия;
КонецЦикла;

    Возврат  Серия;
КонецЕсли;

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




Проблема НАЗВАНИЕ СОХРАНЯЕТСЯ ПУСТЫМ, ПОСЛЕ ЗАПИСИ ЭЛЕМЕНТА, но до записи элемента является полностью наполненным.
ПОМОГИТЕ ПОЖАЛУЙСТА, В чем тут может быть проблема?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск