[РЕШЕНО] Програмное заполнение дополнительного реквизита 1с8.3 бп3

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Nik02071, 13 май 2014.

  1. TopicStarter Overlay
    Nik02071
    Offline

    Nik02071 Опытный в 1С

    Регистрация:
    12 ноя 2008
    Сообщения:
    347
    Симпатии:
    1
    Баллы:
    29
    Создал дополнительный реквизит у основного средства ПризнакМобРезева с двумя значениями МобРезерв и НеМобРезерв. Появилось поле в форме справочника ОсновноеСредство. Как его програмно заполнить с помощью обработки?
  2. Thelearning
    Offline

    Thelearning Профессионал в 1С Команда форума

    Регистрация:
    9 сен 2010
    Сообщения:
    701
    Симпатии:
    72
    Баллы:
    54
    Посмотрите регистр сведений "ДополнительныеСведения". По аналогии с регистром "ЗначенияСвойствОбъектов" в старых конфигурациях.
  3. TopicStarter Overlay
    Nik02071
    Offline

    Nik02071 Опытный в 1С

    Регистрация:
    12 ноя 2008
    Сообщения:
    347
    Симпатии:
    1
    Баллы:
    29
    создал основное средство вручную выбрал значение дополнительного реквизита сохранил, а в регистре ДополнительныеСведения ничего не появилось
    --- Объединение сообщений, 13 май 2014 ---
    т.е этот регистр позволяет поменять дополнительное свойство, а не дополнительный реквизит
    Последнее редактирование: 13 май 2014
  4. Thelearning
    Offline

    Thelearning Профессионал в 1С Команда форума

    Регистрация:
    9 сен 2010
    Сообщения:
    701
    Симпатии:
    72
    Баллы:
    54
    Нашел. В табличной части объекта. Например у справочника "Номенклатура" есть ТЧ "ДополниельныеРеквизиты"
  5. TopicStarter Overlay
    Nik02071
    Offline

    Nik02071 Опытный в 1С

    Регистрация:
    12 ноя 2008
    Сообщения:
    347
    Симпатии:
    1
    Баллы:
    29
    В справочнике Основные средства тоже есть, только непонятно как его заполнить.
  6. Thelearning
    Offline

    Thelearning Профессионал в 1С Команда форума

    Регистрация:
    9 сен 2010
    Сообщения:
    701
    Симпатии:
    72
    Баллы:
    54
    А что не понятно?? Для каждого элемента в табличной части создавайте запись со значение реквизита.
  7. TopicStarter Overlay
    Nik02071
    Offline

    Nik02071 Опытный в 1С

    Регистрация:
    12 ноя 2008
    Сообщения:
    347
    Симпатии:
    1
    Баллы:
    29
    СсДопСведения=Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("Основное средство не моб.резерв");

    нашел ссылку на значение доп. реквизита
    --- Объединение сообщений, 14 май 2014 ---
    а поле во вкладке ОС Дополнительно Дополнительные реквизиты Признак моб. резерва не заполняется этой ссылкой
    Последнее редактирование: 14 май 2014
  8. TopicStarter Overlay
    Nik02071
    Offline

    Nik02071 Опытный в 1С

    Регистрация:
    12 ноя 2008
    Сообщения:
    347
    Симпатии:
    1
    Баллы:
    29
    &НаСервере
    Процедура Команда1НаСервере()
    СпраОс=Справочники.ОсновныеСредства.СоздатьЭлемент();
    СпраОс.Наименование="ааыфауй";


    СпраОс.ГруппаОС=Перечисления.ГруппыОС.Сооружения;
    СпраОс.ТипОС=Перечисления.ТипыОС.ОбъектОС;

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

    СпраОс.Записать();
    /
    КонецПроцедуры
    Что тут неправильно?
  9. Thelearning
    Offline

    Thelearning Профессионал в 1С Команда форума

    Регистрация:
    9 сен 2010
    Сообщения:
    701
    Симпатии:
    72
    Баллы:
    54
    Вот так работает точно
    Код:
    мНоменклатура = Справочники.Номенклатура.НайтиПоКоду("00-00000004").ПолучитьОбъект();
    мНовыйРеквизит = мНоменклатура.ДополнительныеРеквизиты.Добавить();
    мНовыйРеквизит.Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Мой дополнительный реквизит");
    мНовыйРеквизит.Значение = 65;
    мНоменклатура.Записать();
    
    У Вас нет добавления строки в табличную часть.
  10. TopicStarter Overlay
    Nik02071
    Offline

    Nik02071 Опытный в 1С

    Регистрация:
    12 ноя 2008
    Сообщения:
    347
    Симпатии:
    1
    Баллы:
    29
    Все спасибо! получилось

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