Имя: Пароль:
1C
 
Дополнительные Реквизиты
0 Knowledge
 
01.09.17
14:26
Загружаю данные номенклатуры из EXCEL. Добавил программно  к загружаемым элементам доп. реквизиты в таб. часть  «ДополнительныеРеквизиты».
На форме элемента они отображаются с перечеркнутой надписью и без кнопки выбора. Конфигурация КА 2.2.4.59, платформа 8.3.10.2561. я понимаю, что нужно сделать что- то ещё. Подскажите.
1 DrShad
 
01.09.17
14:44
указать что они относятся к номенклатуре
2 Knowledge
 
01.09.17
16:51
Так я в табличной части элемента справочника "Номенклатура их Создаю". Где-то ещё нужно указать?
3 LordCMEPTb
 
01.09.17
17:04
Можно создать вручную доп.реквизит для номенклатуры и глянуть различия в ПВХ доп.свойств и справочнике назначений этих свойств.
4 Knowledge
 
01.09.17
17:11
А где указать назначение?
5 LordCMEPTb
 
01.09.17
17:17
Можно зайти в конфигуратор, встать на нужный ПВХ, нажать "Поиск ссылок на объект" и проанализировать все места использования. В одном из справочников может быть табличная часть, в которой этот ПВХ используется. Возможно, у этого справочника даже наименование похоже на "Назначение" или "Установка" или что-то с указанием привязки ПВХ.
У меня нет сейчас возможности сделать подобное.
6 Knowledge
 
02.09.17
08:00
UP
7 Мимохожий Однако
 
02.09.17
08:19
(6) Через отладчик смотрел как у тебя записывается? апать можно до бесконечности.
8 Knowledge
 
02.09.17
08:49
Я просто добавил стоки в в таб. часть  «ДополнительныеРеквизиты» справочника номенклатура.
9 ribuh
 
02.09.17
08:59
Есть справочник НаборыДополнительныхРеквизитовИСведений - туда запись сделайте и будет Вам щастье...
10 ribuh
 
02.09.17
09:03
а ссылку оттуда в реквизит НаборСвойств плана видов характеристик ДополнительныеРеквизитыИСведения
11 Knowledge
 
02.09.17
09:17
мСвойсвоОбъект.Виден = Истина;
            мСвойсвоОбъект.Доступен = Истина;
            мСвойсвоОбъект.Заголовок = мСвойсвоОбъект.Наименование;
            мСвойсвоОбъект.ДополнительныеЗначенияИспользуются = Истина;
            мСвойсвоОбъект.НаборСвойств =             Справочники.НаборыДополнительныхРеквизитовИСведений.Справочник_Номенклатура;
            мСвойсвоОбъект.Записать();    
            мСвойсвоСсылка = мСвойсвоОбъект.Ссылка;
        Исключение
            Сообщить(ОписаниеОшибки());
        КонецПопытки;

мСвойсво это и есть нужные мне свойства, я их присваиваю доп реквизитам
12 ribuh
 
02.09.17
09:42
У меня как - то так:

НовСвойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.СоздатьЭлемент();
НовСвойство.ДополнительныеЗначенияИспользуются = Истина;
НовСвойство.Заголовок = ИмяДРС;    НовСвойство.ЗаголовокФормыВыбораЗначения = ИмяДРС;
НовСвойство.ЗаголовокФормыЗначения = ИмяДРС;
НовСвойство.НаборСвойств = Справочники.НаборыДополнительныхРеквизитовИСведений.Справочник_Номенклатура;
НаименованиеНабора = ЗначениеРеквизитаОбъекта(НовСвойство.НаборСвойств, "Наименование");
НовСвойство.Наименование = ИмяДРС + " (" + НаименованиеНабора + ")";
Если ЗначениеЗаполнено(ТипДРС) Тогда
    МассивТипов = Новый Массив;
    ЗаписатьЗначения = Ложь;
    Если ТипЗнч(ТипДРС) = Тип("Строка") Тогда
        Если ТипДРС = "Дата" Тогда
        МассивТипов.Добавить(Тип("Дата"));
ИначеЕсли ТипДРС = "Булево" Тогда
    МассивТипов.Добавить(Тип("Булево"));
ИначеЕсли ТипДРС = "Строка" Тогда
    МассивТипов.Добавить(Тип("Строка"));
ИначеЕсли ТипДРС = "Число" Тогда
    МассивТипов.Добавить(Тип("Число"));
ИначеЕсли ТипДРС = "Валюта" Тогда
    МассивТипов.Добавить(Тип("СправочникСсылка.Валюты"));
ИначеЕсли ТипДРС = "ЕдиницаИзмерения" или ТипДРС = "КлассификаторЕдиницИзмерения" Тогда
    МассивТипов.Добавить(Тип("СправочникСсылка.КлассификаторЕдиницИзмерения"));
ИначеЕсли ТипДРС = "КонтактноеЛицо" Тогда
МассивТипов.Добавить(Тип("СправочникСсылка.КонтактныеЛица"));
ИначеЕсли ТипДРС = "Контрагент" или ТипДРС = "Контрагенты" Тогда
    МассивТипов.Добавить(Тип("СправочникСсылка.Контрагенты"));
ИначеЕсли ТипДРС = "Договор" или ТипДРС = "ДоговорыКонтрагентов" Тогда
    МассивТипов.Добавить(Тип("СправочникСсылка.ДоговорыКонтрагентов"));
ИначеЕсли ТипДРС = "Номенклатура" Тогда
МассивТипов.Добавить(Тип("СправочникСсылка.Номенклатура"));
ИначеЕсли ТипДРС = "НоменклатурнаяГруппа" или ТипДРС = "НоменклатурныеГруппы" Тогда
    МассивТипов.Добавить(Тип("СправочникСсылка.НоменклатурныеГруппы"));
ИначеЕсли ТипДРС = "Организация" Тогда
    МассивТипов.Добавить(Тип("СправочникСсылка.Организации"));
ИначеЕсли ТипДРС = "Подразделение" Тогда
    МассивТипов.Добавить(Тип("СправочникСсылка.ПодразделенияОрганизаций"));
ИначеЕсли ТипДРС = "Пользователь" Тогда
    МассивТипов.Добавить(Тип("СправочникСсылка.Пользователи"));
ИначеЕсли ТипДРС = "Склад" или ТипДРС = "Склады" Тогда
    МассивТипов.Добавить(Тип("СправочникСсылка.Склады"));
ИначеЕсли ТипДРС = "СтатьяЗатрат" или ТипДРС = "СтатьиЗатрат" Тогда
    МассивТипов.Добавить(Тип("СправочникСсылка.СтатьиЗатрат"));
ИначеЕсли ТипДРС = "Страна" Тогда
    МассивТипов.Добавить(Тип("СправочникСсылка.СтраныМира"));
ИначеЕсли ТипДРС = "Файл" Тогда
    МассивТипов.Добавить(Тип("СправочникСсылка.Файлы"));
ИначеЕсли ТипДРС = "ФизическоеЛицо" или ТипДРС = "ФизическиеЛица" Тогда
    МассивТипов.Добавить(Тип("СправочникСсылка.ФизическиеЛица"));
ИначеЕсли Найти(ТипДРС, "Дополнительное") > 0 ИЛИ ТипДРС = "" Тогда  //Значит устанавливаем дополнительное значение
    МассивТипов.Добавить(Тип("СправочникСсылка.ЗначенияСвойствОбъектов"));
КонецЕсли;
ИначеЕсли ТипЗнч(ТипДРС) = Тип("СписокЗначений") Тогда
    МассивТипов.Добавить(Тип("СправочникСсылка.ЗначенияСвойствОбъектов"));
ЗаписатьЗначения = Истина;
ИначеЕсли ТипЗнч(ТипДРС) = Тип("ТаблицаЗначений") Тогда
    МассивТипов.Добавить(Тип("СправочникСсылка.ЗначенияСвойствОбъектов"));
    ЗаписатьЗначения = Истина;
ИначеЕсли ТипЗнч(ТипДРС) = Тип("ДеревоЗначений") Тогда
    МассивТипов.Добавить(Тип("СправочникСсылка.ЗначенияСвойствОбъектовИерархия"));
    ЗаписатьЗначения = Истина;
КонецЕсли;
НовСвойство.ТипЗначения = ?(ТипДРС = "Строка", Новый ОписаниеТипов(МассивТипов, Новый КвалификаторыСтроки(ДлинаДРС)),
                                  ?(ТипДРС = "Число", Новый ОписаниеТипов(МассивТипов,Новый КвалификаторыЧисла(ДлинаДРС, ТочностьДРС)), Новый ОписаниеТипов(МассивТипов)));
    КонецЕсли;
    НовСвойство.Комментарий = "#Введено автоматически";
НовСвойство.ЭтоДополнительноеСведение = Ложь; //Для сведений тут истина
НовСвойство.ОбменДанными.Загрузка = Истина;
НовСвойство.Записать();
13 ribuh
 
02.09.17
09:43
Это кусок функции, кое какие аргументы в неё пердаются
14 ribuh
 
02.09.17
09:43
передаются* ))))
15 Maniac
 
02.09.17
10:47
Если надписи перечеркнуты значит свойства принадлежат не тому виду номенклатуры.
16 Knowledge
 
02.09.17
11:10
Т.е. просто добавить стоки в в таб. часть  «ДополнительныеРеквизиты» элемента справочника номенклатура недостаточно? Что ещё нужно сделать?
17 Knowledge
 
05.09.17
21:28
При создании ВидаНоменклатуры автоматически создаётся НаборСвойв (справочник "НаборыДополнительныхРеквизитовИСведений") и запмсываенся в реквизит Вида номенклатуры НаборСвойсв, имя этого набора совпадает с именем ВидаНоменклатуры, вот этотм  наборСвойств нужно заполнить таб. Часть «ДополнительныеРеквизиты» свойсвами созданными в ПВХ «ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения». Затем при создании номенклатуры Заполнить таб. Часть «ДополнительныеРеквизиты» свойствами (из Набора свойств вида номенклатуры) и значениями этих свойств (с типом значений свойства) . Вот тогда все будет хорошо. Немного запутанно, но разобраться можно.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn