8.х УПП Групповое задание значений характеристики.

Тема в разделе ""1С:Управление производственным предприятием УПП"", создана пользователем Nattaly, 6 апр 2011.

  1. TopicStarter Overlay
    Nattaly
    Offline

    Nattaly

    Регистрация:
    30 мар 2011
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Необходимо задать значения для характеристики "срок годности" для элементов номенклатурной группы "полуфабрикаты". Пытаюсь это сделать групповой обработкой справочников и документов. В изменить реквизит - такого реквизита нет, в изменить свойства есть. Выбираю эту характеристику, задаю значение - обработка пишет, что все успешно сделано, но в справочнике никаких изменений нет. Может есть какая-то другая обработка для решения данной проблемы? По сути -здесь только изменение,а мне надо заполнить справочник данными.
  2. Hr0n
    Offline

    Hr0n Опытный в 1С

    Регистрация:
    17 авг 2009
    Сообщения:
    353
    Симпатии:
    0
    Баллы:
    26
    можно написать обработку для создания характеристик. Допустим у Вас имеется массив номенклатуры. Вот как это можно сделать программно:
    Код:
    Для Каждого Номенклатура Из МассивНоменклатурыЦикл
    //перед этим можно найти характеристику, и дополнить ее. 
    Характеристика = Справочники.ХарактеристикиНоменклатуры.НайтиПоНаименованию(ВашеИмяХарактеристики, Истина, ,Номенклатура);
    
    Допустим что характеристику надо создать с нуля.
    //создаем характеристику программно
    Характеристика                 = Справочники.ХарактеристикиНоменклатуры.СоздатьЭлемент();
    Характеристика.Владелец     = Номенклатура;
    Характеристика.Наименование = "Ваше имя характеристики, через запятую";
    Характеристика.Записать();
    
    //Срок годности
    Запись = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();
    Запись.Объект         = Характеристика.Ссылка;
    ВидСвойства         = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Срок годности");
    Запись.Свойство     = ВидСвойства;
    Запись.Значение        = СрокГодности;
    Запись.Записать();
    СвойстваХарактеристики = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();
    СвойстваХарактеристики.Отбор.Объект.Значение = Характеристика.Ссылка;
    СвойстваХарактеристики.Отбор.Объект.Использование = Истина;
    СвойстваХарактеристики.Прочитать();
    Характеристика.СформироватьНаименование(СвойстваХарактеристики.Выгрузить());
    Характеристика.Записать();
    КонецЦикла;
    
  3. TopicStarter Overlay
    Nattaly
    Offline

    Nattaly

    Регистрация:
    30 мар 2011
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
  4. djvu
    Offline

    djvu

    Регистрация:
    7 июн 2011
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1
    to Nattaly

    Судя по всему речь идет о свойстве "Срок годности"? Которое имеется у некоей номенклатурной группы?
    У всех элементов этой группы есть характеристики, которые обладают этим свойством или эти характеристики надо создать и присвоить из значение свойства "срок годности"?

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

    При этом, значения свойств характеристик прописываются в регистре сведений "значения свойств объектов", где устанавливается прямая связь между: элемент справочника характеристики - конкретное свойство (из плана видов характеристик) (в нашем случае "срок годности") - конкретное значение свойства (т.е. к примеру: "20.04.12").

    В любом случае, если не прибегать к самостоятельному программированию, задачу можно разбить на две.
    Если отсутствуют элементы справочника "характеристики номенклатуры" их необходимо создать.

    Если элементы справочника "характеристики номенклатуры" созданы/существуют, в регистре сведений "значения свойств объектов" можно взяв за эталон существующую запись с нужным свойством и размножить ее копированием выбирая необходимые элементы справочника "характеристики номенклатуры" для каждой новой записи. Просто необходимо помнить, у созданных характеристик свойства самостоятельно не появлюятся, т.к. это не часть реквизитов справочника, а записи регистра сведений, поэтому они создаются отдельно. Так же необходимо помнить, что при копировании и назначении значений свойств характеристикам, не изменится их наименование. Такие изменения можно произвести массово уже стандартными обработками в дальнейшем (групповая обработка справочников и документов, поиск и замена значений и возможно универсальные подбор и обработка объектов, за нее не уверен т.к. не знаком с механизмом ее работы.) Если же интересует именно готовое решение, то можно попробовать поискать его на инфостарте где существует большой репозиторий разнообразных обработок.

Поделиться этой страницей