Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
ivas1256
0 / 0 / 1
Регистрация: 18.04.2015
Сообщений: 20
1

Внешняя обработка. УТ 11.3. Выбор доп.реквизитов номенклатуры и их заполнение

06.02.2017, 17:17. Просмотров 1342. Ответов 5
Метки нет (Все метки)

Всем привет!
Есть срочный вопрос. Мне необходимо заполнить доп.реквизиты каждого товара в номенклатуре в номенклатуре. Сейчас у меня есть код:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
элемент = Справочники.Номенклатура.СоздатьЭлемент();    
    //загружаем всякие параметры
        //начиная от сюда
        группа = ПолучитьГруппу(НайтиПоXpath("/Nomenklatura/Products/Product[" + индексТовара + "]/Group", ДокументДом));
    элемент.Родитель = Справочники.Номенклатура.НайтиПоНаименованию(группа);    
    элемент.ВидНоменклатуры = Справочники.ВидыНоменклатуры.НайтиПоНаименованию( ПолучитьВидНоменклатурыПоГруппе(группа) );
    элемент.Наименование = НайтиПоXpath("/Nomenklatura/Products/Product[" + индексТовара + "]/Name", ДокументДом);
    элемент.Артикул = НайтиПоXpath("/Nomenklatura/Products/Product[" + индексТовара + "]/Articul", ДокументДом);
    элемент.Описание = НайтиПоXpath("/Nomenklatura/Products/Product[" + индексТовара + "]/Description", ДокументДом);
    элемент.ЕдиницаИзмерения = Справочники.УпаковкиЕдиницыИзмерения.НайтиПоНаименованию("шт");
    элемент.ВесИспользовать = истина;
    элемент.ВесЧислитель = Число( НайтиПоXpath("/Nomenklatura/Products/Product[" + индексТовара + "]/Weight", ДокументДом) );
    элемент.ВесЗнаменатель = 1; 
   
    производитель = НайтиПоXpath("/Nomenklatura/Products/Product[" + индексТовара + "]/Producer", ДокументДом);
    Если производитель <> "" Тогда 
        СоздатьПроизводителяЕслиНеобходимо(производитель);
        элемент.Производитель = Справочники.Производители.НайтиПоНаименованию(производитель);
    КонецЕсли;      
        //до сюда
 
        //выбираем реквизит
    реквизит= ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Характеристики");    
         
    а = элемент.ДополнительныеРеквизиты.Добавить();
    а.Свойство  = реквизит;
    а.Значение = "мое значение";
    а.ТекстоваяСтрока = "мой текст";
    элемент.Записать();
Проблема в том что у меня несколько видов номенклатуры и у всех есть доп.реквизит "Характеристики", и выбирается не пойми какой. А надо что бы он выбирался в соответствии с группой номенклатуры. Как его так выбрать?

1С Предприятие 8.3, УТ 11.3
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2017, 17:17
Ответы с готовыми решениями:

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

Заполнение реквизитов строки ТЧ документа заченями реквизитов выбранного элемента
Здравствуйте. Запнулся вроде бы на простой задаче - забыл как делается... Суть...

Перенос реквизитов справочника номенклатуры в документ Поступление ТМЦ
Здравствуйте! Есть справочник &quot;Номенклатура&quot; с реквизитами: Код...

Внешняя печатная форма с доп.формой. Как перенести данные открытого документа
Доброго всем. Бухгалтерия 2.0 Проф У меня есть внешняя печатная форма,...

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

5
GreenkA
Модератор
Эксперт 1С
2990 / 1911 / 520
Регистрация: 25.06.2009
Сообщений: 6,781
06.02.2017, 17:34 2
Лучший ответ Сообщение было отмечено GreenkA как решение

Решение

ivas1256, про строку
1C
1
реквизит= ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Характеристики");
Посмотрите через Все функции - Планы видов характеристик - Дополнительные реквизиты и сведения - наименования доп. характеристик. Обычно это "имя характеристики" + "(" + "наименование вида номенклатуры" + ")"
Вообще все индивидуально и зависит от настроек доп. реквизитов и сведений. Так что лучше проверьте по факту их названия.
1
GreenkA
Модератор
Эксперт 1С
2990 / 1911 / 520
Регистрация: 25.06.2009
Сообщений: 6,781
06.02.2017, 17:40 3
добавлю скринов для наглядности: как выглядят доп. реквизиты в интерфейсе через Настройки справочников - Виды номенклатуры
Внешняя обработка. УТ 11.3. Выбор доп.реквизитов номенклатуры и их заполнение
и через все функции
Внешняя обработка. УТ 11.3. Выбор доп.реквизитов номенклатуры и их заполнение
0
ivas1256
0 / 0 / 1
Регистрация: 18.04.2015
Сообщений: 20
06.02.2017, 17:57  [ТС] 4
ПолучитьВидНоменклатурыПоГруппе() - там switch, который название вида номенклатуры возвращает.

Названия реквизитов посмотрел через НСИ и администрирование - общие настройки - доп.реквизиты, они там одинаковые. А в планах видов характеристик у меня вот так
0
Миниатюры
Внешняя обработка. УТ 11.3. Выбор доп.реквизитов номенклатуры и их заполнение  
GreenkA
Модератор
Эксперт 1С
2990 / 1911 / 520
Регистрация: 25.06.2009
Сообщений: 6,781
06.02.2017, 18:01 5
Цитата Сообщение от ivas1256 Посмотреть сообщение
А в планах видов характеристик у меня вот так
я про режим Предприятия, значения доп. реквизитов в ИБ.
0
ivas1256
0 / 0 / 1
Регистрация: 18.04.2015
Сообщений: 20
07.02.2017, 09:35  [ТС] 6
А, ну мой скрин не в тему. Лучше все так код, который выберет реквизит из группы, нежели менять названия

Добавлено через 28 минут
Названия одинаковые. Если поменять на разные - все работает, только вот лучше конечно что бы они были одинаковыми

Добавлено через 15 часов 2 минуты
Разобрался. Там в наименованиях действительно в скобках указана группа номенклатуры, только пробел стоит перед первой скобочкой. Но в 1с-е я так и не нашел где это отображается. Вот такой код:
1C
1
реквизит = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Характеристики (" + видНоменклатуры + ")");
0
07.02.2017, 09:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2017, 09:35

Автоматическое заполнение реквизитов в форме
Необходимо произвести автоматическое заполнение реквизитов в форме (юр.адрес,...

Заполнение ТЧ Документа из Реквизитов справочника
нужно заполнить ТЧ документа из Реквизита справочника. &amp;НаКлиенте Процедура...

Заполнение реквизитов справочника Номенклатура программно в 1С
Здравствуйте. Помогите решить задачку. Необходимо заполнить реквизит Брэнд в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru