8.х Как присвоить значение если несколько типов

Тема в разделе "Установка платформы "1С:Предприятие 8"", создана пользователем AlenkaInt, 15 май 2014.

  1. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    Здравствуйте. Как присвоить значение реквизиту у которого несколько типов СправочникСсылка.Склады, ДокументСсылка.ЭлектронноеПисьмо, СправочникСсылка.Организации и т.д. Как мне присвоить ему значение СправочникСсылка.Номенклатура?
    У меня такой код
    Код:
    НовыйФайл                     = Справочники.Хранилище.СоздатьЭлемент();
                НовыйФайл.Объект              = Стр.Ссылка;   
                НовыйФайл.ВидДанных           = Перечисления.ВидыДополнительнойИнформацииОбъектов.Файл;
                НовыйФайл.Наименование        = Стр.Наименование;
    
    
    Вот на строчке НовыйФайл.Объект = Стр.Ссылка; у меня затык... Элемент он записывает, но в списке его нет, потому что объект не записывается.
  2. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    А что за Объект и что такое Стр.Ссылка ?
  3. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    Объект это реквизит справочника, со множеством типов. А Стр.Ссылка это ссылка на номенклатуру.
    --- Объединение сообщений, 15 май 2014 ---
    Элемент записывается, но в поле Объект - пусто, я сначало выбираю там Номенклатура, а потом уже нужную номенклатурную позицию..
    И еще как то странно. Я когда в отладчике смотрю тип НовыйФайл.Объект - Неопределено..
    Последнее редактирование: 15 май 2014
  4. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Ну составной тип так и должен определяться. Со свойствами реквизита Объект нужно играться, сейчас уже не помню что именно.
  5. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    Сделала так.
    Код:
    ОбъектЗаписи = Неопределено;
        Если НЕ ОбязательныеОтборы.Свойство("Объект", ОбъектЗаписи) Тогда
            ОбъектЗаписи = Этаформа.ВладелецФормы.Ссылка;
        КонецЕсли;
        СписокФайлов = Форма.ЭлементыФормы.СправочникСписок.ВыделенныеСтроки;
        Для Каждого Стр ИЗ СписокФайлов Цикл   
               НовыйФайл                     = Справочники.ХранилищеДополнительнойИнформации.СоздатьЭлемент();   
                ТекущийФайл                   = Новый Файл(Стр.ИмяФайла);
                НовыйФайл.Объект              = ОбъектЗаписи;
                            НовыйФайл.Наименование        = Стр.Наименование;
                НовыйФайл.Наименование        = Стр.Наименование;
                НовыйФайл.Записать();           
        КонеЦЦикла;
    
    Так работает.

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