Имя: Пароль:
1C
 
Заполнение состава свойств характеристик
0 falselight
 
28.05.20
11:20
УНФ 1.6. Подскажите пожалуйста по такой задаче.
При заведении характеристик номенклатуры, нужно что бы состав свойств заполнялся из общего набора свойств для характеристик.
Что бы при создании характеристик, отобразились нужные заданные свойства автоматически.
Так как получается что вводят не те свойства.
Подскажите пожалуйста как это правильно сделать или доработать, и где?
1 falselight
 
28.05.20
13:03
UP!
2 falselight
 
28.05.20
13:13
как в номенклатуре, у которой задан флаг вести учет по характеристикам
при создании характеристики, управлять содержимым вот этих свойств
что бы они не менялись, и стояли все, необходимые, если даже указать категорию?
а то при указании категории свойства меняются.

http://joxi.ru/gmvaZ43tvEWY6r
3 falselight
 
28.05.20
13:22
так как, если у номенклатуры, у которой ведется учет по характеристикам, создавать характеристику
там в свойствах есть все необходимые свойства
но если указать категорию то, свойства меняются

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

http://joxi.ru/Q2KbdNVCwoPNYm
4 Ненавижу 1С
 
гуру
28.05.20
13:26
в видах номенклатуры
5 falselight
 
28.05.20
13:31
(4) А что там? Подскажите если не трудно.
Пока по коду лажу при создании характеристики из номенклатуры по ссылке.

Нужно что бы состав свойств не менялся если указана категория.

Вошел в эту процедуру.

Процедура ТаблицаСвойствПриСозданииНаСервере(Форма, Объект = Неопределено, ВладелецСвойств = Неопределено, ЗаполнитьОписаниеЗависимостей = Истина) Экспорт

думаю в ней что то происходит, что влияет на мой вопрос.
6 falselight
 
28.05.20
13:39
тут вот ещё добавляется

Процедура ЗаполнитьСписокСвойствОбъектаХарактеристика(Форма, СписокСвойств)
    
    СписокСвойств.Добавить("Наименование", Форма.Объект.Наименование);
    
    Для каждого Свойство Из Форма.Свойства_ТаблицаСвойстваИЗначения Цикл
        
        НаименованиеСвойства = Строка(Свойство.Свойство);
        ЗначениеСвойства     = Свойство.Значение;
        
        Если ТипЗнч(ЗначениеСвойства) = Тип("Булево") Тогда
            ЗначениеСвойства = ?(ЗначениеСвойства = Истина, Свойство.Наименование, "");
        КонецЕсли;
        
        СписокСвойств.Добавить(НаименованиеСвойства, ЗначениеСвойства);
        
    КонецЦикла;
    
КонецПроцедуры
7 Ненавижу 1С
 
гуру
28.05.20
13:44
рано еще по коду лазить, попробуйте изучить систему с точки зрения пользователя
как можно задать характеристику: индивидуально на товар, по виду номенклатуры, общую на несколько видов номнклатуры
8 falselight
 
28.05.20
14:00
(7) Нужно решить задачу.

Если указана категория, что бы не менялся состав свойств.
Он меняется если указана категория.
Если она не указана, то состав свойств необходимый.
9 falselight
 
28.05.20
14:01
оперативный поиск, привел к таким корректировкам

            //Категория = Форма.КатегорияНоменклатуры;
            Категория = Справочники.КатегорииНоменклатуры.НайтиПоНаименованию("<Без категории>",1);
10 Ненавижу 1С
 
гуру
28.05.20
14:10
11 falselight
 
28.05.20
14:17
(9) это не помогло ((( все равно если выбирается категория на форме, номенклатуры
то при создании характеристики, её набор свойств меняется, хотя я программно попробовал указать, что без категорий...
12 falselight
 
28.05.20
14:20
(10) как то замудренно, нужно разбираться, этот ли вопрос

у меня вопрос простой.

выбирается категория у номенклатуры. или не выбирается, что бы набор свойств не менялся

я возможно не вошел ещё в весь процесс......
13 falselight
 
28.05.20
15:01
Пока не знаю как это решить
подмена в коде категории на <Без категории>

ничего не дает ((((

Интересно где что даст?
14 Масянька
 
28.05.20
15:04
(13) А в справочнике есть такая запись? <Без категории>
15 falselight
 
28.05.20
15:11
(14) Конечно!!!!!!!


http://joxi.ru/Dr8De5vTz6O6Or
16 falselight
 
29.05.20
05:43
Никто не знает, где сделать так что бы при выборе категории не менялся состав свойств при создании характеристики ???
17 falselight
 
29.05.20
05:44
Я прописал уже где только можно!

&НаСервере
// Процедура - заполняет список выбора для реквизита Владелец.
//
Процедура ЗаполнитьСписокВыбораВладельца()
    
    Элементы.Владелец.СписокВыбора.Очистить();
    Если ЗначениеЗаполнено(КатегорияНоменклатуры) Тогда
        Элементы.Владелец.СписокВыбора.Добавить(КатегорияНоменклатуры);
    КонецЕсли;
    Если ЗначениеЗаполнено(Номенклатура) Тогда
        Элементы.Владелец.СписокВыбора.Добавить(Номенклатура);
    КонецЕсли;
18 falselight
 
29.05.20
08:55
але
19 falselight
 
29.05.20
10:03
как сослаться если не выбрана категория, то не переписывать свойства
20 Масянька
 
29.05.20
10:05
(15) Я, вообще-то, про справочник спрашивала.
21 falselight
 
29.05.20
10:12
(20) где это делать?
22 falselight
 
30.05.20
09:15
По коду вот это значение

Строка.Набор = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Категория, "НаборСвойствХарактеристики");

= СправочникСсылка.НаборыДополнительныхРеквизитовИСведений

я задаю это значение сам

Строка.Набор = Справочники.НаборыДополнительныхРеквизитовИСведений.НайтиПоНаименованию("<Без категории>",1);

но тогда, перестает работать? Почему?

    Если ЗначениеЗаполнено(Категория) Тогда
        Строка = НаборыСвойств.Добавить();
        //Категория = Справочники.КатегорииНоменклатуры.НайтиПоНаименованию("<Без категории>",1);
        //Строка.Набор = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Категория, "НаборСвойствХарактеристики");
        Строка.Набор = Справочники.НаборыДополнительныхРеквизитовИСведений.НайтиПоНаименованию("<Без категории>",1);
        // <-
    КонецЕсли;
    
КонецПроцедуры
23 falselight
 
30.05.20
09:22
на форме в категории значение "<Без категории>"

и я возвращаю его же

1.        //Строка.Набор = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Категория, "НаборСвойствХарактеристики");
2.        Строка.Набор = Справочники.НаборыДополнительныхРеквизитовИСведений.НайтиПоНаименованию("<Без категории>",1);


почему строка 1 работает, а строка 2 нет? Свойства не заполняются вообще!!!!

значение же одно и тоже

http://joxi.ru/VrwRa43H8G7n5A
24 Мимохожий Однако
 
30.05.20
09:38
(15) Это значение Неопределено. А отображается <Без категории>
25 falselight
 
30.05.20
09:48
(24) Я разобрался в чем дело

решение такое, -

        Строка.Набор = Справочники.НаборыДополнительныхРеквизитовИСведений.НайтиПоНаименованию("<Без категории>",1,Справочники.НаборыДополнительныхРеквизитовИСведений.НайтиПоНаименованию("Характеристики", 1));


Подвох был в том что находился элемент "<Без категории>" но другого родителя. По этому заполнение свойствами вообще не происходило.

Долго просидел с этим. Пока не развернул свойства найденных элементов и не увидел что они различны, по родителю