Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

УТ 10.3 Заполнить свойства номенклатуры из ЕдиницыИзмерения

УТ 10.3 Заполнить свойства номенклатуры из ЕдиницыИзмерения
Я
   1СникомХочуСтать
 
19.02.20 - 15:18
Уважаемые эксперты! Прошу вашей помощи и сильно не пинать, так как пытаюсь учится:

сделал обработку, которая заполняет Свойство для элементов справочника Номенклатуры, а берёт обработка данные из значения справочника ЕдиницыИзмерения.Объем для конкретной номенклатуры.

Почему то обработка зависает, наверное запрос не оптимальный, но в КонсолиЗапросов я получаю и вижу все необходимые данные, где ошибка... Помогите плс

https://ibb.co/qxjHjBp
https://ibb.co/gdDjZKQ

----------------------------------------------------------

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

-------------------------------------------------------------
 
 
   shuhard
 
1 - 19.02.20 - 15:20
(0)[ Справочник.ЕдиницыИзмерения КАК ЕдиницыИзмерения
    |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
    |        ПО ЕдиницыИзмерения.Владелец = Номенклатура.Ссылка,
    |    РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов]
декартово произведение
   vicof
 
2 - 19.02.20 - 15:22
+(1) "ВыборкаДетальныеЗаписи.ЕдиницаХраненияОстатков.Владелец.Ссылка"
тяжелый запрос
Плюс нет отборов/соединений по объему
   vicof
 
3 - 19.02.20 - 15:24
"Номенклатура.ЕдиницаХраненияОстатков.Владелец.ЕдиницаХраненияОстатков"
И что, у единицы хранения остатков владелец не номенклатура?
   1СникомХочуСтать
 
4 - 19.02.20 - 15:30
подскажите пожалуйста как подправить запрос?
   vicof
 
5 - 19.02.20 - 15:50
убрать лишние соединения
правильно соединить таблицы
сделать проверки на естьnull
   1СникомХочуСтать
 
6 - 19.02.20 - 16:11
(5) Упростил запрос, отрабатывает быстро, но значение свойства Номенклатуры не заполняет...

----------------------------------------------------------------------
ОбъемМ3 = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоКоду("00158");
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ЕдиницыИзмерения.Владелец КАК Номенклатура,
    |    ЕдиницыИзмерения.Объем
    |ИЗ
    |    Справочник.ЕдиницыИзмерения КАК ЕдиницыИзмерения
    |    ";
    
    РезультатЗапроса = Запрос.Выполнить();
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        МенеджерЗаписи = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();
        
        МенеджерЗаписи.Объект = ВыборкаДетальныеЗаписи.Номенклатура;
        МенеджерЗаписи.Свойство = ОбъемМ3 ;
        МенеджерЗаписи.Значение = ВыборкаДетальныеЗаписи.Объем;
        
        МенеджерЗаписи.Записать();   
    КонецЦикла;
   Homer
 
7 - 19.02.20 - 16:17
(6) не все можно записывать в значение. надо зайти в ПВХ и найти что то вот такое ДополнительныеРеквизитыИСведения и там добавить в тип
   1СникомХочуСтать
 
8 - 19.02.20 - 16:36
(7) в УТ 10.3 помойму нет механизма ДополнительныеРеквизитыИСведения
   Homer
 
9 - 19.02.20 - 16:43
у регистра ЗначенияСвойствОбъектов посмотри ресурс "значение" и выйдешь по нему к ПВХ.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.