7.7 Присвоение свойтсва по родителю

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем SerzhM, 17 окт 2012.

Статус темы:
Закрыта.
  1. TopicStarter Overlay
    SerzhM
    Offline

    SerzhM Опытный в 1С

    Регистрация:
    26 окт 2009
    Сообщения:
    511
    Симпатии:
    3
    Баллы:
    29
    ТИС типовая 9.2
    Для автоматизации присвоения основного свойства, без копирования номенклатурной строки, в справочнике номенклатура создал реквизит ЗначениеСвойстваГруппы, ТИП: Справочник значения свойств. В модуле добавил
    Код:
    ПриОткрытии
    Если ОсновноеСвойство.Выбран() = 1 Тогда
    Свойство = ОсновноеСвойство.ЗначениеСвойства;
    КонецЕсли;
    Повесил на форму Форма группы.
    Смысл, что бы новая создаваемая номенклатурная строка получала основное свойство родителя так скажем до тех пор пока в иерархии не найдет родителя с заполненным реквизитом ЗначениеСвойстваГруппы.
    В Форме элемнта в модуле в процедуре
    Код:
    Процедура ВводНового(ПризнКопирования)
    
    Свойство		   = ВосстановитьЗначение("ОсновноеСвойствоНоменклатуры");
    Если ПризнКопирования = 0 Тогда
    ВидНоменклатуры    = Перечисление.ВидыНоменклатуры.Прочее;
    СтавкаНДС		  = глЗначениеПоУмолчанию("ОсновнаяСтавкаНДС");
    СтавкаНП		   = глЗначениеПоУмолчанию("ОсновнаяСтавкаНП");
    РеквБазоваяЕдиница = глЗначениеПоУмолчанию("ОсновнаяОКЕИ");
    // !Сергей ******************************************************************************
    СпрНом= ТекущийЭлемент().Родитель;		
    Пока ПустоеЗначение(СпрНом)=0 Цикл
    Если ПустоеЗначение(СпрНом.ЗначениеСвойстваГруппы)=0 Тогда
    Свойство=СпрНом.ЗначениеСвойстваГруппы;
    ЗаписьОснСвойство();
    Прервать;
    КонецЕсли;
    СпрНом=СпрНом.Родитель;
    КонецЦикла;
    //2Сергей
    Иначе 
    БазоваяЕдиница	 = ПолучитьПустоеЗначение("Справочник.Единицы");
    ОсновнаяЕдиница    = БазоваяЕдиница;
    Если ПустоеЗначение(ОсновноеСвойство) = 0 Тогда // скопировали и основное свойство другого элемента
    Свойство		 = ОсновноеСвойство.ЗначениеСвойства;
    ОсновноеСвойство = ПолучитьПустоеЗначение("Справочник.СвойстваНоменклатуры");
    КонецЕсли;
    КонецЕсли;
    КонецПроцедуры // ВводНового()
    Что получается, при копировании номенклатурной строки основное свойство проставляется из строки которую скопировали.
    Если создавать новую номенклатурную строку основное свойство родителя не присваивается , а присваивается вообще какое то другое отличное от всех уровней родителя. Подскажите что сделал не так.
  2. TopicStarter Overlay
    SerzhM
    Offline

    SerzhM Опытный в 1С

    Регистрация:
    26 окт 2009
    Сообщения:
    511
    Симпатии:
    3
    Баллы:
    29
    Закрывайте тему, мне помогли добрые люди.
Статус темы:
Закрыта.

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