Вход | Регистрация

1С:Предприятие ::

Метки: 

УНФ 1.6 реквизиты в карточке номенклатуры не заполняются

Я
   I_learn_1c
 
05.04.18 - 12:18
Добрый день всем... мучаюсь с чем-то банальным наверно.

В карточке есть свойства Высота и Ширина. Заполняю их в конфигураторе, в отладке видно что там числа стоят, открываю в предприятии - нули.

В форме элемента полей высота и ширина нет, подумала что доп.реквизиты. но в реквизитах номенклатуры они есть!

как заполнить их программно? может у кого то была такая проблема?
 
 
   I_learn_1c
 
1 - 05.04.18 - 12:20
простейшая обработка вроде такой не меняет значение высоты. в режиме предприятия показывает 0.000 в поле Высота
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ
    |    Номенклатура.Ссылка КАК Ссылка
    |ИЗ
    |    Справочник.Номенклатура КАК Номенклатура
    |ГДЕ
    |    Номенклатура.Артикул = &Артикул";
    
    Запрос.УстановитьПараметр("Артикул", "6405-cl153-aba01n-ct0403");
    
    РезультатЗапроса = Запрос.Выполнить();    
    Выборка = РезультатЗапроса.Выбрать();
    //ВсяНоменклатура=РезультатЗапроса.Выгрузить();

    
    Выборка.Следующий();
    ТекНом=Выборка.Ссылка.ПолучитьОбъект();
    ТекНом.Высота=12333;
    ТекНом.Записать();
   shuhard
 
2 - 05.04.18 - 12:23
(0) а единицы измерения/упаковки в УНФ есть ?
   I_learn_1c
 
3 - 05.04.18 - 12:26
(2) штуки. Причем если заполнить высоту и ширину в форме вручную - все норм
   I_learn_1c
 
4 - 05.04.18 - 12:35
может как то дело в том что полей этих нет в конфигураторе на форме? получается нет пути к данным.. я запуталась уже
   I_learn_1c
 
5 - 05.04.18 - 12:45
(4) если дополнительный реквизит (есть вообще реквизит высота) вот путаюсь еще тоже что это из карточки или дополнительный. Теперь больше думаю что дополнительный.. но все равно не работает

ТекНом=Выборка.Ссылка.ПолучитьОбъект();
    ТекНом.Высота=12333;
    
    ВысотаСв= ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Высота (""Общие"")");
    
    ТаблДопРеквизиты=ТекНом.Ссылка.ДополнительныеРеквизиты.Выгрузить();
    Если ТаблДопРеквизиты.Количество() > 0 Тогда
        Для каждого Реквизит Из ТаблДопРеквизиты Цикл
            Если Реквизит.Свойство=ВысотаСв Тогда
                Реквизит.Значение = 123;
            КонецЕсли;
        КонецЦикла;
    КонецЕсли;

    ТекНом.Записать();
   I_learn_1c
 
6 - 05.04.18 - 13:49
разобралась... вдруг кому пригодится напишу.
в общем это были дополнительные реквизиты а не из карточки. Но просто циклом перебрать таблицу ДополнительныеРеквизиты и позаполнять не прокатит. Нужно еще проверять создан ли конкретный реквизит в ней. В форме поля автоматом для всех выводятся, а данных нет для каких-то.
В итоге как-то так решила

ВысотаСв= ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Высота (""Общие"")");
    Выс=ложь;
    ТаблДопРеквизиты=ТекНом.Ссылка.ДополнительныеРеквизиты.Выгрузить();
    Если ТаблДопРеквизиты.Количество() > 0 Тогда
        Для каждого Реквизит Из ТаблДопРеквизиты Цикл
            Если Реквизит.Свойство=ВысотаСв Тогда
                Реквизит.Значение = 123;
                Выс=Истина;
            КонецЕсли;
        КонецЦикла;
    КонецЕсли;
    Если Выс=Ложь Тогда
        НовСтр=ТекНом.ДополнительныеРеквизиты.Добавить();
        НовСтр.Свойство=ВысотаСв;
        НовСтр.Значение=12334;
    КонецЕсли;

    ТекНом.Записать();


Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует